diff options
Diffstat (limited to 'sdl2')
-rw-r--r-- | sdl2/bindings.scm | 3 | ||||
-rw-r--r-- | sdl2/render.scm | 6 |
2 files changed, 9 insertions, 0 deletions
diff --git a/sdl2/bindings.scm b/sdl2/bindings.scm index 8d85c63..7f12b45 100644 --- a/sdl2/bindings.scm +++ b/sdl2/bindings.scm @@ -321,6 +321,9 @@ RETURN-TYPE and accept arguments of ARG-TYPES." (define-foreign sdl-get-texture-alpha-mod int "SDL_GetTextureAlphaMod" '(* *)) +(define-foreign sdl-set-texture-blend-mode + int "SDL_SetTextureBlendMode" (list '* int)) + (define-foreign sdl-set-render-draw-blend-mode int "SDL_SetRenderDrawBlendMode" (list '* int)) diff --git a/sdl2/render.scm b/sdl2/render.scm index e12fad1..5c3b9b0 100644 --- a/sdl2/render.scm +++ b/sdl2/render.scm @@ -403,6 +403,12 @@ TEXTURE." (bytevector-uint-ref bv (* 2 (sizeof int)) (native-endianness) (sizeof int)) (bytevector-uint-ref bv (* 3 (sizeof int)) (native-endianness) (sizeof int))))) +(define (set-texture-blend-mode! texture blend-mode) + (unless (zero? (ffi:sdl-set-texture-blend-mode + (unwrap-texture texture) + ((@@ (sdl2 blend-mode) blend-mode-bitmask) blend-mode))) + (sdl-error "set-texure-blend-mode!" "Failed to set texture blend mode"))) + (define (set-texture-color-mod! texture r g b) "Get color mod of TEXTURE as a list of the integers." (unless (zero? (ffi:sdl-set-texture-color-mod (unwrap-texture texture) r g b)) |