X-Git-Url: https://git.jsancho.org/?a=blobdiff_plain;f=src%2Fevents.scm;h=716425b5de8b805e3d56f64a3234d6d0153ae9b7;hb=efd2c5b0434a5ca6aafa8a44e31618aa21953676;hp=fb21d88f85985d3d911a30cfb33a70ad48a15c86;hpb=62f29c535971a4af5c4a957444a53eb6007b32e3;p=gacela.git diff --git a/src/events.scm b/src/events.scm index fb21d88..716425b 100644 --- a/src/events.scm +++ b/src/events.scm @@ -49,10 +49,13 @@ (define (process-screen-events events) (set! quit-signal #f) + (process-screen-events-recursive events)) + +(define (process-screen-events-recursive events) (cond ((not (null? events)) (let ((event (car events))) (cond ((= (assoc-ref event 'type) SDL_QUIT) (set! quit-signal #t)))) - (process-screen-events (cdr events))))) + (process-screen-events-recursive (cdr events))))) (define (quit-signal?) quit-signal) @@ -66,11 +69,14 @@ (define (process-keyboard-events events) (clear-key-state) + (process-keyboard-events-recursive events)) + +(define (process-keyboard-events-recursive events) (cond ((not (null? events)) (let ((event (car events))) (cond ((= (assoc-ref event 'type) SDL_KEYDOWN) (key-press (assoc-ref event 'key.keysym.sym))) ((= (assoc-ref event 'type) SDL_KEYUP) (key-release (assoc-ref event 'key.keysym.sym))))) - (process-keyboard-events (cdr events))))) + (process-keyboard-events-recursive (cdr events))))) (define (key? key) (hash-ref keymap (get-keycode key)))