23.7 Glut Interface

ORIGIN 'opengl';

LIBFILE nti 'private/external/glut32/glut32.lib' default '' ;

-- lib: attributes --

GLUT_RGBA: (# exit 0 #);
GLUT_DOUBLE: (# exit 2 #);

GLUT_LEFT_BUTTON: (# exit 0 #);
GLUT_MIDDLE_BUTTON: (# exit 1 #);
GLUT_RIGHT_BUTTON: (# exit 2 #);

GLUT_DOWN: (# exit 0 #);
GLUT_UP: (# exit 1 #);

glutInit: external
  (# argcp: @integer;
     argv: @integer;
  enter (argcp, argv)
  do CallStd;
  #);

glutInitDisplayMode: external
  (# mode: @integer;
  enter mode
  do CallStd;
  #);
glutCreateWindow: external
  (# title: [1]@char;
     ID: @integer;
  enter title
  do CallStd;
  exit ID
  #);
glutMainLoop: external
  (#
  do CallStd;
  #);


glutReshapeWindow: external
  (# width, height: @integer;
  enter (width, height)
  do CallStd;
  #);

displayFunc: external
  (#
  do cExternalEntry;
     INNER;
  #);
idleFunc: external
  (#
  do cExternalEntry;
     INNER;
  #);
mouseFunc: external
  (# button: @integer;
     state: @integer;
     x: @integer;
     y: @integer;
  enter (button, state, x, y)
  do cExternalEntry;
     INNER;
  #);

motionFunc: external
  (# x, y: @integer;
  enter (x, y)
  do cExternalEntry;
     INNER;
  #);

keyboardFunc: external
  (# key: @char;
     x, y: @integer;
  enter (key, x, y)
  do cExternalEntry;
     INNER;
  #);
glutKeyboardFunc: external
  (# keyboard: ##keyboardFunc;
  enter keyboard##
  do CallStd;
  #);
glutMouseFunc: external
  (# mouse: ##mouseFunc;
  enter mouse##
  do CallStd;
  #);
glutMotionFunc: external
  (# motion: ##motionFunc;
  enter motion##
  do CallStd;
  #);
glutPassiveMotionFunc: external
  (# motion: ##motionFunc;
  enter motion##
  do CallStd;
  #);
glutDisplayFunc: external
  (# display: ##displayFunc;
  enter display##
  do CallStd;
  #);
reshapeFunc: external
  (# w, h: @integer;
  enter (w, h)
  do cExternalEntry;
     INNER;
  #);
glutReshapeFunc: external
  (# reshape: ##reshapeFunc;
  enter reshape##
  do CallStd;
  #);
glutIdleFunc: external
  (# idle: ##idleFunc;
  enter idle##
  do CallStd;
  #);
glutSwapBuffers: external
  (# 
  do CallStd;
  #);


glutSetCursor: external
  (# ID: @integer;
  enter ID
  do CallStd;
  #);

GLUT_CURSOR_RIGHT_ARROW:                (# exit 0 #);
GLUT_CURSOR_LEFT_ARROW:                 (# exit 1 #);
GLUT_CURSOR_INFO:                       (# exit 2 #);
GLUT_CURSOR_DESTROY:                    (# exit 3 #);
GLUT_CURSOR_HELP:                       (# exit 4 #);
GLUT_CURSOR_CYCLE:                      (# exit 5 #);
GLUT_CURSOR_SPRAY:                      (# exit 6 #);
GLUT_CURSOR_WAIT:                       (# exit 7 #);
GLUT_CURSOR_TEXT:                       (# exit 8 #);
GLUT_CURSOR_CROSSHAIR:                  (# exit 9 #);
GLUT_CURSOR_UP_DOWN:                    (# exit 10 #);
GLUT_CURSOR_LEFT_RIGHT:                 (# exit 11 #);
GLUT_CURSOR_TOP_SIDE:                   (# exit 12 #);
GLUT_CURSOR_BOTTOM_SIDE:                (# exit 13 #);
GLUT_CURSOR_LEFT_SIDE:                  (# exit 14 #);
GLUT_CURSOR_RIGHT_SIDE:                 (# exit 15 #);
GLUT_CURSOR_TOP_LEFT_CORNER:            (# exit 16 #);
GLUT_CURSOR_TOP_RIGHT_CORNER:           (# exit 17 #);
GLUT_CURSOR_BOTTOM_RIGHT_CORNER:        (# exit 18 #);
GLUT_CURSOR_BOTTOM_LEFT_CORNER:         (# exit 19 #);
GLUT_CURSOR_INHERIT:                    (# exit 100 #);
GLUT_CURSOR_NONE:                       (# exit 101 #);
GLUT_CURSOR_FULL_CROSSHAIR:             (# exit 102 #)


23.7 Glut Interface
© 1994-2004 Mjølner Informatics
[Modified: Monday April 5th 2004 at 3:13]