From 478e55faba6f626d5c4a9df4c509f18b222b65c1 Mon Sep 17 00:00:00 2001 From: Bill Robinson Date: Wed, 5 Jan 2011 23:52:04 +0000 Subject: [PATCH] Updated for GLFW 2.7 --- lib/glfw-package.lisp | 42 +++++++++++++++++++++--------------------- lib/glfw.lisp | 20 ++++++++++++++++++-- 2 files changed, 39 insertions(+), 23 deletions(-) rewrite lib/glfw-package.lisp (72%) diff --git a/lib/glfw-package.lisp b/lib/glfw-package.lisp dissimilarity index 72% index fb70b56..ce0748e 100644 --- a/lib/glfw-package.lisp +++ b/lib/glfw-package.lisp @@ -1,21 +1,21 @@ -(defpackage #:cl-glfw - (:nicknames #:glfw) - (:use #:cl #:cffi #:cl-glfw-types) - (:shadowing-import-from #:cl-glfw-types #:boolean #:byte #:float #:char #:string) - (:shadow #:sleep #:+red-bits+ #:+green-bits+ #:+blue-bits+ - #:+alpha-bits+ #:+stencil-bits+ #:+depth-bits+ - #:+accum-red-bits+ #:+accum-green-bits+ #:+accum-blue-bits+ - #:+accum-alpha-bits+ #:+aux-buffers+ #:+stereo+ - #:cond - #:enable #:disable) - (:export *mouse-wheel-cumulative* *terminate-hooks* *init-hooks* #:+accelerated+ #:+accum-alpha-bits+ #:+accum-blue-bits+ #:+accum-green-bits+ #:+accum-red-bits+ #:+active+ #:+alpha-bits+ #:+alpha-map-bit+ #:+auto-poll-events+ #:+aux-buffers+ #:+axes+ #:+blue-bits+ #:+build-mipmaps-bit+ #:+buttons+ #:+depth-bits+ #:+false+ #:+fsaa-samples+ #:+fullscreen+ #:+green-bits+ #:+iconified+ #:+infinity+ #:+joystick-1+ #:+joystick-10+ #:+joystick-11+ #:+joystick-12+ #:+joystick-13+ #:+joystick-14+ #:+joystick-15+ #:+joystick-16+ #:+joystick-2+ #:+joystick-3+ #:+joystick-4+ #:+joystick-5+ #:+joystick-6+ #:+joystick-7+ #:+joystick-8+ #:+joystick-9+ #:+joystick-last+ #:+key-backspace+ #:+key-del+ #:+key-down+ #:+key-end+ #:+key-enter+ #:+key-esc+ #:+key-f1+ #:+key-f10+ #:+key-f11+ #:+key-f12+ #:+key-f13+ #:+key-f14+ #:+key-f15+ #:+key-f16+ #:+key-f17+ #:+key-f18+ #:+key-f19+ #:+key-f2+ #:+key-f20+ #:+key-f21+ #:+key-f22+ #:+key-f23+ #:+key-f24+ #:+key-f25+ #:+key-f3+ #:+key-f4+ #:+key-f5+ #:+key-f6+ #:+key-f7+ #:+key-f8+ #:+key-f9+ #:+key-home+ #:+key-insert+ #:+key-kp-0+ #:+key-kp-1+ #:+key-kp-2+ #:+key-kp-3+ #:+key-kp-4+ #:+key-kp-5+ #:+key-kp-6+ #:+key-kp-7+ #:+key-kp-8+ #:+key-kp-9+ #:+key-kp-add+ #:+key-kp-decimal+ #:+key-kp-divide+ #:+key-kp-enter+ #:+key-kp-equal+ #:+key-kp-multiply+ #:+key-kp-subtract+ #:+key-lalt+ #:+key-last+ #:+key-lctrl+ #:+key-left+ #:+key-lshift+ #:+key-pagedown+ #:+key-pageup+ #:+key-ralt+ #:+key-rctrl+ #:+key-repeat+ #:+key-right+ #:+key-rshift+ #:+key-space+ #:+key-special+ #:+key-tab+ #:+key-unknown+ #:+key-up+ #:lispify-key #:lispify-mouse-button #:+mouse-button-1+ #:+mouse-button-2+ #:+mouse-button-3+ #:+mouse-button-4+ #:+mouse-button-5+ #:+mouse-button-6+ #:+mouse-button-7+ #:+mouse-button-8+ #:+mouse-button-last+ #:+mouse-button-left+ #:+mouse-button-middle+ #:+mouse-button-right+ #:+mouse-cursor+ #:+no-rescale-bit+ #:+nowait+ #:+opened+ #:+origin-ul-bit+ #:+present+ #:+press+ #:+red-bits+ #:+refresh-rate+ #:+release+ #:+stencil-bits+ #:+stereo+ #:+sticky-keys+ #:+sticky-mouse-buttons+ #:+system-keys+ #:+true+ #:+wait+ #:+window+ #:+window-no-resize+ #:boolean #:broadcast-cond #:close-window #:create-cond #:create-mutex #:create-thread #:defcfun+doc #:defcfun+out+doc #:destroy-cond #:destroy-mutex #:destroy-thread #:disable #:do-window #:enable #:extension-supported #:free-image #:get-desktop-mode #:get-gl-version #:get-joystick-buttons #:get-joystick-param #:get-joystick-pos #:get-key #:get-mouse-button #:get-mouse-pos #:get-mouse-wheel #:get-number-of-processors #:get-proc-address #:get-thread-id #:get-time #:get-version #:get-video-modes #:get-window-param #:get-window-size #:iconify-window #:init #:load-memory-texture-2d #:load-texture-2d #:load-texture-image-2d #:lock-mutex #:open-window #:open-window-hint #:poll-events #:read-image #:read-memory-image #:restore-window #:set-char-callback #:set-key-callback #:set-mouse-button-callback #:set-mouse-pos #:set-mouse-pos-callback #:set-mouse-wheel #:set-mouse-wheel-callback #:set-time #:set-window-close-callback #:set-window-pos #:set-window-refresh-callback #:set-window-size #:set-window-size-callback #:set-window-title #:signal-cond #:sleep #:swap-buffers #:swap-interval #:terminate #:unlock-mutex #:wait-cond #:wait-events #:wait-thread #:with-init #:with-init-window #:with-lock-mutex #:with-open-window)) - -#| exports generated by this, after the package is loaded: -(format t "~{#:~a~^ ~}" - (sort (mapcar #'(lambda (s) (string-downcase (format nil "~a" s))) - (remove-if-not #'(lambda (s) - (and (eql (symbol-package s) (find-package '#:glfw)) - (or (constantp s) (fboundp s) (macro-function s)))) - (loop for s being each symbol in '#:glfw collecting s))) - #'string<)) -|# +(defpackage #:cl-glfw + (:nicknames #:glfw) + (:use #:cl #:cffi #:cl-glfw-types) + (:shadowing-import-from #:cl-glfw-types #:boolean #:byte #:float #:char #:string) + (:shadow #:sleep #:+red-bits+ #:+green-bits+ #:+blue-bits+ + #:+alpha-bits+ #:+stencil-bits+ #:+depth-bits+ + #:+accum-red-bits+ #:+accum-green-bits+ #:+accum-blue-bits+ + #:+accum-alpha-bits+ #:+aux-buffers+ #:+stereo+ + #:cond + #:enable #:disable) + (:export *mouse-wheel-cumulative* *terminate-hooks* *init-hooks* #:+accelerated+ #:+accum-alpha-bits+ #:+accum-blue-bits+ #:+accum-green-bits+ #:+accum-red-bits+ #:+active+ #:+alpha-bits+ #:+alpha-map-bit+ #:+auto-poll-events+ #:+aux-buffers+ #:+axes+ #:+blue-bits+ #:+build-mipmaps-bit+ #:+buttons+ #:+depth-bits+ #:+false+ #:+fsaa-samples+ #:+opengl-version-major+ #:+opengl-version-minor+ #:+opengl-forward-compat+ #:+opengl-debug-context+ #:+opengl-profile+ #:+fullscreen+ #:+green-bits+ #:+iconified+ #:+infinity+ #:+joystick-1+ #:+joystick-10+ #:+joystick-11+ #:+joystick-12+ #:+joystick-13+ #:+joystick-14+ #:+joystick-15+ #:+joystick-16+ #:+joystick-2+ #:+joystick-3+ #:+joystick-4+ #:+joystick-5+ #:+joystick-6+ #:+joystick-7+ #:+joystick-8+ #:+joystick-9+ #:+joystick-last+ #:+key-backspace+ #:+key-del+ #:+key-down+ #:+key-end+ #:+key-enter+ #:+key-esc+ #:+key-f1+ #:+key-f10+ #:+key-f11+ #:+key-f12+ #:+key-f13+ #:+key-f14+ #:+key-f15+ #:+key-f16+ #:+key-f17+ #:+key-f18+ #:+key-f19+ #:+key-f2+ #:+key-f20+ #:+key-f21+ #:+key-f22+ #:+key-f23+ #:+key-f24+ #:+key-f25+ #:+key-f3+ #:+key-f4+ #:+key-f5+ #:+key-f6+ #:+key-f7+ #:+key-f8+ #:+key-f9+ #:+key-home+ #:+key-insert+ #:+key-kp-0+ #:+key-kp-1+ #:+key-kp-2+ #:+key-kp-3+ #:+key-kp-4+ #:+key-kp-5+ #:+key-kp-6+ #:+key-kp-7+ #:+key-kp-8+ #:+key-kp-9+ #:+key-kp-add+ #:+key-kp-decimal+ #:+key-kp-divide+ #:+key-kp-enter+ #:+key-kp-equal+ #:+key-kp-multiply+ #:+key-kp-subtract+ #:+key-lalt+ #:+key-last+ #:+key-lctrl+ #:+key-left+ #:+key-lshift+ #:+key-pagedown+ #:+key-pageup+ #:+key-ralt+ #:+key-rctrl+ #:+key-repeat+ #:+key-right+ #:+key-rshift+ #:+key-space+ #:+key-special+ #:+key-tab+ #:+key-unknown+ #:+key-up+ #:+key-kp-num-lock+ #:+key-caps-lock+ #:+key-scroll-lock+ #:+key-pause+ #:+key-lsuper+ #:+key-rsuper+ #:+key-menu+ #:lispify-key #:lispify-mouse-button #:+mouse-button-1+ #:+mouse-button-2+ #:+mouse-button-3+ #:+mouse-button-4+ #:+mouse-button-5+ #:+mouse-button-6+ #:+mouse-button-7+ #:+mouse-button-8+ #:+mouse-button-last+ #:+mouse-button-left+ #:+mouse-button-middle+ #:+mouse-button-right+ #:+mouse-cursor+ #:+no-rescale-bit+ #:+nowait+ #:+opened+ #:+origin-ul-bit+ #:+present+ #:+press+ #:+red-bits+ #:+refresh-rate+ #:+release+ #:+stencil-bits+ #:+stereo+ #:+sticky-keys+ #:+sticky-mouse-buttons+ #:+system-keys+ #:+true+ #:+wait+ #:+window+ #:+window-no-resize+ #:boolean #:broadcast-cond #:close-window #:create-cond #:create-mutex #:create-thread #:defcfun+doc #:defcfun+out+doc #:destroy-cond #:destroy-mutex #:destroy-thread #:disable #:do-window #:enable #:extension-supported #:free-image #:get-desktop-mode #:get-gl-version #:get-joystick-buttons #:get-joystick-param #:get-joystick-pos #:get-key #:get-mouse-button #:get-mouse-pos #:get-mouse-wheel #:get-number-of-processors #:get-proc-address #:get-thread-id #:get-time #:get-version #:get-video-modes #:get-window-param #:get-window-size #:iconify-window #:init #:load-memory-texture-2d #:load-texture-2d #:load-texture-image-2d #:lock-mutex #:open-window #:open-window-hint #:poll-events #:read-image #:read-memory-image #:restore-window #:set-char-callback #:set-key-callback #:set-mouse-button-callback #:set-mouse-pos #:set-mouse-pos-callback #:set-mouse-wheel #:set-mouse-wheel-callback #:set-time #:set-window-close-callback #:set-window-pos #:set-window-refresh-callback #:set-window-size #:set-window-size-callback #:set-window-title #:signal-cond #:sleep #:swap-buffers #:swap-interval #:terminate #:unlock-mutex #:wait-cond #:wait-events #:wait-thread #:with-init #:with-init-window #:with-lock-mutex #:with-open-window)) + +#| exports generated by this, after the package is loaded: +(format t "~{#:~a~^ ~}" + (sort (mapcar #'(lambda (s) (string-downcase (format nil "~a" s))) + (remove-if-not #'(lambda (s) + (and (eql (symbol-package s) (find-package '#:glfw)) + (or (constantp s) (fboundp s) (macro-function s)))) + (loop for s being each symbol in '#:glfw collecting s))) + #'string<)) +|# diff --git a/lib/glfw.lisp b/lib/glfw.lisp index da5eb35..8f96138 100644 --- a/lib/glfw.lisp +++ b/lib/glfw.lisp @@ -77,7 +77,14 @@ (defconstant +key-kp-decimal+ (+ +key-special+ 60)) (defconstant +key-kp-equal+ (+ +key-special+ 61)) (defconstant +key-kp-enter+ (+ +key-special+ 62)) - (defconstant +key-last+ +key-kp-enter+) + (defconstant +key-kp-num-lock+ (+ +key-special+ 63)) + (defconstant +key-caps-lock+ (+ +key-special+ 64)) + (defconstant +key-scroll-lock+ (+ +key-special+ 65)) + (defconstant +key-pause+ (+ +key-special+ 66)) + (defconstant +key-lsuper+ (+ +key-special+ 67)) + (defconstant +key-rsuper+ (+ +key-special+ 68)) + (defconstant +key-menu+ (+ +key-special+ 69)) + (defconstant +key-last+ +key-menu+) ;; Mouse button definitions (defconstant +mouse-button-1+ 0) @@ -146,6 +153,14 @@ (defconstant +stereo+ #x00020011) (defconstant +window-no-resize+ #x00020012) (defconstant +fsaa-samples+ #x00020013) + (defconstant +opengl-version-major+ #x00020014) + (defconstant +opengl-version-minor+ #x00020015) + (defconstant +opengl-forward-compat+ #x00020016) + (defconstant +opengl-debug-context+ #x00020017) + (defconstant +opengl-profile+ #x00020018) + + (defconstant +opengl-core-profile+ #x00050001) + (defconstant +opengl-compat-profile+ #x00050002) ;; glfwEnable/glfwDisable tokens (defconstant +mouse-cursor+ #x00030001) @@ -668,7 +683,8 @@ assumptions about when or why glfw::WaitEvents will return. "kp-4" "kp-5" "kp-6" "kp-7" "kp-8" "kp-9" "kp-add" "kp-decimal" "kp-divide" "kp-enter" "kp-equal" "kp-multiply" "kp-subtract" "lalt" "lctrl" "left" "lshift" "pagedown" "pageup" "ralt" "rctrl" "right" "rshift" - "special" "tab" "unknown" "up") + "special" "tab" "unknown" "up" + "kp-num-lock" "caps-lock" "scroll-lock" "pause" "lsuper" "rsuper" "menu") collect `(,(symbol-value (find-symbol (string-upcase (format nil "+key-~a+" special-key)) (find-package '#:glfw))) ,(intern (string-upcase special-key) (find-package '#:keyword)))) -- 2.11.4.GIT