diff options
-rw-r--r-- | doc/api.texi | 4 | ||||
-rw-r--r-- | sdl2/bindings.scm | 3 | ||||
-rw-r--r-- | sdl2/render.scm | 4 |
3 files changed, 11 insertions, 0 deletions
diff --git a/doc/api.texi b/doc/api.texi index 00fe3a8..0a154ae 100644 --- a/doc/api.texi +++ b/doc/api.texi @@ -1070,6 +1070,10 @@ of @var{renderer}. Convert @var{surface} to a texture suitable for @var{renderer}. @end deffn +@deffn {Procedure} delete-texture! texture +Free the memory used by @var{texture}. +@end deffn + @node Images @section Images diff --git a/sdl2/bindings.scm b/sdl2/bindings.scm index e81abf7..c382a45 100644 --- a/sdl2/bindings.scm +++ b/sdl2/bindings.scm @@ -243,6 +243,9 @@ RETURN-TYPE and accept arguments of ARG-TYPES." (define-foreign sdl-create-texture-from-surface '* "SDL_CreateTextureFromSurface" '(* *)) +(define-foreign sdl-destroy-texture + void "SDL_DestroyTexture" '(*)) + (define-foreign sdl-set-render-draw-color int "SDL_SetRenderDrawColor" (list '* uint8 uint8 uint8 uint8)) diff --git a/sdl2/render.scm b/sdl2/render.scm index 9e4bf57..187c650 100644 --- a/sdl2/render.scm +++ b/sdl2/render.scm @@ -41,6 +41,7 @@ render-draw-line render-draw-point + destroy-texture! surface->texture)) @@ -138,6 +139,9 @@ color." (sdl-error "surface->texture" "failed to convert surface to texture") (wrap-texture ptr)))) +(define (delete-texture! texture) + "Free the memory used by TEXTURE." + (ffi:sdl-destroy-texture (unwrap-texture texture))) (define* (render-copy renderer texture #:key (angle 0) srcrect dstrect center) |