Skip to content

Commit

Permalink
Merge remote-tracking branch 'mtstickney/ffi_definitions'
Browse files Browse the repository at this point in the history
  • Loading branch information
Ramarren committed Feb 4, 2013
2 parents 976b34d + 4d305f6 commit ef7ec06
Showing 1 changed file with 29 additions and 18 deletions.
47 changes: 29 additions & 18 deletions gtk-ffi/gtk-gl-ext.lisp
Expand Up @@ -20,10 +20,19 @@ This is taken from
(cffi:define-foreign-library libgtkglext (cffi:define-foreign-library libgtkglext
(:darwin "libgtkglext-x11-1.0.dylib") (:darwin "libgtkglext-x11-1.0.dylib")
(:unix (:or "libgtkglext-x11-1.0.so" "libgtkglext-x11-1.0.so.0")) (:unix (:or "libgtkglext-x11-1.0.so" "libgtkglext-x11-1.0.so.0"))
(:windows "libgtkglext-win32-1.0-0.dll")
(t (:default "libgtkglext"))) (t (:default "libgtkglext")))


(cffi:use-foreign-library libgtkglext) (cffi:use-foreign-library libgtkglext)


(cffi:define-foreign-library libgdkglext
(:darwin "libgdkglext-x11-1.0.dylib")
(:unix (:or "libgdkglext-x11-1.0.so" "libgdkglext-x11-1.0.so.0"))
(:windows "libgdkglext-win32-1.0-0.dll")
(t (:default "libgdkglext")))

(cffi:use-foreign-library libgdkglext)

(cffi:defbitfield gdk-gl-config-mode (cffi:defbitfield gdk-gl-config-mode
(:gdk-gl-mode-rgba 0) (:gdk-gl-mode-rgba 0)
:gdk-gl-mode-index :gdk-gl-mode-index
Expand All @@ -37,26 +46,14 @@ This is taken from


(cffi:defcenum gdk-gl-render-type (cffi:defcenum gdk-gl-render-type
(:gdk-gl-rgba-type #x8014) (:gdk-gl-rgba-type #x8014)
(:gdk-gl-color-index-type #x8015)) (:gdk-gl-color-index-type #x8015))


(def-gtk-lib-functions :gtkglext (def-gtk-lib-functions :gdkglext
(gtk-gl-init :void
((argc :pointer)
(argv :pointer)))
(gtk-gl-init-check gboolean
((argc :pointer)
(argv :pointer)))
(gdk-gl-config-new-by-mode :pointer (gdk-gl-config-new-by-mode :pointer
((mode gdk-gl-config-mode))) ((mode gdk-gl-config-mode)))
(gdk-gl-config-new-by-mode-for-screen :pointer (gdk-gl-config-new-by-mode-for-screen :pointer
((screen :pointer) ((screen :pointer)
(mode gdk-gl-config-mode))) (mode gdk-gl-config-mode)))
(gtk-widget-set-gl-capability gboolean
((widget :pointer)
(glconfig :pointer)
(share-list :pointer)
(direct gboolean)
(render-type gdk-gl-render-type)))
(gdk-gl-config-is-rgba gboolean (gdk-gl-config-is-rgba gboolean
((glconfig :pointer))) ((glconfig :pointer)))
(gdk-gl-config-is-double-buffered gboolean (gdk-gl-config-is-double-buffered gboolean
Expand All @@ -75,10 +72,6 @@ This is taken from
(attrib-list :pointer))) (attrib-list :pointer)))
(gdk-gl-window-destroy :void (gdk-gl-window-destroy :void
((window :pointer))) ((window :pointer)))
(gtk-widget-get-gl-context :pointer
((widget :pointer)))
(gtk-widget-get-gl-window :pointer
((widget :pointer)))
(gdk-gl-drawable-gl-begin gboolean (gdk-gl-drawable-gl-begin gboolean
((gldrawable :pointer) ((gldrawable :pointer)
(glcontext :pointer))) (glcontext :pointer)))
Expand All @@ -89,6 +82,24 @@ This is taken from
(gdk-gl-drawable-swap-buffers :void (gdk-gl-drawable-swap-buffers :void
((gldrawable :pointer)))) ((gldrawable :pointer))))


(def-gtk-lib-functions :gtkglext
(gtk-gl-init :void
((argc :pointer)
(argv :pointer)))
(gtk-gl-init-check gboolean
((argc :pointer)
(argv :pointer)))
(gtk-widget-set-gl-capability gboolean
((widget :pointer)
(glconfig :pointer)
(share-list :pointer)
(direct gboolean)
(render-type gdk-gl-render-type)))
(gtk-widget-get-gl-context :pointer
((widget :pointer)))
(gtk-widget-get-gl-window :pointer
((widget :pointer))))

(defmacro with-gl-drawable (widget &rest body) (defmacro with-gl-drawable (widget &rest body)
(let ((context (gensym)) (drawable (gensym))) (let ((context (gensym)) (drawable (gensym)))
`(let ((,context (gtk-widget-get-gl-context ,widget)) `(let ((,context (gtk-widget-get-gl-context ,widget))
Expand Down

0 comments on commit ef7ec06

Please sign in to comment.