summaryrefslogtreecommitdiff
path: root/sdl2/render.scm
diff options
context:
space:
mode:
Diffstat (limited to 'sdl2/render.scm')
-rw-r--r--sdl2/render.scm11
1 files changed, 7 insertions, 4 deletions
diff --git a/sdl2/render.scm b/sdl2/render.scm
index 8c34d60..5b27990 100644
--- a/sdl2/render.scm
+++ b/sdl2/render.scm
@@ -122,12 +122,15 @@ color."
(sdl-error "surface->texture" "failed to convert surface to texture")
(wrap-texture ptr))))
-;; TODO: Add srcrect and dstrect.
-(define (render-copy renderer texture)
+(define (render-copy renderer texture srcrect dstrect)
"Copy TEXTURE to the rendering target of RENDERER."
(let ((result (ffi:sdl-render-copy (unwrap-renderer renderer)
(unwrap-texture texture)
- %null-pointer
- %null-pointer)))
+ (if (nil? srcrect)
+ %null-pointer
+ (make-c-struct ffi:sdl-rect srcrect))
+ (if (nil? dstrect)
+ %null-pointer
+ (make-c-struct ffi:sdl-rect dstrect)))))
(unless (zero? result)
(sdl-error "render-copy" "failed to copy texture"))))