;; Input handling and helpers ; button values defined in Chicken SDL; one of SDL_BUTTON_LMASK, ; SDL_BUTTON_MMASK, SDL_BUTTON_RMASK or a usage of the function ; (SDL_BUTTON ) ; ; The state comes from the mouse event. (define (mousebutton-down?/state button state) (> (bitwise-and state button) 0)) (define (mousebutton-down? button) (mousebutton-down?/state (sdl-get-mouse-state 0 0) button)) (define (mouse-position) (let ((x (s32vector 0)) (y (s32vector 0))) (sdl-get-mouse-state x y) (make-point2d (s32vector-ref x 0) (s32vector-ref y 0)))) ; modifier values defined in Chicken SDL; one of KMOD_CTRL, ; KMOD_SHIFT, KMOD_ALT, KMOD_META or the more specific variants with ; 'L' or 'R' for left or right e.g., KMOD_LSHIFT. (define (modifier-down?/state modifier state) (> (bitwise-and modifier state) 0)) (define (modifier-down? modifier) (modifier-down?/state modifier (sdl-get-mod-state)))