;; this file: ;; https://dataswamp.org/~incal/common-lisp/general-base/gb-2d.lisp (defun gb-2d-demo () (sdl2:with-init (:everything) (sdl2:with-window (win :title "General Base 2D demo" :flags '(:shown :opengl)) (sdl2:with-gl-context (gl-context win) (init-gl gl-context win) (let ((draw t) (plen 0) ) (sdl2:with-event-loop (:method :poll) (:keydown (:keysym ks) (let ((scv (sdl2:scancode-value ks)) (symv (sdl2:sym-value ks)) (modv (sdl2:mod-value ks)) ) (cond ;; [P] draw ((sdl2:scancode= scv :scancode-p) (setf draw (not draw))) ;; [Q] quit ((sdl2:scancode= scv :scancode-q) (sdl2:push-event :quit)) ) (format t "key: ~a ~a ~a~%" scv symv modv) )) (:idle () (when draw (gl:clear :color-buffer :depth-buffer) (gl:flush) (sdl2:gl-swap-window win) (sdl2:delay plen) )) (:quit () t) ))))))