diff options
Diffstat (limited to '2d/event.scm')
-rw-r--r-- | 2d/event.scm | 45 |
1 files changed, 0 insertions, 45 deletions
diff --git a/2d/event.scm b/2d/event.scm deleted file mode 100644 index 7badf72..0000000 --- a/2d/event.scm +++ /dev/null @@ -1,45 +0,0 @@ -;;; guile-2d -;;; Copyright (C) 2013, 2014 David Thompson <dthompson2@worcester.edu> -;;; -;;; This program is free software: you can redistribute it and/or -;;; modify it under the terms of the GNU General Public License as -;;; published by the Free Software Foundation, either version 3 of the -;;; License, or (at your option) any later version. -;;; -;;; This program is distributed in the hope that it will be useful, -;;; but WITHOUT ANY WARRANTY; without even the implied warranty of -;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -;;; General Public License for more details. -;;; -;;; You should have received a copy of the GNU General Public License -;;; along with this program. If not, see -;;; <http://www.gnu.org/licenses/>. - -;;; Commentary: -;; -;; SDL event handlers. -;; -;;; Code: - -(define-module (2d event) - #:use-module ((sdl sdl) #:prefix SDL:) - #:export (process-events - register-event-handler)) - -(define process-events - (let ((e (SDL:make-event))) - (lambda () - "Process all events in the input event queue." - (while (SDL:poll-event e) - (handle-event e))))) - -(define event-handlers (make-hash-table)) - -(define (register-event-handler event-type proc) - (hashq-set! event-handlers event-type proc)) - -(define (handle-event e) - "Run the relevant hook for the event E." - (let ((handle (hashq-get-handle event-handlers (SDL:event:type e)))) - (when handle - ((cdr handle) e)))) |