GLFW
GLFW bindings for Chicken Scheme.
The source for this extension is available here.
Note that this extension applies to Version 2 of the GLFW library. For an interface to GLFW Version 3, see the glfw3 egg.
API
Constant & function names & signatures match those of GLFW.
Example
(use gl glfw extras data-structures) (define *width* 640) (define *height* 480) (define *colors* '(.2 .4 .6 .8)) (define-external (window_resize (integer width) (integer height)) void (gl:Viewport 0 0 *width* *height*)) (define-external (window_charpress (char c) (integer t)) void (when (eq? c #\q) (exit))) (glfwInit) (glfwOpenWindow *width* *height* 8 8 8 8 8 8 GLFW_WINDOW) (glfwSetWindowSizeCallback (location window_resize)) (glfwSetCharCallback (location window_charpress)) (glfwSetWindowTitle "Chicken Party!") (let COLORS!!! () (apply gl:ClearColor (shuffle *colors* random)) (gl:Clear gl:COLOR_BUFFER_BIT) (glfwSwapBuffers) (glfwWaitEvents) (COLORS!!!))
See Also
Author
The heavy lifting was done by Felix Winkelman's bind egg, I just fiddled with the header file and fixed up the output a bit. Bug reports should still go to me, though.
License
Public Domain