diff options
Diffstat (limited to 'sdl2')
-rw-r--r-- | sdl2/bindings.scm | 15 | ||||
-rw-r--r-- | sdl2/video.scm | 21 |
2 files changed, 36 insertions, 0 deletions
diff --git a/sdl2/bindings.scm b/sdl2/bindings.scm index 586011e..aea12c9 100644 --- a/sdl2/bindings.scm +++ b/sdl2/bindings.scm @@ -167,6 +167,12 @@ RETURN-TYPE and accept arguments of ARG-TYPES." (define-foreign sdl-get-window-size void "SDL_GetWindowSize" '(* * *)) +(define-foreign sdl-get-window-minimum-size + void "SDL_GetWindowMinimumSize" '(* * *)) + +(define-foreign sdl-get-window-maximum-size + void "SDL_GetWindowMaximumSize" '(* * *)) + (define-foreign sdl-get-window-position void "SDL_GetWindowPosition" '(* * *)) @@ -206,6 +212,15 @@ RETURN-TYPE and accept arguments of ARG-TYPES." (define-foreign sdl-set-window-size void "SDL_SetWindowSize" (list '* int int)) +(define-foreign sdl-set-window-minimum-size + void "SDL_SetWindowMinimumSize" (list '* int int)) + +(define-foreign sdl-set-window-maximum-size + void "SDL_SetWindowMaximumSize" (list '* int int)) + +(define-foreign sdl-set-window-resizable + void "SDL_SetWindowResizable" (list '* sdl-bool)) + (define-foreign sdl-set-window-fullscreen int "SDL_SetWindowFullscreen" (list '* uint32)) diff --git a/sdl2/video.scm b/sdl2/video.scm index 187a5bc..d26eb62 100644 --- a/sdl2/video.scm +++ b/sdl2/video.scm @@ -166,6 +166,14 @@ returns or otherwise exits." "Return the dimensions of WINDOW." (%get-coords window ffi:sdl-get-window-size)) +(define (window-minimum-size window) + "Return the minimal dimensions, that WINDOW can take." + (%get-coords window ffi:sdl-get-window-minimum-size)) + +(define (window-maximum-size window) + "Return the maximal dimensions, that WINDOW can take." + (%get-coords window ffi:sdl-get-window-maximum-size)) + (define (window-position window) "Return the position of WINDOW on the display." (%get-coords window ffi:sdl-get-window-position)) @@ -231,6 +239,19 @@ of (width,height) coordinates measured in pixels." ((width height) (ffi:sdl-set-window-size (unwrap-window window) width height)))) +(define (set-window-minimum-size! window width height) + "Set the minimum dimensions of WINDOW to WIDTH x HEIGHT pixels." + (ffi:sdl-set-window-minimum-size (unwrap-window window) width height)) + +(define (set-window-maximum-size! window width height) + "Set the maximum dimensions of WINDOW to WIDTH x HEIGHT pixels." + (ffi:sdl-set-window-maximum-size (unwrap-window window) width height)) + +(define (set-window-resizable! window resizable?) + "If RESIZABLE?, make WINDOW resizable, otherwise disable resizing for WINDOW." + (ffi:sdl-set-window-resizable (unwrap-window window) + (ffi:boolean->sdl-bool resizable?))) + (define* (set-window-fullscreen! window fullscreen? #:key desktop?) "Toggle fullscreen mode on/off for WINDOW. If FULLSCREEN?, fullscreen mode is activated, otherwise it is deactivated. If |