## GLFW [GLFW](http://www.glfw.org/) bindings for Chicken Scheme. Note that this extension applies to Version 2 of the GLFW library. For an interface to GLFW Version 3, see the [glfw3][] egg. ### Installation $ git clone git://bitbucket.org/evhan/glfw.git $ cd glfw $ chicken-install ### 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 * [glfw3][] [glfw3]: http://wiki.call-cc.org/egg/glfw3 ### Author Evan Hanson 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. [bind egg]: http://wiki.call-cc.org/egg/bind/ ### License Public Domain