;;; GL ;;; ;;; Copyright (C) 2004 Philippe Brochard (hocwp@free.fr) ;;; ;;; #date#: Tue Feb 1 20:18:25 2005 ;;; ;;; The authors grant you the rights to distribute ;;; and use this software as governed by the terms ;;; of the Lisp Lesser GNU Public License ;;; (http://opensource.franz.com/preamble.html), ;;; known as the LLGPL. (in-package :GL) (export '(__FREEGLUT_EXT_H__ GLUT_ACTION_EXIT GLUT_ACTION_GLUTMAINLOOP_RETURNS GLUT_ACTION_CONTINUE_EXECUTION GLUT_CREATE_NEW_CONTEXT GLUT_USE_CURRENT_CONTEXT GLUT_ACTION_ON_WINDOW_CLOSE GLUT_WINDOW_BORDER_WIDTH GLUT_WINDOW_HEADER_HEIGHT GLUT_VERSION GLUT_RENDERING_CONTEXT glutMainLoopEvent glutLeaveMainLoop glutMouseWheelFunc glutCloseFunc glutWMCloseFunc glutMenuDestroyFunc glutSetOption glutGetWindowData glutSetWindowData glutGetMenuData glutSetMenuData glutBitmapHeight glutStrokeHeight glutBitmapString glutStrokeString glutWireRhombicDodecahedron glutSolidRhombicDodecahedron glutWireSierpinskiSponge glutSolidSierpinskiSponge glutWireCylinder glutSolidCylinder glutGetProcAddress GLUT_BITMAP_HELVETICA_18 GLUT_STROKE_ROMAN GLUT_STROKE_MONOROMAN GLUT_BITMAP_9BY15 GLUT_BITMAP_8BY13 GLUT_BITMAP_TIMESROMAN_10 GLUT_BITMAP_TIMESROMAN_24 GLUT_BITMAP_HELVETICA_10 GLUT_BITMAP_HELVETICA_12)) (uffi:load-foreign-library "/usr/lib/libglut.so" :module "/usr/lib/libglut.so" :supporting-libraries '("c")) (uffi:load-foreign-library "./lib/glut-c-glue.so" :module "glut-c-glue.so" :supporting-libraries '("c")) ;;; DEFINE: #ifndef __FREEGLUT_EXT_H__ ;; **IGNORED**: #ifndef __FREEGLUT_EXT_H__ ;;; DEFINE: #define __FREEGLUT_EXT_H__ (defconstant __FREEGLUT_EXT_H__ NIL) ;;; COMMENT: /* * freeglut_ext.h * * The non-GLUT-compatible extensions to the freeglut library include file * * Copyright (c) 1999-2000 Pawel W. Olszta. All Rights Reserved. * Written by Pawel W. Olszta, * Creation date: Thu Dec 2 1999 * * Permission is hereby granted, free of charge, to any person obtaining a * copy of this software and associated documentation files (the "Software"), * to deal in the Software without restriction, including without limitation * the rights to use, copy, modify, merge, publish, distribute, sublicense, * and/or sell copies of the Software, and to permit persons to whom the * Software is furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be included * in all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL * PAWEL W. OLSZTA BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ ;;; DEFINE: #ifdef __cplusplus ;; **IGNORED**: #ifdef __cplusplus ;;; CODE: "C" { ;; **IGNORED**: "C" { ;;; DEFINE: #endif ;; **IGNORED**: #endif ;;; COMMENT: /* * GLUT API Extension macro definitions -- behaviour when the user clicks on an "x" to close a window */ ;;; DEFINE: #define GLUT_ACTION_EXIT 0 (defconstant GLUT_ACTION_EXIT 0) ;;; DEFINE: #define GLUT_ACTION_GLUTMAINLOOP_RETURNS 1 (defconstant GLUT_ACTION_GLUTMAINLOOP_RETURNS 1) ;;; DEFINE: #define GLUT_ACTION_CONTINUE_EXECUTION 2 (defconstant GLUT_ACTION_CONTINUE_EXECUTION 2) ;;; COMMENT: /* * Create a new rendering context when the user opens a new window? */ ;;; DEFINE: #define GLUT_CREATE_NEW_CONTEXT 0 (defconstant GLUT_CREATE_NEW_CONTEXT 0) ;;; DEFINE: #define GLUT_USE_CURRENT_CONTEXT 1 (defconstant GLUT_USE_CURRENT_CONTEXT 1) ;;; COMMENT: /* * GLUT API Extension macro definitions -- the glutGet parameters */ ;;; DEFINE: #define GLUT_ACTION_ON_WINDOW_CLOSE 0x01F9 (defconstant GLUT_ACTION_ON_WINDOW_CLOSE #x01F9) ;;; DEFINE: #define GLUT_WINDOW_BORDER_WIDTH 0x01FA (defconstant GLUT_WINDOW_BORDER_WIDTH #x01FA) ;;; DEFINE: #define GLUT_WINDOW_HEADER_HEIGHT 0x01FB (defconstant GLUT_WINDOW_HEADER_HEIGHT #x01FB) ;;; DEFINE: #define GLUT_VERSION 0x01FC (defconstant GLUT_VERSION #x01FC) ;;; DEFINE: #define GLUT_RENDERING_CONTEXT 0x01FD (defconstant GLUT_RENDERING_CONTEXT #x01FD) ;;; COMMENT: /* * Process loop function, see freeglut_main.c */ ;;; CODE: void glutMainLoopEvent( void ); (uffi:def-function ("glutMainLoopEvent" glutMainLoopEvent) () :returning :void :module "/usr/lib/libglut.so") ;;; CODE: void glutLeaveMainLoop( void ); (uffi:def-function ("glutLeaveMainLoop" glutLeaveMainLoop) () :returning :void :module "/usr/lib/libglut.so") ;;; COMMENT: /* * Window-specific callback functions, see freeglut_callbacks.c */ ;;; CODE: void glutMouseWheelFunc( void (* callback)( int, int, int, int ) ); (uffi:def-function ("glutMouseWheelFunc" glutMouseWheelFunc) ( (callback (* (function :void :int :int :int :int)))) :returning :void :module "/usr/lib/libglut.so") ;;; CODE: void glutCloseFunc( void (* callback)( void ) ); (uffi:def-function ("glutCloseFunc" glutCloseFunc) ( (callback (* (function :void)))) :returning :void :module "/usr/lib/libglut.so") ;;; CODE: void glutWMCloseFunc( void (* callback)( void ) ); (uffi:def-function ("glutWMCloseFunc" glutWMCloseFunc) ( (callback (* (function :void)))) :returning :void :module "/usr/lib/libglut.so") ;;; COMMENT: /* A. Donev: Also a destruction callback for menus */ ;;; CODE: void glutMenuDestroyFunc( void (* callback)( void ) ); (uffi:def-function ("glutMenuDestroyFunc" glutMenuDestroyFunc) ( (callback (* (function :void)))) :returning :void :module "/usr/lib/libglut.so") ;;; COMMENT: /* * State setting and retrieval functions, see freeglut_state.c */ ;;; CODE: void glutSetOption ( GLenum option_flag, int value ) ; (uffi:def-function ("glutSetOption" glutSetOption) ( (option_flag GLenum) (value :int)) :returning :void :module "/usr/lib/libglut.so") ;;; COMMENT: /* A.Donev: User-data manipulation */ ;;; CODE: void* glutGetWindowData( void ); (uffi:def-function ("glutGetWindowData" glutGetWindowData) () :returning (* t) :module "/usr/lib/libglut.so") ;;; CODE: void glutSetWindowData(void* data); (uffi:def-function ("glutSetWindowData" glutSetWindowData) ( (data (* t))) :returning :void :module "/usr/lib/libglut.so") ;;; CODE: void* glutGetMenuData( void ); (uffi:def-function ("glutGetMenuData" glutGetMenuData) () :returning (* t) :module "/usr/lib/libglut.so") ;;; CODE: void glutSetMenuData(void* data); (uffi:def-function ("glutSetMenuData" glutSetMenuData) ( (data (* t))) :returning :void :module "/usr/lib/libglut.so") ;;; COMMENT: /* * Font stuff, see freeglut_font.c */ ;;; CODE: int glutBitmapHeight( void* font ); (uffi:def-function ("glutBitmapHeight" glutBitmapHeight) ( (font (* t))) :returning :int :module "/usr/lib/libglut.so") ;;; CODE: GLfloat glutStrokeHeight( void* font ); (uffi:def-function ("glutStrokeHeight" glutStrokeHeight) ( (font (* t))) :returning GLfloat :module "/usr/lib/libglut.so") ;;; CODE: void glutBitmapString( void* font, unsigned char *string ); (uffi:def-function ("glutBitmapString" glutBitmapString) ( (font (* t)) (string (* :unsigned-char))) :returning :void :module "/usr/lib/libglut.so") ;;; CODE: void glutStrokeString( void* font, unsigned char *string ); (uffi:def-function ("glutStrokeString" glutStrokeString) ( (font (* t)) (string (* :unsigned-char))) :returning :void :module "/usr/lib/libglut.so") ;;; COMMENT: /* * Geometry functions, see freeglut_geometry.c */ ;;; CODE: void glutWireRhombicDodecahedron( void ); (uffi:def-function ("glutWireRhombicDodecahedron" glutWireRhombicDodecahedron) () :returning :void :module "/usr/lib/libglut.so") ;;; CODE: void glutSolidRhombicDodecahedron( void ); (uffi:def-function ("glutSolidRhombicDodecahedron" glutSolidRhombicDodecahedron) () :returning :void :module "/usr/lib/libglut.so") ;;; CODE: void glutWireSierpinskiSponge ( int num_levels, GLdouble offset[3], GLdouble scale ) ; (uffi:def-function ("glutWireSierpinskiSponge" glutWireSierpinskiSponge) ( (num_levels :int) (offset[3] GLdouble) (scale GLdouble)) :returning :void :module "/usr/lib/libglut.so") ;;; CODE: void glutSolidSierpinskiSponge ( int num_levels, GLdouble offset[3], GLdouble scale ) ; (uffi:def-function ("glutSolidSierpinskiSponge" glutSolidSierpinskiSponge) ( (num_levels :int) (offset[3] GLdouble) (scale GLdouble)) :returning :void :module "/usr/lib/libglut.so") ;;; CODE: void glutWireCylinder( GLdouble radius, GLdouble height, GLint slices, GLint stacks); (uffi:def-function ("glutWireCylinder" glutWireCylinder) ( (radius GLdouble) (height GLdouble) (slices GLint) (stacks GLint)) :returning :void :module "/usr/lib/libglut.so") ;;; CODE: void glutSolidCylinder( GLdouble radius, GLdouble height, GLint slices, GLint stacks); (uffi:def-function ("glutSolidCylinder" glutSolidCylinder) ( (radius GLdouble) (height GLdouble) (slices GLint) (stacks GLint)) :returning :void :module "/usr/lib/libglut.so") ;;; COMMENT: /* * Extension functions, see freeglut_ext.c */ ;;; CODE: void * glutGetProcAddress( char *procName ); (uffi:def-function ("glutGetProcAddress" glutGetProcAddress) ( (procName :cstring)) :returning (* t) :module "/usr/lib/libglut.so") (uffi:def-function ("glutGetProcAddress" glutGetProcAddress) ( (procName :cstring)) :returning (* t) :module "/usr/lib/libglut.so") (uffi:def-foreign-var ("var_glut_bitmap_helvetica_18" GLUT_BITMAP_HELVETICA_18) :unsigned-int "glut-c-glue.so") (uffi:def-foreign-var ("var_glut_Stroke_Roman" GLUT_STROKE_ROMAN) :unsigned-int "glut-c-glue.so") (uffi:def-foreign-var ("var_glut_Stroke_Mono_Roman" GLUT_STROKE_MONOROMAN) :unsigned-int "glut-c-glue.so") (uffi:def-foreign-var ("var_glut_Bitmap_9_By_15" GLUT_BITMAP_9BY15) :unsigned-int "glut-c-glue.so") (uffi:def-foreign-var ("var_glut_Bitmap_8_By_13" GLUT_BITMAP_8BY13) :unsigned-int "glut-c-glue.so") (uffi:def-foreign-var ("var_glut_Bitmap_Times_Roman_10" GLUT_BITMAP_TIMESROMAN_10) :unsigned-int "glut-c-glue.so") (uffi:def-foreign-var ("var_glut_Bitmap_Times_Roman_24" GLUT_BITMAP_TIMESROMAN_24) :unsigned-int "glut-c-glue.so") (uffi:def-foreign-var ("var_glut_Bitmap_Helvetica_10" GLUT_BITMAP_HELVETICA_10) :unsigned-int "glut-c-glue.so") (uffi:def-foreign-var ("var_glut_Bitmap_Helvetica_12" GLUT_BITMAP_HELVETICA_12) :unsigned-int "glut-c-glue.so") ;;; DEFINE: #ifdef __cplusplus ;; **IGNORED**: #ifdef __cplusplus ;;; CODE: } ;; **IGNORED**: } ;;; DEFINE: #endif ;; **IGNORED**: #endif ;;; COMMENT: /*** END OF FILE ***/ ;;; COMMENT: /* __FREEGLUT_EXT_H__ */ ;;; DEFINE: #endif ;; **IGNORED**: #endif