X-Git-Url: https://git.jsancho.org/?a=blobdiff_plain;f=src%2Fevents.scm;h=716425b5de8b805e3d56f64a3234d6d0153ae9b7;hb=03d5b676fea2948543d93427aec665f2e429b6e2;hp=fb21d88f85985d3d911a30cfb33a70ad48a15c86;hpb=eba2c1bb47b19f0f5dcf96a4ee2a0544f6111d80;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)))