]> git.jsancho.org Git - gacela.git/blobdiff - src/events.scm
New modules figl
[gacela.git] / src / events.scm
index dfe9e60c8afde01c0d91b272b6b4632b9ef109d4..716425b5de8b805e3d56f64a3234d6d0153ae9b7 100644 (file)
@@ -18,7 +18,7 @@
 (define-module (gacela events)
   #:use-module (gacela sdl)
   #:export (process-events
-           quit?
+           quit-signal?
            key?
            key-pressed?
            key-released?))
 
 (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?)
+(define (quit-signal?)
   quit-signal)
 
 
 
 (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)))