X-Git-Url: https://git.jsancho.org/?a=blobdiff_plain;f=src%2Fgacela_events.scm;h=56099b38a240e56961ca0dbde5106e3cc8c054fe;hb=ca3edcecf937f854c1b5d9eeac566d85dc749cd0;hp=a57e9a13039617ef1347e42eb53d6157283d6233;hpb=4fa4326c57c1022891fd0a7678f139119e997116;p=gacela.git diff --git a/src/gacela_events.scm b/src/gacela_events.scm index a57e9a1..56099b3 100644 --- a/src/gacela_events.scm +++ b/src/gacela_events.scm @@ -30,22 +30,27 @@ (define (process-events) (let ((events (poll-events))) - (quit? (not (null? (get-event events `(,SDL_QUIT))))) + (quit! (not (null? (get-event events `(,SDL_QUIT))))) (clear-key-state) (process-keyboard-events (get-event events `(,SDL_KEYDOWN ,SDL_KEYUP))))) (define quit? #f) +(define quit! #f) (let ((quit #f)) (set! quit? - (lambda* (#:optional (value '())) - (if (null? value) quit (set! quit value))))) + (lambda () + quit)) + + (set! quit! + (lambda (value) + (set! quit value)))) (define (process-keyboard-events 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))))) + ((= (assoc-ref event 'type) SDL_KEYUP) (key-release (assoc-ref event 'key.keysym.sym))))) (process-keyboard-events (cdr events))))) (define key? #f)