mplisp

miniPicoLisp with FFI and modules for Buddy BDD library, OpenGL, Gtk and GMP
git clone https://logand.com/git/mplisp.git/
Log | Files | Refs

gl.ffi (1859B)


      1 # -*- picolisp -*-
      2 
      3 (load "@src/mod/ffi.l")
      4 
      5 (module 'gl '((X) (pack "gl:" (cddr (chop X)))))
      6 
      7 (if (= *OS "Darwin")
      8     (include "GLUT/glut.h" "OpenGL/glu.h" "OpenGL/gl.h")
      9     (include "GL/glut.h" "GL/glu.h" "GL/gl.h"))
     10 
     11 (put 'cwrap 'GLenum (get 'cwrap 'int))
     12 (put 'cwrap 'GLbitfield (get 'cwrap 'int))
     13 
     14 (put 'cbody 'GLenum (get 'cbody 'int))
     15 (put 'cbody 'GLbitfield (get 'cbody 'int))
     16 
     17 #(cscale 10000)
     18 
     19 (cfun void glBegin (GLenum mode))
     20 (cfun void glBlendFunc (GLenum sfactor) (GLenum dfactor))
     21 (cfun void glClear GLbitfield)
     22 (cfun void glClearColor (double red) (double green) (double blue) (double alpha))
     23 (cfun void glClearDepth (double depth))
     24 (cfun void glColor3f (double red) (double green) (double blue))
     25 (cfun void glColor4f (double red) (double green) (double blue) (double alpha))
     26 (cfun void glColorMaterial (GLenum face) (GLenum mode))
     27 (cfun void glDepthFunc GLenum)
     28 (cfun void glDisable GLenum)
     29 (cfun void glEnable GLenum)
     30 (cfun void glEnd)
     31 (cfun void glFlush)
     32 (cfun void glHint (GLenum target) (GLenum mode))
     33 (cfun void glLineWidth double)
     34 (cfun void glLoadIdentity)
     35 (cfun void glMatrixMode GLenum)
     36 (cfun void glNormal3f (double x) (double y) (double z))
     37 (cfun void glOrtho (double left) (double right) (double bottom) (double top) (double near) (double far))
     38 (cfun void glPixelZoom (double xfactor) (double yfactor))
     39 (cfun void glPopMatrix)
     40 (cfun void glPushMatrix)
     41 (cfun void glRasterPos2f (double x) (double y))
     42 (cfun void glRasterPos3f (double x) (double y) (double z))
     43 (cfun void glRotatef (double angle) (double x) (double y) (double z))
     44 (cfun void glScalef (double x) (double y) (double z))
     45 (cfun void glShadeModel GLenum)
     46 (cfun void glTranslatef (double x) (double y) (double z))
     47 (cfun void glVertex2f (double x) (double y))
     48 (cfun void glVertex3f (double x) (double y) (double z))
     49 (cfun void glViewport (int x) (int y) (int w) (int h))