Add missing GLuint GLint and GLenum type translators.
Wed Mar 10 18:16:16 CET 2010 Tobias Rautenkranz <tobias@rautenkranz.ch>
* Add missing GLuint GLint and GLenum type translators.
Fixes "GLuint conversion error" reported by Elliott Slaughter
diff -rN -u old-qt.opengl/src/qt.opengl.lisp new-qt.opengl/src/qt.opengl.lisp
--- old-qt.opengl/src/qt.opengl.lisp 2014-10-30 07:01:48.000000000 +0100
+++ new-qt.opengl/src/qt.opengl.lisp 2014-10-30 07:01:48.000000000 +0100
@@ -31,3 +31,32 @@
(*qtopengl-smoke* "qtopengl_Smoke")
(init-qtopengl-smoke "init_qtopengl_Smoke"))
+;;; OpenGL type conversion using the types as defined in:
+;;; http://www.opengl.org/registry/ABI/#2
+;;; Note: this is probably not that portable.
+
+;;; GLuint
+(defun coerce-gluint (pointer)
+ (mem-ref pointer :unsigned-int))
+
+(define-to-lisp-translation "GLuint" coerce-gluint foreign-free)
+
+(defun to-gluint (integer)
+ (make-auto-pointer (foreign-alloc :unsigned-int :initial-element integer)))
+
+(define-from-lisp-translation "GLuint" integer to-gluint)
+
+;;; GLint
+(defun coerce-glint (pointer)
+ (mem-ref pointer :int))
+
+(define-to-lisp-translation "GLint" coerce-glint foreign-free)
+
+(defun to-glint (integer)
+ (make-auto-pointer (foreign-alloc :int :initial-element integer)))
+
+(define-from-lisp-translation "GLint" integer to-glint)
+
+;;; GLenum
+; no GLenum returned, thus no to-lisp translation
+(define-from-lisp-translation "GLenum" integer to-gluint)