From 81cf639efa84a71094c7cc5b286b0b5b358e1d33 Mon Sep 17 00:00:00 2001 From: Daniel Hartwig Date: Mon, 11 Feb 2013 14:35:32 +0800 Subject: [PATCH] map GLboolean to Scheme boolean * figl/gl/types.scm (GLboolean): Convert to and from appropriate Scheme values. --- figl/gl/types.scm | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/figl/gl/types.scm b/figl/gl/types.scm index 9b5da2e..cbc7e25 100644 --- a/figl/gl/types.scm +++ b/figl/gl/types.scm @@ -86,7 +86,6 @@ (define %ptr ffi:ptrdiff_t) (define-simple-foreign-type void ffi:void) -(define-simple-foreign-type GLboolean ffi:uint8) (define-simple-foreign-type GLbyte ffi:int8) (define-simple-foreign-type GLubyte ffi:uint8) (define-simple-foreign-type GLchar ffi:int8) @@ -107,6 +106,13 @@ (define-simple-foreign-type void-* '*) (define-simple-foreign-type const-GLvoid-* '*) +(define GL_FALSE 0) +(define GL_TRUE 1) + +(define-foreign-type GLboolean ffi:uint8 + (lambda (x) (if x GL_TRUE GL_FALSE)) + (lambda (x) (eqv? x GL_TRUE))) + (define (coerce-array-pointer x) (cond ((ffi:pointer? x) -- 2.20.1