picolisp

Unnamed repository; edit this file to name it for gitweb.
git clone https://logand.com/git/picolisp.git/
Log | Files | Refs | README | LICENSE

commit 3bd2f9ee3ac8e4bc0e78d8d6b799fca1c659414a
parent bcd614cc0cc59bc96709f360bd815e2e18b38ed5
Author: Commit-Bot <unknown>
Date:   Thu, 29 Jul 2010 05:30:09 +0000

Automatic commit from picoLisp.tgz, From: Thu, 29 Jul 2010 05:30:09 GMT
Diffstat:
Mdoc/refL.html | 10+++++-----
Mlib/openGl.l | 78++++++++++++++++++++++++++++++++++++++++++++----------------------------------
2 files changed, 49 insertions(+), 39 deletions(-)

diff --git a/doc/refL.html b/doc/refL.html @@ -274,11 +274,11 @@ href="refN.html#noLint">noLint</a></code>. <dt><a name="lisp1"><code>(lisp1 'fun) -> num</code></a> <dt><code>.. (lisp9 'fun) -> num</code> -<dd>Installs a callback function <code>fun</code>, and returns a pointer -<code>num</code> suitable to be passed to a C function via 'native'. Maximally -nine callback functions can be installed that way. 'fun' should be a function of -maximally five numbers, and should return a number. See also <code><a -href="refN.html#native">native</a></code>. +<dd>(64-bit version only) Installs a callback function <code>fun</code>, and +returns a pointer <code>num</code> suitable to be passed to a C function via +'native'. Maximally nine callback functions can be installed that way. 'fun' +should be a function of maximally five numbers, and should return a number. See +also <code><a href="refN.html#native">native</a></code>. <pre><code> (load "lib/native.l") diff --git a/lib/openGl.l b/lib/openGl.l @@ -1,8 +1,8 @@ -# 28jul10abu +# 29jul10abu # 27jul10jk # (c) Software Lab. Alexander Burger -(load "@lib/math.l") +(load "@lib/math.l" "@lib/native.l") ### Constant Definitions ### # Primitives @@ -54,7 +54,7 @@ (def 'GL_ONE_MINUS_SRC_ALPHA (hex "00000303")) # DrawBufferMode -(def 'GL_FRONT_AND_BACK (hex "00000408")) +(def 'GL_FRONT_AND_BACK (hex "00000408")) # GetTarget (def 'GL_BLEND (hex "00000BE2")) @@ -66,16 +66,16 @@ (def 'GL_LINE_SMOOTH_HINT (hex "00000C52")) # HintMode -(def 'GL_NICEST (hex "00001102")) +(def 'GL_NICEST (hex "00001102")) # LightName (def 'GL_LIGHT0 (hex "00004000")) # MaterialParameter -(def 'GL_AMBIENT_AND_DIFFUSE (hex "00001602")) +(def 'GL_AMBIENT_AND_DIFFUSE (hex "00001602")) # ShadingModel -(def 'GL_FLAT (hex "00001D00")) +(def 'GL_FLAT (hex "00001D00")) (def 'GL_SMOOTH (hex "00001D01")) # GLUT API macro definitions -- the display mode definitions @@ -93,40 +93,54 @@ (def 'GLUT_LUMINANCE (hex "0200")) # Function keys -(def 'GLUT_KEY_F1 1) -(def 'GLUT_KEY_F2 2) -(def 'GLUT_KEY_F3 3) -(def 'GLUT_KEY_F4 4) -(def 'GLUT_KEY_F5 5) -(def 'GLUT_KEY_F6 6) -(def 'GLUT_KEY_F7 7) -(def 'GLUT_KEY_F8 8) -(def 'GLUT_KEY_F9 9) -(def 'GLUT_KEY_F10 10) -(def 'GLUT_KEY_F11 11) -(def 'GLUT_KEY_F12 12) +(def 'GLUT_KEY_F1 1) +(def 'GLUT_KEY_F2 2) +(def 'GLUT_KEY_F3 3) +(def 'GLUT_KEY_F4 4) +(def 'GLUT_KEY_F5 5) +(def 'GLUT_KEY_F6 6) +(def 'GLUT_KEY_F7 7) +(def 'GLUT_KEY_F8 8) +(def 'GLUT_KEY_F9 9) +(def 'GLUT_KEY_F10 10) +(def 'GLUT_KEY_F11 11) +(def 'GLUT_KEY_F12 12) # Directional keys -(def 'GLUT_KEY_LEFT 100) -(def 'GLUT_KEY_UP 101) -(def 'GLUT_KEY_RIGHT 102) -(def 'GLUT_KEY_DOWN 103) -(def 'GLUT_KEY_PAGE_UP 104) -(def 'GLUT_KEY_PAGE_DOWN 105) -(def 'GLUT_KEY_HOME 106) -(def 'GLUT_KEY_END 107) -(def 'GLUT_KEY_INSERT 108) +(def 'GLUT_KEY_LEFT 100) +(def 'GLUT_KEY_UP 101) +(def 'GLUT_KEY_RIGHT 102) +(def 'GLUT_KEY_DOWN 103) +(def 'GLUT_KEY_PAGE_UP 104) +(def 'GLUT_KEY_PAGE_DOWN 105) +(def 'GLUT_KEY_HOME 106) +(def 'GLUT_KEY_END 107) +(def 'GLUT_KEY_INSERT 108) # Mouse state definitions -(def 'GLUT_LEFT_BUTTON 0) -(def 'GLUT_MIDDLE_BUTTON 1) -(def 'GLUT_RIGHT_BUTTON 2) +(def 'GLUT_LEFT_BUTTON 0) +(def 'GLUT_MIDDLE_BUTTON 1) +(def 'GLUT_RIGHT_BUTTON 2) ### OpenGL library interface ### (default *GluLib "/usr/lib/libGLU.so" *GlutLib "/usr/lib/libglut.so" ) +### Inline-C functions ### +(gcc "glut" (list *GlutLib) + (glClearColor (Red Green Blue Alpha) "GlClearColor" NIL Red Green Blue Alpha 1.0) ) + +#include <GL/glut.h> +#include <GL/glu.h> +#include <GL/gl.h> + +void GlClearColor(long red, long green, long blue, long alpha, int scl) { + glClearColor((GLclampf)red / (float)scl, (GLclampf)green / (float)scl, + (GLclampf)blue / (float)scl, (GLclampf)alpha / (float)scl ); +} +/**/ + # Pre-consed fixpoint arguments (setq "Fix1" (0 . 1.0) @@ -170,10 +184,6 @@ (de glEnd () (native `*GlutLib "glEnd") ) -(de glClearColor (Red Green Blue Alpha) - (set "Fix1" Red "Fix2" Green "Fix3" Blue "Fix4" Alpha) - (native `*GlutLib "glClearColor" NIL "Fix1" "Fix2" "Fix3" "Fix4") ) - (de glClearDepth (Depth) (set "Fix1" Depth) (native `*GlutLib "glClearDepth" NIL "Fix1") )