0000: 0a 3b 3b 3b 20 59 70 73 69 6c 6f 6e 20 53 63 68 .;;; Ypsilon Sch
0010: 65 6d 65 20 53 79 73 74 65 6d 0a 3b 3b 3b 20 43 eme System.;;; C
0020: 6f 70 79 72 69 67 68 74 20 28 63 29 20 32 30 30 opyright (c) 200
0030: 34 2d 32 30 30 39 20 59 2e 46 55 4a 49 54 41 20 4-2009 Y.FUJITA
0040: 2f 20 4c 69 74 74 6c 65 57 69 6e 67 20 43 6f 6d / LittleWing Com
0050: 70 61 6e 79 20 4c 69 6d 69 74 65 64 2e 0a 3b 3b pany Limited..;;
0060: 3b 20 53 65 65 20 6c 69 63 65 6e 73 65 2e 74 78 ; See license.tx
0070: 74 20 66 6f 72 20 74 65 72 6d 73 20 61 6e 64 20 t for terms and
0080: 63 6f 6e 64 69 74 69 6f 6e 73 20 6f 66 20 75 73 conditions of us
0090: 65 2e 0a 0a 3b 3b 3b 20 50 6f 72 74 65 64 20 74 e...;;; Ported t
00a0: 6f 20 43 68 65 7a 20 53 63 68 65 6d 65 20 62 79 o Chez Scheme by
00b0: 20 45 64 20 43 61 76 61 7a 6f 73 20 28 77 61 79 Ed Cavazos (way
00c0: 6f 2e 63 61 76 61 7a 6f 73 40 67 6d 61 69 6c 2e o.cavazos@gmail.
00d0: 63 6f 6d 29 0a 0a 28 6c 69 62 72 61 72 79 20 28 com)..(library (
00e0: 67 6c 75 74 29 0a 20 20 28 65 78 70 6f 72 74 20 glut). (export
00f0: 47 4c 55 54 5f 52 47 42 0a 20 20 20 20 20 20 20 GLUT_RGB.
0100: 20 20 20 47 4c 55 54 5f 52 47 42 41 0a 20 20 20 GLUT_RGBA.
0110: 20 20 20 20 20 20 20 47 4c 55 54 5f 49 4e 44 45 GLUT_INDE
0120: 58 0a 20 20 20 20 20 20 20 20 20 20 47 4c 55 54 X. GLUT
0130: 5f 53 49 4e 47 4c 45 0a 20 20 20 20 20 20 20 20 _SINGLE.
0140: 20 20 47 4c 55 54 5f 44 4f 55 42 4c 45 0a 20 20 GLUT_DOUBLE.
0150: 20 20 20 20 20 20 20 20 47 4c 55 54 5f 41 43 43 GLUT_ACC
0160: 55 4d 0a 20 20 20 20 20 20 20 20 20 20 47 4c 55 UM. GLU
0170: 54 5f 41 4c 50 48 41 0a 20 20 20 20 20 20 20 20 T_ALPHA.
0180: 20 20 47 4c 55 54 5f 44 45 50 54 48 0a 20 20 20 GLUT_DEPTH.
0190: 20 20 20 20 20 20 20 47 4c 55 54 5f 53 54 45 4e GLUT_STEN
01a0: 43 49 4c 0a 20 20 20 20 20 20 20 20 20 20 47 4c CIL. GL
01b0: 55 54 5f 4d 55 4c 54 49 53 41 4d 50 4c 45 0a 20 UT_MULTISAMPLE.
01c0: 20 20 20 20 20 20 20 20 20 47 4c 55 54 5f 53 54 GLUT_ST
01d0: 45 52 45 4f 0a 20 20 20 20 20 20 20 20 20 20 47 EREO. G
01e0: 4c 55 54 5f 4c 55 4d 49 4e 41 4e 43 45 0a 20 20 LUT_LUMINANCE.
01f0: 20 20 20 20 20 20 20 20 47 4c 55 54 5f 4e 4f 5f GLUT_NO_
0200: 52 45 43 4f 56 45 52 59 0a 20 20 20 20 20 20 20 RECOVERY.
0210: 20 20 20 47 4c 55 54 5f 4c 45 46 54 5f 42 55 54 GLUT_LEFT_BUT
0220: 54 4f 4e 0a 20 20 20 20 20 20 20 20 20 20 47 4c TON. GL
0230: 55 54 5f 4d 49 44 44 4c 45 5f 42 55 54 54 4f 4e UT_MIDDLE_BUTTON
0240: 0a 20 20 20 20 20 20 20 20 20 20 47 4c 55 54 5f . GLUT_
0250: 52 49 47 48 54 5f 42 55 54 54 4f 4e 0a 20 20 20 RIGHT_BUTTON.
0260: 20 20 20 20 20 20 20 47 4c 55 54 5f 44 4f 57 4e GLUT_DOWN
0270: 0a 20 20 20 20 20 20 20 20 20 20 47 4c 55 54 5f . GLUT_
0280: 55 50 0a 20 20 20 20 20 20 20 20 20 20 47 4c 55 UP. GLU
0290: 54 5f 4b 45 59 5f 46 31 0a 20 20 20 20 20 20 20 T_KEY_F1.
02a0: 20 20 20 47 4c 55 54 5f 4b 45 59 5f 46 32 0a 20 GLUT_KEY_F2.
02b0: 20 20 20 20 20 20 20 20 20 47 4c 55 54 5f 4b 45 GLUT_KE
02c0: 59 5f 46 33 0a 20 20 20 20 20 20 20 20 20 20 47 Y_F3. G
02d0: 4c 55 54 5f 4b 45 59 5f 46 34 0a 20 20 20 20 20 LUT_KEY_F4.
02e0: 20 20 20 20 20 47 4c 55 54 5f 4b 45 59 5f 46 35 GLUT_KEY_F5
02f0: 0a 20 20 20 20 20 20 20 20 20 20 47 4c 55 54 5f . GLUT_
0300: 4b 45 59 5f 46 36 0a 20 20 20 20 20 20 20 20 20 KEY_F6.
0310: 20 47 4c 55 54 5f 4b 45 59 5f 46 37 0a 20 20 20 GLUT_KEY_F7.
0320: 20 20 20 20 20 20 20 47 4c 55 54 5f 4b 45 59 5f GLUT_KEY_
0330: 46 38 0a 20 20 20 20 20 20 20 20 20 20 47 4c 55 F8. GLU
0340: 54 5f 4b 45 59 5f 46 39 0a 20 20 20 20 20 20 20 T_KEY_F9.
0350: 20 20 20 47 4c 55 54 5f 4b 45 59 5f 46 31 30 0a GLUT_KEY_F10.
0360: 20 20 20 20 20 20 20 20 20 20 47 4c 55 54 5f 4b GLUT_K
0370: 45 59 5f 46 31 31 0a 20 20 20 20 20 20 20 20 20 EY_F11.
0380: 20 47 4c 55 54 5f 4b 45 59 5f 46 31 32 0a 20 20 GLUT_KEY_F12.
0390: 20 20 20 20 20 20 20 20 47 4c 55 54 5f 4b 45 59 GLUT_KEY
03a0: 5f 4c 45 46 54 0a 20 20 20 20 20 20 20 20 20 20 _LEFT.
03b0: 47 4c 55 54 5f 4b 45 59 5f 55 50 0a 20 20 20 20 GLUT_KEY_UP.
03c0: 20 20 20 20 20 20 47 4c 55 54 5f 4b 45 59 5f 52 GLUT_KEY_R
03d0: 49 47 48 54 0a 20 20 20 20 20 20 20 20 20 20 47 IGHT. G
03e0: 4c 55 54 5f 4b 45 59 5f 44 4f 57 4e 0a 20 20 20 LUT_KEY_DOWN.
03f0: 20 20 20 20 20 20 20 47 4c 55 54 5f 4b 45 59 5f GLUT_KEY_
0400: 50 41 47 45 5f 55 50 0a 20 20 20 20 20 20 20 20 PAGE_UP.
0410: 20 20 47 4c 55 54 5f 4b 45 59 5f 50 41 47 45 5f GLUT_KEY_PAGE_
0420: 44 4f 57 4e 0a 20 20 20 20 20 20 20 20 20 20 47 DOWN. G
0430: 4c 55 54 5f 4b 45 59 5f 48 4f 4d 45 0a 20 20 20 LUT_KEY_HOME.
0440: 20 20 20 20 20 20 20 47 4c 55 54 5f 4b 45 59 5f GLUT_KEY_
0450: 45 4e 44 0a 20 20 20 20 20 20 20 20 20 20 47 4c END. GL
0460: 55 54 5f 4b 45 59 5f 49 4e 53 45 52 54 0a 20 20 UT_KEY_INSERT.
0470: 20 20 20 20 20 20 20 20 47 4c 55 54 5f 4c 45 46 GLUT_LEF
0480: 54 0a 20 20 20 20 20 20 20 20 20 20 47 4c 55 54 T. GLUT
0490: 5f 45 4e 54 45 52 45 44 0a 20 20 20 20 20 20 20 _ENTERED.
04a0: 20 20 20 47 4c 55 54 5f 4d 45 4e 55 5f 4e 4f 54 GLUT_MENU_NOT
04b0: 5f 49 4e 5f 55 53 45 0a 20 20 20 20 20 20 20 20 _IN_USE.
04c0: 20 20 47 4c 55 54 5f 4d 45 4e 55 5f 49 4e 5f 55 GLUT_MENU_IN_U
04d0: 53 45 0a 20 20 20 20 20 20 20 20 20 20 47 4c 55 SE. GLU
04e0: 54 5f 4e 4f 54 5f 56 49 53 49 42 4c 45 0a 20 20 T_NOT_VISIBLE.
04f0: 20 20 20 20 20 20 20 20 47 4c 55 54 5f 56 49 53 GLUT_VIS
0500: 49 42 4c 45 0a 20 20 20 20 20 20 20 20 20 20 47 IBLE. G
0510: 4c 55 54 5f 48 49 44 44 45 4e 0a 20 20 20 20 20 LUT_HIDDEN.
0520: 20 20 20 20 20 47 4c 55 54 5f 46 55 4c 4c 59 5f GLUT_FULLY_
0530: 52 45 54 41 49 4e 45 44 0a 20 20 20 20 20 20 20 RETAINED.
0540: 20 20 20 47 4c 55 54 5f 50 41 52 54 49 41 4c 4c GLUT_PARTIALL
0550: 59 5f 52 45 54 41 49 4e 45 44 0a 20 20 20 20 20 Y_RETAINED.
0560: 20 20 20 20 20 47 4c 55 54 5f 46 55 4c 4c 59 5f GLUT_FULLY_
0570: 43 4f 56 45 52 45 44 0a 20 20 20 20 20 20 20 20 COVERED.
0580: 20 20 47 4c 55 54 5f 52 45 44 0a 20 20 20 20 20 GLUT_RED.
0590: 20 20 20 20 20 47 4c 55 54 5f 47 52 45 45 4e 0a GLUT_GREEN.
05a0: 20 20 20 20 20 20 20 20 20 20 47 4c 55 54 5f 42 GLUT_B
05b0: 4c 55 45 0a 20 20 20 20 20 20 20 20 20 20 47 4c LUE. GL
05c0: 55 54 5f 4e 4f 52 4d 41 4c 0a 20 20 20 20 20 20 UT_NORMAL.
05d0: 20 20 20 20 47 4c 55 54 5f 4f 56 45 52 4c 41 59 GLUT_OVERLAY
05e0: 0a 20 20 20 20 20 20 20 20 20 20 67 6c 75 74 49 . glutI
05f0: 6e 69 74 0a 20 20 20 20 20 20 20 20 20 20 67 6c nit. gl
0600: 75 74 49 6e 69 74 44 69 73 70 6c 61 79 53 74 72 utInitDisplayStr
0610: 69 6e 67 0a 20 20 20 20 20 20 20 20 20 20 67 6c ing. gl
0620: 75 74 49 6e 69 74 44 69 73 70 6c 61 79 4d 6f 64 utInitDisplayMod
0630: 65 0a 20 20 20 20 20 20 20 20 20 20 67 6c 75 74 e. glut
0640: 49 6e 69 74 57 69 6e 64 6f 77 50 6f 73 69 74 69 InitWindowPositi
0650: 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 67 6c 75 on. glu
0660: 74 49 6e 69 74 57 69 6e 64 6f 77 53 69 7a 65 0a tInitWindowSize.
0670: 20 20 20 20 20 20 20 20 20 20 67 6c 75 74 4d 61 glutMa
0680: 69 6e 4c 6f 6f 70 0a 20 20 20 20 20 20 20 20 20 inLoop.
0690: 20 67 6c 75 74 43 72 65 61 74 65 57 69 6e 64 6f glutCreateWindo
06a0: 77 0a 20 20 20 20 20 20 20 20 20 20 67 6c 75 74 w. glut
06b0: 43 72 65 61 74 65 53 75 62 57 69 6e 64 6f 77 0a CreateSubWindow.
06c0: 20 20 20 20 20 20 20 20 20 20 67 6c 75 74 44 65 glutDe
06d0: 73 74 72 6f 79 57 69 6e 64 6f 77 0a 20 20 20 20 stroyWindow.
06e0: 20 20 20 20 20 20 67 6c 75 74 50 6f 73 74 52 65 glutPostRe
06f0: 64 69 73 70 6c 61 79 0a 20 20 20 20 20 20 20 20 display.
0700: 20 20 67 6c 75 74 50 6f 73 74 57 69 6e 64 6f 77 glutPostWindow
0710: 52 65 64 69 73 70 6c 61 79 0a 20 20 20 20 20 20 Redisplay.
0720: 20 20 20 20 67 6c 75 74 53 77 61 70 42 75 66 66 glutSwapBuff
0730: 65 72 73 0a 20 20 20 20 20 20 20 20 20 20 67 6c ers. gl
0740: 75 74 47 65 74 57 69 6e 64 6f 77 0a 20 20 20 20 utGetWindow.
0750: 20 20 20 20 20 20 67 6c 75 74 53 65 74 57 69 6e glutSetWin
0760: 64 6f 77 0a 20 20 20 20 20 20 20 20 20 20 67 6c dow. gl
0770: 75 74 53 65 74 57 69 6e 64 6f 77 54 69 74 6c 65 utSetWindowTitle
0780: 0a 20 20 20 20 20 20 20 20 20 20 67 6c 75 74 53 . glutS
0790: 65 74 49 63 6f 6e 54 69 74 6c 65 0a 20 20 20 20 etIconTitle.
07a0: 20 20 20 20 20 20 67 6c 75 74 50 6f 73 69 74 69 glutPositi
07b0: 6f 6e 57 69 6e 64 6f 77 0a 20 20 20 20 20 20 20 onWindow.
07c0: 20 20 20 67 6c 75 74 52 65 73 68 61 70 65 57 69 glutReshapeWi
07d0: 6e 64 6f 77 0a 20 20 20 20 20 20 20 20 20 20 67 ndow. g
07e0: 6c 75 74 50 6f 70 57 69 6e 64 6f 77 0a 20 20 20 lutPopWindow.
07f0: 20 20 20 20 20 20 20 67 6c 75 74 50 75 73 68 57 glutPushW
0800: 69 6e 64 6f 77 0a 20 20 20 20 20 20 20 20 20 20 indow.
0810: 67 6c 75 74 49 63 6f 6e 69 66 79 57 69 6e 64 6f glutIconifyWindo
0820: 77 0a 20 20 20 20 20 20 20 20 20 20 67 6c 75 74 w. glut
0830: 53 68 6f 77 57 69 6e 64 6f 77 0a 20 20 20 20 20 ShowWindow.
0840: 20 20 20 20 20 67 6c 75 74 48 69 64 65 57 69 6e glutHideWin
0850: 64 6f 77 0a 20 20 20 20 20 20 20 20 20 20 67 6c dow. gl
0860: 75 74 46 75 6c 6c 53 63 72 65 65 6e 0a 20 20 20 utFullScreen.
0870: 20 20 20 20 20 20 20 67 6c 75 74 53 65 74 43 75 glutSetCu
0880: 72 73 6f 72 0a 20 20 20 20 20 20 20 20 20 20 67 rsor. g
0890: 6c 75 74 57 61 72 70 50 6f 69 6e 74 65 72 0a 20 lutWarpPointer.
08a0: 20 20 20 20 20 20 20 20 20 67 6c 75 74 45 73 74 glutEst
08b0: 61 62 6c 69 73 68 4f 76 65 72 6c 61 79 0a 20 20 ablishOverlay.
08c0: 20 20 20 20 20 20 20 20 67 6c 75 74 52 65 6d 6f glutRemo
08d0: 76 65 4f 76 65 72 6c 61 79 0a 20 20 20 20 20 20 veOverlay.
08e0: 20 20 20 20 67 6c 75 74 55 73 65 4c 61 79 65 72 glutUseLayer
08f0: 0a 20 20 20 20 20 20 20 20 20 20 67 6c 75 74 50 . glutP
0900: 6f 73 74 4f 76 65 72 6c 61 79 52 65 64 69 73 70 ostOverlayRedisp
0910: 6c 61 79 0a 20 20 20 20 20 20 20 20 20 20 67 6c lay. gl
0920: 75 74 50 6f 73 74 57 69 6e 64 6f 77 4f 76 65 72 utPostWindowOver
0930: 6c 61 79 52 65 64 69 73 70 6c 61 79 0a 20 20 20 layRedisplay.
0940: 20 20 20 20 20 20 20 67 6c 75 74 53 68 6f 77 4f glutShowO
0950: 76 65 72 6c 61 79 0a 20 20 20 20 20 20 20 20 20 verlay.
0960: 20 67 6c 75 74 48 69 64 65 4f 76 65 72 6c 61 79 glutHideOverlay
0970: 0a 20 20 20 20 20 20 20 20 20 20 67 6c 75 74 43 . glutC
0980: 72 65 61 74 65 4d 65 6e 75 0a 20 20 20 20 20 20 reateMenu.
0990: 20 20 20 20 67 6c 75 74 44 65 73 74 72 6f 79 4d glutDestroyM
09a0: 65 6e 75 0a 20 20 20 20 20 20 20 20 20 20 67 6c enu. gl
09b0: 75 74 47 65 74 4d 65 6e 75 0a 20 20 20 20 20 20 utGetMenu.
09c0: 20 20 20 20 67 6c 75 74 53 65 74 4d 65 6e 75 0a glutSetMenu.
09d0: 20 20 20 20 20 20 20 20 20 20 67 6c 75 74 41 64 glutAd
09e0: 64 4d 65 6e 75 45 6e 74 72 79 0a 20 20 20 20 20 dMenuEntry.
09f0: 20 20 20 20 20 67 6c 75 74 41 64 64 53 75 62 4d glutAddSubM
0a00: 65 6e 75 0a 20 20 20 20 20 20 20 20 20 20 67 6c enu. gl
0a10: 75 74 43 68 61 6e 67 65 54 6f 4d 65 6e 75 45 6e utChangeToMenuEn
0a20: 74 72 79 0a 20 20 20 20 20 20 20 20 20 20 67 6c try. gl
0a30: 75 74 43 68 61 6e 67 65 54 6f 53 75 62 4d 65 6e utChangeToSubMen
0a40: 75 0a 20 20 20 20 20 20 20 20 20 20 67 6c 75 74 u. glut
0a50: 52 65 6d 6f 76 65 4d 65 6e 75 49 74 65 6d 0a 20 RemoveMenuItem.
0a60: 20 20 20 20 20 20 20 20 20 67 6c 75 74 41 74 74 glutAtt
0a70: 61 63 68 4d 65 6e 75 0a 20 20 20 20 20 20 20 20 achMenu.
0a80: 20 20 67 6c 75 74 44 65 74 61 63 68 4d 65 6e 75 glutDetachMenu
0a90: 0a 20 20 20 20 20 20 20 20 20 20 67 6c 75 74 44 . glutD
0aa0: 69 73 70 6c 61 79 46 75 6e 63 0a 20 20 20 20 20 isplayFunc.
0ab0: 20 20 20 20 20 67 6c 75 74 52 65 73 68 61 70 65 glutReshape
0ac0: 46 75 6e 63 0a 20 20 20 20 20 20 20 20 20 20 67 Func. g
0ad0: 6c 75 74 4b 65 79 62 6f 61 72 64 46 75 6e 63 0a lutKeyboardFunc.
0ae0: 20 20 20 20 20 20 20 20 20 20 67 6c 75 74 4d 6f glutMo
0af0: 75 73 65 46 75 6e 63 0a 20 20 20 20 20 20 20 20 useFunc.
0b00: 20 20 67 6c 75 74 4d 6f 74 69 6f 6e 46 75 6e 63 glutMotionFunc
0b10: 0a 20 20 20 20 20 20 20 20 20 20 67 6c 75 74 50 . glutP
0b20: 61 73 73 69 76 65 4d 6f 74 69 6f 6e 46 75 6e 63 assiveMotionFunc
0b30: 0a 20 20 20 20 20 20 20 20 20 20 67 6c 75 74 45 . glutE
0b40: 6e 74 72 79 46 75 6e 63 0a 20 20 20 20 20 20 20 ntryFunc.
0b50: 20 20 20 67 6c 75 74 56 69 73 69 62 69 6c 69 74 glutVisibilit
0b60: 79 46 75 6e 63 0a 20 20 20 20 20 20 20 20 20 20 yFunc.
0b70: 67 6c 75 74 49 64 6c 65 46 75 6e 63 0a 20 20 20 glutIdleFunc.
0b80: 20 20 20 20 20 20 20 67 6c 75 74 54 69 6d 65 72 glutTimer
0b90: 46 75 6e 63 0a 20 20 20 20 20 20 20 20 20 20 67 Func. g
0ba0: 6c 75 74 4d 65 6e 75 53 74 61 74 65 46 75 6e 63 lutMenuStateFunc
0bb0: 0a 20 20 20 20 20 20 20 20 20 20 67 6c 75 74 53 . glutS
0bc0: 70 65 63 69 61 6c 46 75 6e 63 0a 20 20 20 20 20 pecialFunc.
0bd0: 20 20 20 20 20 67 6c 75 74 53 70 61 63 65 62 61 glutSpaceba
0be0: 6c 6c 4d 6f 74 69 6f 6e 46 75 6e 63 0a 20 20 20 llMotionFunc.
0bf0: 20 20 20 20 20 20 20 67 6c 75 74 53 70 61 63 65 glutSpace
0c00: 62 61 6c 6c 52 6f 74 61 74 65 46 75 6e 63 0a 20 ballRotateFunc.
0c10: 20 20 20 20 20 20 20 20 20 67 6c 75 74 53 70 61 glutSpa
0c20: 63 65 62 61 6c 6c 42 75 74 74 6f 6e 46 75 6e 63 ceballButtonFunc
0c30: 0a 20 20 20 20 20 20 20 20 20 20 67 6c 75 74 42 . glutB
0c40: 75 74 74 6f 6e 42 6f 78 46 75 6e 63 0a 20 20 20 uttonBoxFunc.
0c50: 20 20 20 20 20 20 20 67 6c 75 74 44 69 61 6c 73 glutDials
0c60: 46 75 6e 63 0a 20 20 20 20 20 20 20 20 20 20 67 Func. g
0c70: 6c 75 74 54 61 62 6c 65 74 4d 6f 74 69 6f 6e 46 lutTabletMotionF
0c80: 75 6e 63 0a 20 20 20 20 20 20 20 20 20 20 67 6c unc. gl
0c90: 75 74 54 61 62 6c 65 74 42 75 74 74 6f 6e 46 75 utTabletButtonFu
0ca0: 6e 63 0a 20 20 20 20 20 20 20 20 20 20 67 6c 75 nc. glu
0cb0: 74 4d 65 6e 75 53 74 61 74 75 73 46 75 6e 63 0a tMenuStatusFunc.
0cc0: 20 20 20 20 20 20 20 20 20 20 67 6c 75 74 4f 76 glutOv
0cd0: 65 72 6c 61 79 44 69 73 70 6c 61 79 46 75 6e 63 erlayDisplayFunc
0ce0: 0a 20 20 20 20 20 20 20 20 20 20 67 6c 75 74 57 . glutW
0cf0: 69 6e 64 6f 77 53 74 61 74 75 73 46 75 6e 63 0a indowStatusFunc.
0d00: 20 20 20 20 20 20 20 20 20 20 67 6c 75 74 4b 65 glutKe
0d10: 79 62 6f 61 72 64 55 70 46 75 6e 63 0a 20 20 20 yboardUpFunc.
0d20: 20 20 20 20 20 20 20 67 6c 75 74 53 70 65 63 69 glutSpeci
0d30: 61 6c 55 70 46 75 6e 63 0a 20 20 20 20 20 20 20 alUpFunc.
0d40: 20 20 20 67 6c 75 74 4a 6f 79 73 74 69 63 6b 46 glutJoystickF
0d50: 75 6e 63 0a 20 20 20 20 20 20 20 20 20 20 67 6c unc. gl
0d60: 75 74 53 65 74 43 6f 6c 6f 72 0a 20 20 20 20 20 utSetColor.
0d70: 20 20 20 20 20 67 6c 75 74 47 65 74 43 6f 6c 6f glutGetColo
0d80: 72 0a 20 20 20 20 20 20 20 20 20 20 67 6c 75 74 r. glut
0d90: 43 6f 70 79 43 6f 6c 6f 72 6d 61 70 0a 20 20 20 CopyColormap.
0da0: 20 20 20 20 20 20 20 67 6c 75 74 47 65 74 0a 20 glutGet.
0db0: 20 20 20 20 20 20 20 20 20 67 6c 75 74 44 65 76 glutDev
0dc0: 69 63 65 47 65 74 0a 20 20 20 20 20 20 20 20 20 iceGet.
0dd0: 20 67 6c 75 74 45 78 74 65 6e 73 69 6f 6e 53 75 glutExtensionSu
0de0: 70 70 6f 72 74 65 64 0a 20 20 20 20 20 20 20 20 pported.
0df0: 20 20 67 6c 75 74 47 65 74 4d 6f 64 69 66 69 65 glutGetModifie
0e00: 72 73 0a 20 20 20 20 20 20 20 20 20 20 67 6c 75 rs. glu
0e10: 74 4c 61 79 65 72 47 65 74 0a 20 20 20 20 20 20 tLayerGet.
0e20: 20 20 20 20 67 6c 75 74 47 65 74 50 72 6f 63 41 glutGetProcA
0e30: 64 64 72 65 73 73 0a 20 20 20 20 20 20 20 20 20 ddress.
0e40: 20 67 6c 75 74 42 69 74 6d 61 70 43 68 61 72 61 glutBitmapChara
0e50: 63 74 65 72 0a 20 20 20 20 20 20 20 20 20 20 67 cter. g
0e60: 6c 75 74 42 69 74 6d 61 70 57 69 64 74 68 0a 20 lutBitmapWidth.
0e70: 20 20 20 20 20 20 20 20 20 67 6c 75 74 53 74 72 glutStr
0e80: 6f 6b 65 43 68 61 72 61 63 74 65 72 0a 20 20 20 okeCharacter.
0e90: 20 20 20 20 20 20 20 67 6c 75 74 53 74 72 6f 6b glutStrok
0ea0: 65 57 69 64 74 68 0a 20 20 20 20 20 20 20 20 20 eWidth.
0eb0: 20 67 6c 75 74 42 69 74 6d 61 70 4c 65 6e 67 74 glutBitmapLengt
0ec0: 68 0a 20 20 20 20 20 20 20 20 20 20 67 6c 75 74 h. glut
0ed0: 53 74 72 6f 6b 65 4c 65 6e 67 74 68 0a 20 20 20 StrokeLength.
0ee0: 20 20 20 20 20 20 20 67 6c 75 74 57 69 72 65 53 glutWireS
0ef0: 70 68 65 72 65 0a 20 20 20 20 20 20 20 20 20 20 phere.
0f00: 67 6c 75 74 53 6f 6c 69 64 53 70 68 65 72 65 0a glutSolidSphere.
0f10: 20 20 20 20 20 20 20 20 20 20 67 6c 75 74 57 69 glutWi
0f20: 72 65 43 6f 6e 65 0a 20 20 20 20 20 20 20 20 20 reCone.
0f30: 20 67 6c 75 74 53 6f 6c 69 64 43 6f 6e 65 0a 20 glutSolidCone.
0f40: 20 20 20 20 20 20 20 20 20 67 6c 75 74 57 69 72 glutWir
0f50: 65 43 75 62 65 0a 20 20 20 20 20 20 20 20 20 20 eCube.
0f60: 67 6c 75 74 53 6f 6c 69 64 43 75 62 65 0a 20 20 glutSolidCube.
0f70: 20 20 20 20 20 20 20 20 67 6c 75 74 57 69 72 65 glutWire
0f80: 54 6f 72 75 73 0a 20 20 20 20 20 20 20 20 20 20 Torus.
0f90: 67 6c 75 74 53 6f 6c 69 64 54 6f 72 75 73 0a 20 glutSolidTorus.
0fa0: 20 20 20 20 20 20 20 20 20 67 6c 75 74 57 69 72 glutWir
0fb0: 65 44 6f 64 65 63 61 68 65 64 72 6f 6e 0a 20 20 eDodecahedron.
0fc0: 20 20 20 20 20 20 20 20 67 6c 75 74 53 6f 6c 69 glutSoli
0fd0: 64 44 6f 64 65 63 61 68 65 64 72 6f 6e 0a 20 20 dDodecahedron.
0fe0: 20 20 20 20 20 20 20 20 67 6c 75 74 57 69 72 65 glutWire
0ff0: 54 65 61 70 6f 74 0a 20 20 20 20 20 20 20 20 20 Teapot.
1000: 20 67 6c 75 74 53 6f 6c 69 64 54 65 61 70 6f 74 glutSolidTeapot
1010: 0a 20 20 20 20 20 20 20 20 20 20 67 6c 75 74 57 . glutW
1020: 69 72 65 4f 63 74 61 68 65 64 72 6f 6e 0a 20 20 ireOctahedron.
1030: 20 20 20 20 20 20 20 20 67 6c 75 74 53 6f 6c 69 glutSoli
1040: 64 4f 63 74 61 68 65 64 72 6f 6e 0a 20 20 20 20 dOctahedron.
1050: 20 20 20 20 20 20 67 6c 75 74 57 69 72 65 54 65 glutWireTe
1060: 74 72 61 68 65 64 72 6f 6e 0a 20 20 20 20 20 20 trahedron.
1070: 20 20 20 20 67 6c 75 74 53 6f 6c 69 64 54 65 74 glutSolidTet
1080: 72 61 68 65 64 72 6f 6e 0a 20 20 20 20 20 20 20 rahedron.
1090: 20 20 20 67 6c 75 74 57 69 72 65 49 63 6f 73 61 glutWireIcosa
10a0: 68 65 64 72 6f 6e 0a 20 20 20 20 20 20 20 20 20 hedron.
10b0: 20 67 6c 75 74 53 6f 6c 69 64 49 63 6f 73 61 68 glutSolidIcosah
10c0: 65 64 72 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 edron.
10d0: 67 6c 75 74 56 69 64 65 6f 52 65 73 69 7a 65 47 glutVideoResizeG
10e0: 65 74 0a 20 20 20 20 20 20 20 20 20 20 67 6c 75 et. glu
10f0: 74 53 65 74 75 70 56 69 64 65 6f 52 65 73 69 7a tSetupVideoResiz
1100: 69 6e 67 0a 20 20 20 20 20 20 20 20 20 20 67 6c ing. gl
1110: 75 74 53 74 6f 70 56 69 64 65 6f 52 65 73 69 7a utStopVideoResiz
1120: 69 6e 67 0a 20 20 20 20 20 20 20 20 20 20 67 6c ing. gl
1130: 75 74 56 69 64 65 6f 52 65 73 69 7a 65 0a 20 20 utVideoResize.
1140: 20 20 20 20 20 20 20 20 67 6c 75 74 56 69 64 65 glutVide
1150: 6f 50 61 6e 0a 20 20 20 20 20 20 20 20 20 20 67 oPan. g
1160: 6c 75 74 52 65 70 6f 72 74 45 72 72 6f 72 73 0a lutReportErrors.
1170: 20 20 20 20 20 20 20 20 20 20 67 6c 75 74 49 67 glutIg
1180: 6e 6f 72 65 4b 65 79 52 65 70 65 61 74 0a 20 20 noreKeyRepeat.
1190: 20 20 20 20 20 20 20 20 67 6c 75 74 53 65 74 4b glutSetK
11a0: 65 79 52 65 70 65 61 74 0a 20 20 20 20 20 20 20 eyRepeat.
11b0: 20 20 20 67 6c 75 74 46 6f 72 63 65 4a 6f 79 73 glutForceJoys
11c0: 74 69 63 6b 46 75 6e 63 0a 20 20 20 20 20 20 20 tickFunc.
11d0: 20 20 20 67 6c 75 74 47 61 6d 65 4d 6f 64 65 53 glutGameModeS
11e0: 74 72 69 6e 67 0a 20 20 20 20 20 20 20 20 20 20 tring.
11f0: 67 6c 75 74 45 6e 74 65 72 47 61 6d 65 4d 6f 64 glutEnterGameMod
1200: 65 0a 20 20 20 20 20 20 20 20 20 20 67 6c 75 74 e. glut
1210: 4c 65 61 76 65 47 61 6d 65 4d 6f 64 65 0a 20 20 LeaveGameMode.
1220: 20 20 20 20 20 20 20 20 67 6c 75 74 47 61 6d 65 glutGame
1230: 4d 6f 64 65 47 65 74 29 0a 20 20 0a 20 20 28 69 ModeGet). . (i
1240: 6d 70 6f 72 74 20 28 63 68 65 7a 73 63 68 65 6d mport (chezschem
1250: 65 29 29 0a 0a 20 20 3b 3b 20 28 64 65 66 69 6e e)).. ;; (defin
1260: 65 20 6c 69 62 47 4c 55 54 0a 20 20 3b 3b 20 20 e libGLUT. ;;
1270: 20 28 63 6f 6e 64 20 28 6f 6e 2d 64 61 72 77 69 (cond (on-darwi
1280: 6e 20 20 28 6c 6f 61 64 2d 73 68 61 72 65 64 2d n (load-shared-
1290: 6f 62 6a 65 63 74 20 22 47 4c 55 54 2e 66 72 61 object "GLUT.fra
12a0: 6d 65 77 6f 72 6b 2f 47 4c 55 54 22 29 29 0a 20 mework/GLUT")).
12b0: 20 3b 3b 20 20 20 20 20 20 20 20 20 28 6f 6e 2d ;; (on-
12c0: 77 69 6e 64 6f 77 73 20 28 6c 6f 61 64 2d 73 68 windows (load-sh
12d0: 61 72 65 64 2d 6f 62 6a 65 63 74 20 22 67 6c 75 ared-object "glu
12e0: 74 33 32 2e 64 6c 6c 22 29 29 0a 20 20 3b 3b 20 t32.dll")). ;;
12f0: 20 20 20 20 20 20 20 20 28 6f 6e 2d 6c 69 6e 75 (on-linu
1300: 78 20 20 20 28 6c 6f 61 64 2d 73 68 61 72 65 64 x (load-shared
1310: 2d 6f 62 6a 65 63 74 20 22 6c 69 62 67 6c 75 74 -object "libglut
1320: 2e 73 6f 2e 33 22 29 29 0a 20 20 3b 3b 20 20 20 .so.3")). ;;
1330: 20 20 20 20 20 20 28 6f 6e 2d 66 72 65 65 62 73 (on-freebs
1340: 64 20 28 6c 6f 61 64 2d 73 68 61 72 65 64 2d 6f d (load-shared-o
1350: 62 6a 65 63 74 20 22 6c 69 62 67 6c 75 74 2e 73 bject "libglut.s
1360: 6f 22 29 29 0a 20 20 3b 3b 20 20 20 20 20 20 20 o")). ;;
1370: 20 20 28 6f 6e 2d 6f 70 65 6e 62 73 64 20 28 62 (on-openbsd (b
1380: 65 67 69 6e 0a 20 20 3b 3b 20 20 20 20 20 20 20 egin. ;;
1390: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
13a0: 28 6c 6f 61 64 2d 73 68 61 72 65 64 2d 6f 62 6a (load-shared-obj
13b0: 65 63 74 20 22 6c 69 62 58 6d 75 2e 73 6f 2e 31 ect "libXmu.so.1
13c0: 30 2e 30 22 29 0a 20 20 3b 3b 20 20 20 20 20 20 0.0"). ;;
13d0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
13e0: 20 28 6c 6f 61 64 2d 73 68 61 72 65 64 2d 6f 62 (load-shared-ob
13f0: 6a 65 63 74 20 22 6c 69 62 47 4c 55 2e 73 6f 2e ject "libGLU.so.
1400: 37 2e 30 22 29 0a 20 20 3b 3b 20 20 20 20 20 20 7.0"). ;;
1410: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1420: 20 28 6c 6f 61 64 2d 73 68 61 72 65 64 2d 6f 62 (load-shared-ob
1430: 6a 65 63 74 20 22 6c 69 62 67 6c 75 74 2e 73 6f ject "libglut.so
1440: 2e 33 2e 37 22 29 29 29 0a 20 20 3b 3b 20 20 20 .3.7"))). ;;
1450: 20 20 20 20 20 20 28 65 6c 73 65 0a 20 20 3b 3b (else. ;;
1460: 20 20 20 20 20 20 20 20 20 20 28 61 73 73 65 72 (asser
1470: 74 69 6f 6e 2d 76 69 6f 6c 61 74 69 6f 6e 0a 20 tion-violation.
1480: 20 3b 3b 20 20 20 20 20 20 20 20 20 20 20 23 66 ;; #f
1490: 0a 20 20 3b 3b 20 20 20 20 20 20 20 20 20 20 20 . ;;
14a0: 22 63 61 6e 20 6e 6f 74 20 6c 6f 63 61 74 65 20 "can not locate
14b0: 47 4c 55 54 20 6c 69 62 72 61 72 79 2c 20 75 6e GLUT library, un
14c0: 6b 6e 6f 77 6e 20 6f 70 65 72 61 74 69 6e 67 20 known operating
14d0: 73 79 73 74 65 6d 22 29 29 29 29 0a 0a 20 20 28 system")))).. (
14e0: 64 65 66 69 6e 65 20 6e 6f 2d 6f 70 20 28 6c 6f define no-op (lo
14f0: 61 64 2d 73 68 61 72 65 64 2d 6f 62 6a 65 63 74 ad-shared-object
1500: 20 22 6c 69 62 67 6c 75 74 2e 73 6f 2e 33 22 29 "libglut.so.3")
1510: 29 0a 0a 20 20 3b 3b 20 44 69 73 70 6c 61 79 20 ).. ;; Display
1520: 6d 6f 64 65 20 62 69 74 20 6d 61 73 6b 73 2e 0a mode bit masks..
1530: 20 20 28 64 65 66 69 6e 65 20 47 4c 55 54 5f 52 (define GLUT_R
1540: 47 42 20 20 20 20 20 20 20 20 20 20 20 20 20 20 GB
1550: 20 20 30 29 0a 20 20 28 64 65 66 69 6e 65 20 47 0). (define G
1560: 4c 55 54 5f 52 47 42 41 20 20 20 20 20 20 20 20 LUT_RGBA
1570: 20 20 20 20 20 20 20 47 4c 55 54 5f 52 47 42 29 GLUT_RGB)
1580: 0a 20 20 28 64 65 66 69 6e 65 20 47 4c 55 54 5f . (define GLUT_
1590: 49 4e 44 45 58 20 20 20 20 20 20 20 20 20 20 20 INDEX
15a0: 20 20 20 31 29 0a 20 20 28 64 65 66 69 6e 65 20 1). (define
15b0: 47 4c 55 54 5f 53 49 4e 47 4c 45 20 20 20 20 20 GLUT_SINGLE
15c0: 20 20 20 20 20 20 20 20 30 29 0a 20 20 28 64 65 0). (de
15d0: 66 69 6e 65 20 47 4c 55 54 5f 44 4f 55 42 4c 45 fine GLUT_DOUBLE
15e0: 20 20 20 20 20 20 20 20 20 20 20 20 20 32 29 0a 2).
15f0: 20 20 28 64 65 66 69 6e 65 20 47 4c 55 54 5f 41 (define GLUT_A
1600: 43 43 55 4d 20 20 20 20 20 20 20 20 20 20 20 20 CCUM
1610: 20 20 34 29 0a 20 20 28 64 65 66 69 6e 65 20 47 4). (define G
1620: 4c 55 54 5f 41 4c 50 48 41 20 20 20 20 20 20 20 LUT_ALPHA
1630: 20 20 20 20 20 20 20 38 29 0a 20 20 28 64 65 66 8). (def
1640: 69 6e 65 20 47 4c 55 54 5f 44 45 50 54 48 20 20 ine GLUT_DEPTH
1650: 20 20 20 20 20 20 20 20 20 20 20 20 31 36 29 0a 16).
1660: 20 20 28 64 65 66 69 6e 65 20 47 4c 55 54 5f 53 (define GLUT_S
1670: 54 45 4e 43 49 4c 20 20 20 20 20 20 20 20 20 20 TENCIL
1680: 20 20 33 32 29 0a 20 20 28 64 65 66 69 6e 65 20 32). (define
1690: 47 4c 55 54 5f 4d 55 4c 54 49 53 41 4d 50 4c 45 GLUT_MULTISAMPLE
16a0: 20 20 20 20 20 20 20 20 31 32 38 29 0a 20 20 28 128). (
16b0: 64 65 66 69 6e 65 20 47 4c 55 54 5f 53 54 45 52 define GLUT_STER
16c0: 45 4f 20 20 20 20 20 20 20 20 20 20 20 20 20 32 EO 2
16d0: 35 36 29 0a 20 20 28 64 65 66 69 6e 65 20 47 4c 56). (define GL
16e0: 55 54 5f 4c 55 4d 49 4e 41 4e 43 45 20 20 20 20 UT_LUMINANCE
16f0: 20 20 20 20 20 20 35 31 32 29 0a 20 20 28 64 65 512). (de
1700: 66 69 6e 65 20 47 4c 55 54 5f 4e 4f 5f 52 45 43 fine GLUT_NO_REC
1710: 4f 56 45 52 59 20 20 20 20 20 20 20 20 31 30 32 OVERY 102
1720: 34 29 0a 0a 20 20 3b 3b 20 4d 6f 75 73 65 20 62 4).. ;; Mouse b
1730: 75 74 74 6f 6e 73 2e 0a 20 20 28 64 65 66 69 6e uttons.. (defin
1740: 65 20 47 4c 55 54 5f 4c 45 46 54 5f 42 55 54 54 e GLUT_LEFT_BUTT
1750: 4f 4e 20 20 20 20 20 20 20 20 30 29 0a 20 20 28 ON 0). (
1760: 64 65 66 69 6e 65 20 47 4c 55 54 5f 4d 49 44 44 define GLUT_MIDD
1770: 4c 45 5f 42 55 54 54 4f 4e 20 20 20 20 20 20 31 LE_BUTTON 1
1780: 29 0a 20 20 28 64 65 66 69 6e 65 20 47 4c 55 54 ). (define GLUT
1790: 5f 52 49 47 48 54 5f 42 55 54 54 4f 4e 20 20 20 _RIGHT_BUTTON
17a0: 20 20 20 20 32 29 0a 0a 20 20 3b 3b 20 4d 6f 75 2).. ;; Mou
17b0: 73 65 20 62 75 74 74 6f 6e 20 20 73 74 61 74 65 se button state
17c0: 2e 0a 20 20 28 64 65 66 69 6e 65 20 47 4c 55 54 .. (define GLUT
17d0: 5f 44 4f 57 4e 20 20 20 20 20 20 20 20 20 20 20 _DOWN
17e0: 20 20 20 20 30 29 0a 20 20 28 64 65 66 69 6e 65 0). (define
17f0: 20 47 4c 55 54 5f 55 50 20 20 20 20 20 20 20 20 GLUT_UP
1800: 20 20 20 20 20 20 20 20 20 31 29 0a 0a 20 20 3b 1).. ;
1810: 3b 20 66 75 6e 63 74 69 6f 6e 20 6b 65 79 73 0a ; function keys.
1820: 20 20 28 64 65 66 69 6e 65 20 47 4c 55 54 5f 4b (define GLUT_K
1830: 45 59 5f 46 31 20 20 20 20 20 20 20 20 20 20 20 EY_F1
1840: 20 20 31 29 0a 20 20 28 64 65 66 69 6e 65 20 47 1). (define G
1850: 4c 55 54 5f 4b 45 59 5f 46 32 20 20 20 20 20 20 LUT_KEY_F2
1860: 20 20 20 20 20 20 20 32 29 0a 20 20 28 64 65 66 2). (def
1870: 69 6e 65 20 47 4c 55 54 5f 4b 45 59 5f 46 33 20 ine GLUT_KEY_F3
1880: 20 20 20 20 20 20 20 20 20 20 20 20 33 29 0a 20 3).
1890: 20 28 64 65 66 69 6e 65 20 47 4c 55 54 5f 4b 45 (define GLUT_KE
18a0: 59 5f 46 34 20 20 20 20 20 20 20 20 20 20 20 20 Y_F4
18b0: 20 34 29 0a 20 20 28 64 65 66 69 6e 65 20 47 4c 4). (define GL
18c0: 55 54 5f 4b 45 59 5f 46 35 20 20 20 20 20 20 20 UT_KEY_F5
18d0: 20 20 20 20 20 20 35 29 0a 20 20 28 64 65 66 69 5). (defi
18e0: 6e 65 20 47 4c 55 54 5f 4b 45 59 5f 46 36 20 20 ne GLUT_KEY_F6
18f0: 20 20 20 20 20 20 20 20 20 20 20 36 29 0a 20 20 6).
1900: 28 64 65 66 69 6e 65 20 47 4c 55 54 5f 4b 45 59 (define GLUT_KEY
1910: 5f 46 37 20 20 20 20 20 20 20 20 20 20 20 20 20 _F7
1920: 37 29 0a 20 20 28 64 65 66 69 6e 65 20 47 4c 55 7). (define GLU
1930: 54 5f 4b 45 59 5f 46 38 20 20 20 20 20 20 20 20 T_KEY_F8
1940: 20 20 20 20 20 38 29 0a 20 20 28 64 65 66 69 6e 8). (defin
1950: 65 20 47 4c 55 54 5f 4b 45 59 5f 46 39 20 20 20 e GLUT_KEY_F9
1960: 20 20 20 20 20 20 20 20 20 20 39 29 0a 20 20 28 9). (
1970: 64 65 66 69 6e 65 20 47 4c 55 54 5f 4b 45 59 5f define GLUT_KEY_
1980: 46 31 30 20 20 20 20 20 20 20 20 20 20 20 20 31 F10 1
1990: 30 29 0a 20 20 28 64 65 66 69 6e 65 20 47 4c 55 0). (define GLU
19a0: 54 5f 4b 45 59 5f 46 31 31 20 20 20 20 20 20 20 T_KEY_F11
19b0: 20 20 20 20 20 31 31 29 0a 20 20 28 64 65 66 69 11). (defi
19c0: 6e 65 20 47 4c 55 54 5f 4b 45 59 5f 46 31 32 20 ne GLUT_KEY_F12
19d0: 20 20 20 20 20 20 20 20 20 20 20 31 32 29 0a 0a 12)..
19e0: 20 20 3b 3b 20 64 69 72 65 63 74 69 6f 6e 61 6c ;; directional
19f0: 20 6b 65 79 73 0a 20 20 28 64 65 66 69 6e 65 20 keys. (define
1a00: 47 4c 55 54 5f 4b 45 59 5f 4c 45 46 54 20 20 20 GLUT_KEY_LEFT
1a10: 20 20 20 20 20 20 20 20 31 30 30 29 0a 20 20 28 100). (
1a20: 64 65 66 69 6e 65 20 47 4c 55 54 5f 4b 45 59 5f define GLUT_KEY_
1a30: 55 50 20 20 20 20 20 20 20 20 20 20 20 20 20 31 UP 1
1a40: 30 31 29 0a 20 20 28 64 65 66 69 6e 65 20 47 4c 01). (define GL
1a50: 55 54 5f 4b 45 59 5f 52 49 47 48 54 20 20 20 20 UT_KEY_RIGHT
1a60: 20 20 20 20 20 20 31 30 32 29 0a 20 20 28 64 65 102). (de
1a70: 66 69 6e 65 20 47 4c 55 54 5f 4b 45 59 5f 44 4f fine GLUT_KEY_DO
1a80: 57 4e 20 20 20 20 20 20 20 20 20 20 20 31 30 33 WN 103
1a90: 29 0a 20 20 28 64 65 66 69 6e 65 20 47 4c 55 54 ). (define GLUT
1aa0: 5f 4b 45 59 5f 50 41 47 45 5f 55 50 20 20 20 20 _KEY_PAGE_UP
1ab0: 20 20 20 20 31 30 34 29 0a 20 20 28 64 65 66 69 104). (defi
1ac0: 6e 65 20 47 4c 55 54 5f 4b 45 59 5f 50 41 47 45 ne GLUT_KEY_PAGE
1ad0: 5f 44 4f 57 4e 20 20 20 20 20 20 31 30 35 29 0a _DOWN 105).
1ae0: 20 20 28 64 65 66 69 6e 65 20 47 4c 55 54 5f 4b (define GLUT_K
1af0: 45 59 5f 48 4f 4d 45 20 20 20 20 20 20 20 20 20 EY_HOME
1b00: 20 20 31 30 36 29 0a 20 20 28 64 65 66 69 6e 65 106). (define
1b10: 20 47 4c 55 54 5f 4b 45 59 5f 45 4e 44 20 20 20 GLUT_KEY_END
1b20: 20 20 20 20 20 20 20 20 20 31 30 37 29 0a 20 20 107).
1b30: 28 64 65 66 69 6e 65 20 47 4c 55 54 5f 4b 45 59 (define GLUT_KEY
1b40: 5f 49 4e 53 45 52 54 20 20 20 20 20 20 20 20 20 _INSERT
1b50: 31 30 38 29 0a 0a 20 20 3b 3b 20 45 6e 74 72 79 108).. ;; Entry
1b60: 2f 65 78 69 74 20 20 73 74 61 74 65 2e 0a 20 20 /exit state..
1b70: 28 64 65 66 69 6e 65 20 47 4c 55 54 5f 4c 45 46 (define GLUT_LEF
1b80: 54 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 T
1b90: 30 29 0a 20 20 28 64 65 66 69 6e 65 20 47 4c 55 0). (define GLU
1ba0: 54 5f 45 4e 54 45 52 45 44 20 20 20 20 20 20 20 T_ENTERED
1bb0: 20 20 20 20 20 31 29 0a 0a 20 20 3b 3b 20 4d 65 1).. ;; Me
1bc0: 6e 75 20 75 73 61 67 65 20 20 73 74 61 74 65 2e nu usage state.
1bd0: 0a 20 20 28 64 65 66 69 6e 65 20 47 4c 55 54 5f . (define GLUT_
1be0: 4d 45 4e 55 5f 4e 4f 54 5f 49 4e 5f 55 53 45 20 MENU_NOT_IN_USE
1bf0: 20 20 20 30 29 0a 20 20 28 64 65 66 69 6e 65 20 0). (define
1c00: 47 4c 55 54 5f 4d 45 4e 55 5f 49 4e 5f 55 53 45 GLUT_MENU_IN_USE
1c10: 20 20 20 20 20 20 20 20 31 29 0a 0a 20 20 3b 3b 1).. ;;
1c20: 20 56 69 73 69 62 69 6c 69 74 79 20 20 73 74 61 Visibility sta
1c30: 74 65 2e 0a 20 20 28 64 65 66 69 6e 65 20 47 4c te.. (define GL
1c40: 55 54 5f 4e 4f 54 5f 56 49 53 49 42 4c 45 20 20 UT_NOT_VISIBLE
1c50: 20 20 20 20 20 20 30 29 0a 20 20 28 64 65 66 69 0). (defi
1c60: 6e 65 20 47 4c 55 54 5f 56 49 53 49 42 4c 45 20 ne GLUT_VISIBLE
1c70: 20 20 20 20 20 20 20 20 20 20 20 31 29 0a 0a 20 1)..
1c80: 20 3b 3b 20 57 69 6e 64 6f 77 20 73 74 61 74 75 ;; Window statu
1c90: 73 20 20 73 74 61 74 65 2e 0a 20 20 28 64 65 66 s state.. (def
1ca0: 69 6e 65 20 47 4c 55 54 5f 48 49 44 44 45 4e 20 ine GLUT_HIDDEN
1cb0: 20 20 20 20 20 20 20 20 20 20 20 20 30 29 0a 20 0).
1cc0: 20 28 64 65 66 69 6e 65 20 47 4c 55 54 5f 46 55 (define GLUT_FU
1cd0: 4c 4c 59 5f 52 45 54 41 49 4e 45 44 20 20 20 20 LLY_RETAINED
1ce0: 20 31 29 0a 20 20 28 64 65 66 69 6e 65 20 47 4c 1). (define GL
1cf0: 55 54 5f 50 41 52 54 49 41 4c 4c 59 5f 52 45 54 UT_PARTIALLY_RET
1d00: 41 49 4e 45 44 20 32 29 0a 20 20 28 64 65 66 69 AINED 2). (defi
1d10: 6e 65 20 47 4c 55 54 5f 46 55 4c 4c 59 5f 43 4f ne GLUT_FULLY_CO
1d20: 56 45 52 45 44 20 20 20 20 20 20 33 29 0a 0a 20 VERED 3)..
1d30: 20 3b 3b 20 43 6f 6c 6f 72 20 69 6e 64 65 78 20 ;; Color index
1d40: 63 6f 6d 70 6f 6e 65 6e 74 20 73 65 6c 65 63 74 component select
1d50: 69 6f 6e 20 76 61 6c 75 65 73 2e 0a 20 20 28 64 ion values.. (d
1d60: 65 66 69 6e 65 20 47 4c 55 54 5f 52 45 44 20 20 efine GLUT_RED
1d70: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 30 29 0)
1d80: 0a 20 20 28 64 65 66 69 6e 65 20 47 4c 55 54 5f . (define GLUT_
1d90: 47 52 45 45 4e 20 20 20 20 20 20 20 20 20 20 20 GREEN
1da0: 20 20 20 31 29 0a 20 20 28 64 65 66 69 6e 65 20 1). (define
1db0: 47 4c 55 54 5f 42 4c 55 45 20 20 20 20 20 20 20 GLUT_BLUE
1dc0: 20 20 20 20 20 20 20 20 32 29 0a 0a 20 20 3b 3b 2).. ;;
1dd0: 20 4c 61 79 65 72 73 20 66 6f 72 20 75 73 65 2e Layers for use.
1de0: 0a 20 20 28 64 65 66 69 6e 65 20 47 4c 55 54 5f . (define GLUT_
1df0: 4e 4f 52 4d 41 4c 20 20 20 20 20 20 20 20 20 20 NORMAL
1e00: 20 20 20 30 29 0a 20 20 28 64 65 66 69 6e 65 20 0). (define
1e10: 47 4c 55 54 5f 4f 56 45 52 4c 41 59 20 20 20 20 GLUT_OVERLAY
1e20: 20 20 20 20 20 20 20 20 31 29 0a 0a 20 20 3b 3b 1).. ;;
1e30: 20 28 64 65 66 69 6e 65 2d 73 79 6e 74 61 78 20 (define-syntax
1e40: 64 65 66 69 6e 65 2d 66 75 6e 63 74 69 6f 6e 0a define-function.
1e50: 20 20 3b 3b 20 20 20 28 73 79 6e 74 61 78 2d 72 ;; (syntax-r
1e60: 75 6c 65 73 20 28 29 0a 20 20 3b 3b 20 20 20 20 ules (). ;;
1e70: 20 28 28 5f 20 72 65 74 20 6e 61 6d 65 20 61 72 ((_ ret name ar
1e80: 67 73 29 0a 20 20 3b 3b 20 20 20 20 20 20 28 64 gs). ;; (d
1e90: 65 66 69 6e 65 20 6e 61 6d 65 0a 20 20 3b 3b 20 efine name. ;;
1ea0: 20 20 20 20 20 20 20 28 63 2d 66 75 6e 63 74 69 (c-functi
1eb0: 6f 6e 20 6c 69 62 47 4c 55 54 20 22 47 4c 55 54 on libGLUT "GLUT
1ec0: 20 6c 69 62 72 61 72 79 22 20 72 65 74 20 5f 5f library" ret __
1ed0: 73 74 64 63 61 6c 6c 20 6e 61 6d 65 20 61 72 67 stdcall name arg
1ee0: 73 29 29 29 29 29 0a 0a 20 20 28 64 65 66 69 6e s))))).. (defin
1ef0: 65 2d 73 79 6e 74 61 78 20 64 65 66 69 6e 65 2d e-syntax define-
1f00: 66 75 6e 63 74 69 6f 6e 0a 20 20 20 20 28 73 79 function. (sy
1f10: 6e 74 61 78 2d 72 75 6c 65 73 20 28 29 0a 20 20 ntax-rules ().
1f20: 20 20 20 20 28 28 5f 20 72 65 74 20 6e 61 6d 65 ((_ ret name
1f30: 20 61 72 67 73 29 0a 20 20 20 20 20 20 20 28 64 args). (d
1f40: 65 66 69 6e 65 20 6e 61 6d 65 0a 20 20 20 20 20 efine name.
1f50: 20 20 20 20 28 66 6f 72 65 69 67 6e 2d 70 72 6f (foreign-pro
1f60: 63 65 64 75 72 65 20 28 73 79 6d 62 6f 6c 2d 3e cedure (symbol->
1f70: 73 74 72 69 6e 67 20 27 6e 61 6d 65 29 20 61 72 string 'name) ar
1f80: 67 73 20 72 65 74 29 29 29 29 29 0a 0a 20 20 28 gs ret))))).. (
1f90: 64 65 66 69 6e 65 2d 73 79 6e 74 61 78 20 64 65 define-syntax de
1fa0: 66 69 6e 65 2d 66 75 6e 63 74 69 6f 6e 2f 73 69 fine-function/si
1fb0: 6e 67 6c 65 2d 63 61 6c 6c 62 61 63 6b 0a 20 20 ngle-callback.
1fc0: 20 20 28 73 79 6e 74 61 78 2d 72 75 6c 65 73 20 (syntax-rules
1fd0: 28 63 61 6c 6c 62 61 63 6b 29 0a 20 20 20 20 20 (callback).
1fe0: 20 28 28 5f 20 72 65 74 20 6e 61 6d 65 20 28 28 ((_ ret name ((
1ff0: 63 61 6c 6c 62 61 63 6b 20 63 2d 72 65 74 20 63 callback c-ret c
2000: 2d 70 61 72 61 6d 73 29 29 29 0a 20 20 20 20 20 -params))).
2010: 20 20 28 64 65 66 69 6e 65 20 6e 61 6d 65 0a 20 (define name.
2020: 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 66 (let ((f
2030: 20 28 66 6f 72 65 69 67 6e 2d 70 72 6f 63 65 64 (foreign-proced
2040: 75 72 65 20 28 73 79 6d 62 6f 6c 2d 3e 73 74 72 ure (symbol->str
2050: 69 6e 67 20 27 6e 61 6d 65 29 20 28 69 6e 74 29 ing 'name) (int)
2060: 20 72 65 74 29 29 29 0a 20 20 20 20 20 20 20 20 ret))).
2070: 20 20 20 28 6c 61 6d 62 64 61 20 28 70 72 6f 63 (lambda (proc
2080: 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 ). (
2090: 6c 65 74 20 28 28 63 6f 64 65 20 28 66 6f 72 65 let ((code (fore
20a0: 69 67 6e 2d 63 61 6c 6c 61 62 6c 65 20 70 72 6f ign-callable pro
20b0: 63 20 63 2d 70 61 72 61 6d 73 20 63 2d 72 65 74 c c-params c-ret
20c0: 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 ))).
20d0: 20 20 20 28 6c 6f 63 6b 2d 6f 62 6a 65 63 74 20 (lock-object
20e0: 63 6f 64 65 29 0a 20 20 20 20 20 20 20 20 20 20 code).
20f0: 20 20 20 20 20 28 66 20 28 66 6f 72 65 69 67 6e (f (foreign
2100: 2d 63 61 6c 6c 61 62 6c 65 2d 65 6e 74 72 79 2d -callable-entry-
2110: 70 6f 69 6e 74 20 63 6f 64 65 29 29 29 29 29 29 point code))))))
2120: 29 29 29 0a 0a 20 20 3b 3b 20 76 6f 69 64 20 67 ))).. ;; void g
2130: 6c 75 74 49 6e 69 74 28 69 6e 74 20 2a 61 72 67 lutInit(int *arg
2140: 63 70 2c 20 63 68 61 72 20 2a 2a 61 72 67 76 29 cp, char **argv)
2150: 0a 20 20 3b 3b 20 28 64 65 66 69 6e 65 2d 66 75 . ;; (define-fu
2160: 6e 63 74 69 6f 6e 20 76 6f 69 64 20 67 6c 75 74 nction void glut
2170: 49 6e 69 74 20 28 5b 69 6e 74 5d 20 5b 63 68 61 Init ([int] [cha
2180: 72 2a 5d 29 29 0a 0a 20 20 3b 3b 20 28 64 65 66 r*])).. ;; (def
2190: 69 6e 65 20 67 6c 75 74 49 6e 69 74 0a 20 20 3b ine glutInit. ;
21a0: 3b 20 20 20 28 69 66 20 6f 6e 2d 77 69 6e 64 6f ; (if on-windo
21b0: 77 73 0a 20 20 3b 3b 20 20 20 20 20 20 20 28 6c ws. ;; (l
21c0: 61 6d 62 64 61 20 28 61 31 20 61 32 29 0a 20 20 ambda (a1 a2).
21d0: 3b 3b 20 20 20 20 20 20 20 20 20 23 3b 28 63 2d ;; #;(c-
21e0: 61 72 67 75 6d 65 6e 74 20 27 67 6c 75 74 49 6e argument 'glutIn
21f0: 69 74 20 31 20 5b 69 6e 74 5d 20 61 31 29 0a 20 it 1 [int] a1).
2200: 20 3b 3b 20 20 20 20 20 20 20 20 20 23 3b 28 63 ;; #;(c
2210: 2d 61 72 67 75 6d 65 6e 74 20 27 67 6c 75 74 49 -argument 'glutI
2220: 6e 69 74 20 32 20 5b 63 68 61 72 2a 5d 20 61 32 nit 2 [char*] a2
2230: 29 0a 20 20 3b 3b 20 20 20 20 20 20 20 20 20 28 ). ;; (
2240: 28 63 2d 66 75 6e 63 74 69 6f 6e 20 6c 69 62 47 (c-function libG
2250: 4c 55 54 20 22 47 4c 55 54 20 6c 69 62 72 61 72 LUT "GLUT librar
2260: 79 22 20 76 6f 69 64 20 5f 5f 73 74 64 63 61 6c y" void __stdcal
2270: 6c 20 5f 5f 67 6c 75 74 49 6e 69 74 57 69 74 68 l __glutInitWith
2280: 45 78 69 74 20 28 5b 69 6e 74 5d 20 5b 63 68 61 Exit ([int] [cha
2290: 72 2a 5d 20 5b 63 2d 63 61 6c 6c 62 61 63 6b 20 r*] [c-callback
22a0: 76 6f 69 64 20 28 69 6e 74 29 5d 29 29 0a 20 20 void (int)])).
22b0: 3b 3b 20 20 20 20 20 20 20 20 20 20 61 31 20 61 ;; a1 a
22c0: 32 20 28 6c 61 6d 62 64 61 20 28 6e 29 20 28 65 2 (lambda (n) (e
22d0: 78 69 74 20 6e 29 29 29 29 0a 20 20 3b 3b 20 20 xit n)))). ;;
22e0: 20 20 20 20 20 28 63 2d 66 75 6e 63 74 69 6f 6e (c-function
22f0: 20 6c 69 62 47 4c 55 54 20 22 47 4c 55 54 20 6c libGLUT "GLUT l
2300: 69 62 72 61 72 79 22 20 76 6f 69 64 20 5f 5f 73 ibrary" void __s
2310: 74 64 63 61 6c 6c 20 67 6c 75 74 49 6e 69 74 20 tdcall glutInit
2320: 28 5b 69 6e 74 5d 20 5b 63 68 61 72 2a 5d 29 29 ([int] [char*]))
2330: 29 29 0a 0a 20 20 3b 3b 20 28 64 65 66 69 6e 65 )).. ;; (define
2340: 20 67 6c 75 74 49 6e 69 74 0a 20 20 3b 3b 20 20 glutInit. ;;
2350: 20 28 66 6f 72 65 69 67 6e 2d 70 72 6f 63 65 64 (foreign-proced
2360: 75 72 65 20 22 67 6c 75 74 49 6e 69 74 22 20 28 ure "glutInit" (
2370: 75 38 2a 20 75 38 2a 29 20 76 6f 69 64 29 29 0a u8* u8*) void)).
2380: 0a 20 20 3b 3b 20 54 68 69 73 20 76 65 72 73 69 . ;; This versi
2390: 6f 6e 20 69 67 6e 6f 72 65 73 20 69 74 27 73 20 on ignores it's
23a0: 61 72 67 75 6d 65 6e 74 73 2e 0a 20 20 0a 20 20 arguments.. .
23b0: 28 64 65 66 69 6e 65 20 67 6c 75 74 49 6e 69 74 (define glutInit
23c0: 0a 20 20 20 20 28 6c 65 74 20 28 28 66 20 28 66 . (let ((f (f
23d0: 6f 72 65 69 67 6e 2d 70 72 6f 63 65 64 75 72 65 oreign-procedure
23e0: 20 22 67 6c 75 74 49 6e 69 74 22 20 28 75 38 2a "glutInit" (u8*
23f0: 20 75 38 2a 29 20 76 6f 69 64 29 29 29 0a 20 20 u8*) void))).
2400: 20 20 20 20 28 6c 61 6d 62 64 61 20 28 61 20 62 (lambda (a b
2410: 29 0a 20 20 20 20 20 20 20 20 28 66 20 28 62 79 ). (f (by
2420: 74 65 76 65 63 74 6f 72 20 30 20 30 20 30 20 30 tevector 0 0 0 0
2430: 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 62 79 ). (by
2440: 74 65 76 65 63 74 6f 72 20 30 29 29 29 29 29 0a tevector 0))))).
2450: 0a 20 20 3b 3b 20 76 6f 69 64 20 67 6c 75 74 49 . ;; void glutI
2460: 6e 69 74 44 69 73 70 6c 61 79 53 74 72 69 6e 67 nitDisplayString
2470: 28 63 6f 6e 73 74 20 63 68 61 72 20 2a 73 74 72 (const char *str
2480: 69 6e 67 29 0a 20 20 28 64 65 66 69 6e 65 2d 66 ing). (define-f
2490: 75 6e 63 74 69 6f 6e 20 76 6f 69 64 20 67 6c 75 unction void glu
24a0: 74 49 6e 69 74 44 69 73 70 6c 61 79 53 74 72 69 tInitDisplayStri
24b0: 6e 67 20 28 73 74 72 69 6e 67 29 29 0a 0a 20 20 ng (string))..
24c0: 3b 3b 20 76 6f 69 64 20 67 6c 75 74 49 6e 69 74 ;; void glutInit
24d0: 44 69 73 70 6c 61 79 4d 6f 64 65 28 75 6e 73 69 DisplayMode(unsi
24e0: 67 6e 65 64 20 69 6e 74 20 6d 6f 64 65 29 0a 20 gned int mode).
24f0: 20 28 64 65 66 69 6e 65 2d 66 75 6e 63 74 69 6f (define-functio
2500: 6e 20 76 6f 69 64 20 67 6c 75 74 49 6e 69 74 44 n void glutInitD
2510: 69 73 70 6c 61 79 4d 6f 64 65 20 28 69 6e 74 29 isplayMode (int)
2520: 29 0a 0a 20 20 3b 3b 20 76 6f 69 64 20 67 6c 75 ).. ;; void glu
2530: 74 49 6e 69 74 57 69 6e 64 6f 77 50 6f 73 69 74 tInitWindowPosit
2540: 69 6f 6e 28 69 6e 74 20 78 2c 20 69 6e 74 20 79 ion(int x, int y
2550: 29 0a 20 20 28 64 65 66 69 6e 65 2d 66 75 6e 63 ). (define-func
2560: 74 69 6f 6e 20 76 6f 69 64 20 67 6c 75 74 49 6e tion void glutIn
2570: 69 74 57 69 6e 64 6f 77 50 6f 73 69 74 69 6f 6e itWindowPosition
2580: 20 28 69 6e 74 20 69 6e 74 29 29 0a 0a 20 20 3b (int int)).. ;
2590: 3b 20 76 6f 69 64 20 67 6c 75 74 49 6e 69 74 57 ; void glutInitW
25a0: 69 6e 64 6f 77 53 69 7a 65 28 69 6e 74 20 77 69 indowSize(int wi
25b0: 64 74 68 2c 20 69 6e 74 20 68 65 69 67 68 74 29 dth, int height)
25c0: 0a 20 20 28 64 65 66 69 6e 65 2d 66 75 6e 63 74 . (define-funct
25d0: 69 6f 6e 20 76 6f 69 64 20 67 6c 75 74 49 6e 69 ion void glutIni
25e0: 74 57 69 6e 64 6f 77 53 69 7a 65 20 28 69 6e 74 tWindowSize (int
25f0: 20 69 6e 74 29 29 0a 0a 20 20 3b 3b 20 76 6f 69 int)).. ;; voi
2600: 64 20 67 6c 75 74 4d 61 69 6e 4c 6f 6f 70 28 76 d glutMainLoop(v
2610: 6f 69 64 29 0a 20 20 28 64 65 66 69 6e 65 2d 66 oid). (define-f
2620: 75 6e 63 74 69 6f 6e 20 76 6f 69 64 20 67 6c 75 unction void glu
2630: 74 4d 61 69 6e 4c 6f 6f 70 20 28 29 29 0a 0a 20 tMainLoop ())..
2640: 20 3b 3b 20 69 6e 74 20 67 6c 75 74 43 72 65 61 ;; int glutCrea
2650: 74 65 57 69 6e 64 6f 77 28 63 6f 6e 73 74 20 63 teWindow(const c
2660: 68 61 72 20 2a 74 69 74 6c 65 29 0a 20 20 28 64 har *title). (d
2670: 65 66 69 6e 65 2d 66 75 6e 63 74 69 6f 6e 20 69 efine-function i
2680: 6e 74 20 67 6c 75 74 43 72 65 61 74 65 57 69 6e nt glutCreateWin
2690: 64 6f 77 20 28 73 74 72 69 6e 67 29 29 0a 0a 20 dow (string))..
26a0: 20 3b 3b 20 69 6e 74 20 67 6c 75 74 43 72 65 61 ;; int glutCrea
26b0: 74 65 53 75 62 57 69 6e 64 6f 77 28 69 6e 74 20 teSubWindow(int
26c0: 77 69 6e 2c 20 69 6e 74 20 78 2c 20 69 6e 74 20 win, int x, int
26d0: 79 2c 20 69 6e 74 20 77 69 64 74 68 2c 20 69 6e y, int width, in
26e0: 74 20 68 65 69 67 68 74 29 0a 20 20 28 64 65 66 t height). (def
26f0: 69 6e 65 2d 66 75 6e 63 74 69 6f 6e 20 69 6e 74 ine-function int
2700: 20 67 6c 75 74 43 72 65 61 74 65 53 75 62 57 69 glutCreateSubWi
2710: 6e 64 6f 77 20 28 69 6e 74 20 69 6e 74 20 69 6e ndow (int int in
2720: 74 20 69 6e 74 20 69 6e 74 29 29 0a 0a 20 20 3b t int int)).. ;
2730: 3b 20 76 6f 69 64 20 67 6c 75 74 44 65 73 74 72 ; void glutDestr
2740: 6f 79 57 69 6e 64 6f 77 28 69 6e 74 20 77 69 6e oyWindow(int win
2750: 29 0a 20 20 28 64 65 66 69 6e 65 2d 66 75 6e 63 ). (define-func
2760: 74 69 6f 6e 20 76 6f 69 64 20 67 6c 75 74 44 65 tion void glutDe
2770: 73 74 72 6f 79 57 69 6e 64 6f 77 20 28 69 6e 74 stroyWindow (int
2780: 29 29 0a 0a 20 20 3b 3b 20 76 6f 69 64 20 67 6c )).. ;; void gl
2790: 75 74 50 6f 73 74 52 65 64 69 73 70 6c 61 79 28 utPostRedisplay(
27a0: 76 6f 69 64 29 0a 20 20 28 64 65 66 69 6e 65 2d void). (define-
27b0: 66 75 6e 63 74 69 6f 6e 20 76 6f 69 64 20 67 6c function void gl
27c0: 75 74 50 6f 73 74 52 65 64 69 73 70 6c 61 79 20 utPostRedisplay
27d0: 28 29 29 0a 0a 20 20 3b 3b 20 76 6f 69 64 20 67 ()).. ;; void g
27e0: 6c 75 74 50 6f 73 74 57 69 6e 64 6f 77 52 65 64 lutPostWindowRed
27f0: 69 73 70 6c 61 79 28 69 6e 74 20 77 69 6e 29 0a isplay(int win).
2800: 20 20 28 64 65 66 69 6e 65 2d 66 75 6e 63 74 69 (define-functi
2810: 6f 6e 20 76 6f 69 64 20 67 6c 75 74 50 6f 73 74 on void glutPost
2820: 57 69 6e 64 6f 77 52 65 64 69 73 70 6c 61 79 20 WindowRedisplay
2830: 28 69 6e 74 29 29 0a 0a 20 20 3b 3b 20 76 6f 69 (int)).. ;; voi
2840: 64 20 67 6c 75 74 53 77 61 70 42 75 66 66 65 72 d glutSwapBuffer
2850: 73 28 76 6f 69 64 29 0a 20 20 28 64 65 66 69 6e s(void). (defin
2860: 65 2d 66 75 6e 63 74 69 6f 6e 20 76 6f 69 64 20 e-function void
2870: 67 6c 75 74 53 77 61 70 42 75 66 66 65 72 73 20 glutSwapBuffers
2880: 28 29 29 0a 0a 20 20 3b 3b 20 69 6e 74 20 67 6c ()).. ;; int gl
2890: 75 74 47 65 74 57 69 6e 64 6f 77 28 76 6f 69 64 utGetWindow(void
28a0: 29 0a 20 20 28 64 65 66 69 6e 65 2d 66 75 6e 63 ). (define-func
28b0: 74 69 6f 6e 20 69 6e 74 20 67 6c 75 74 47 65 74 tion int glutGet
28c0: 57 69 6e 64 6f 77 20 28 29 29 0a 0a 20 20 3b 3b Window ()).. ;;
28d0: 20 76 6f 69 64 20 67 6c 75 74 53 65 74 57 69 6e void glutSetWin
28e0: 64 6f 77 28 69 6e 74 20 77 69 6e 29 0a 20 20 28 dow(int win). (
28f0: 64 65 66 69 6e 65 2d 66 75 6e 63 74 69 6f 6e 20 define-function
2900: 76 6f 69 64 20 67 6c 75 74 53 65 74 57 69 6e 64 void glutSetWind
2910: 6f 77 20 28 69 6e 74 29 29 0a 0a 20 20 3b 3b 20 ow (int)).. ;;
2920: 76 6f 69 64 20 67 6c 75 74 53 65 74 57 69 6e 64 void glutSetWind
2930: 6f 77 54 69 74 6c 65 28 63 6f 6e 73 74 20 63 68 owTitle(const ch
2940: 61 72 20 2a 74 69 74 6c 65 29 0a 20 20 28 64 65 ar *title). (de
2950: 66 69 6e 65 2d 66 75 6e 63 74 69 6f 6e 20 76 6f fine-function vo
2960: 69 64 20 67 6c 75 74 53 65 74 57 69 6e 64 6f 77 id glutSetWindow
2970: 54 69 74 6c 65 20 28 73 74 72 69 6e 67 29 29 0a Title (string)).
2980: 0a 20 20 3b 3b 20 76 6f 69 64 20 67 6c 75 74 53 . ;; void glutS
2990: 65 74 49 63 6f 6e 54 69 74 6c 65 28 63 6f 6e 73 etIconTitle(cons
29a0: 74 20 63 68 61 72 20 2a 74 69 74 6c 65 29 0a 20 t char *title).
29b0: 20 28 64 65 66 69 6e 65 2d 66 75 6e 63 74 69 6f (define-functio
29c0: 6e 20 76 6f 69 64 20 67 6c 75 74 53 65 74 49 63 n void glutSetIc
29d0: 6f 6e 54 69 74 6c 65 20 28 73 74 72 69 6e 67 29 onTitle (string)
29e0: 29 0a 0a 20 20 3b 3b 20 76 6f 69 64 20 67 6c 75 ).. ;; void glu
29f0: 74 50 6f 73 69 74 69 6f 6e 57 69 6e 64 6f 77 28 tPositionWindow(
2a00: 69 6e 74 20 78 2c 20 69 6e 74 20 79 29 0a 20 20 int x, int y).
2a10: 28 64 65 66 69 6e 65 2d 66 75 6e 63 74 69 6f 6e (define-function
2a20: 20 76 6f 69 64 20 67 6c 75 74 50 6f 73 69 74 69 void glutPositi
2a30: 6f 6e 57 69 6e 64 6f 77 20 28 69 6e 74 20 69 6e onWindow (int in
2a40: 74 29 29 0a 0a 20 20 3b 3b 20 76 6f 69 64 20 67 t)).. ;; void g
2a50: 6c 75 74 52 65 73 68 61 70 65 57 69 6e 64 6f 77 lutReshapeWindow
2a60: 28 69 6e 74 20 77 69 64 74 68 2c 20 69 6e 74 20 (int width, int
2a70: 68 65 69 67 68 74 29 0a 20 20 28 64 65 66 69 6e height). (defin
2a80: 65 2d 66 75 6e 63 74 69 6f 6e 20 76 6f 69 64 20 e-function void
2a90: 67 6c 75 74 52 65 73 68 61 70 65 57 69 6e 64 6f glutReshapeWindo
2aa0: 77 20 28 69 6e 74 20 69 6e 74 29 29 0a 0a 20 20 w (int int))..
2ab0: 3b 3b 20 76 6f 69 64 20 67 6c 75 74 50 6f 70 57 ;; void glutPopW
2ac0: 69 6e 64 6f 77 28 76 6f 69 64 29 0a 20 20 28 64 indow(void). (d
2ad0: 65 66 69 6e 65 2d 66 75 6e 63 74 69 6f 6e 20 76 efine-function v
2ae0: 6f 69 64 20 67 6c 75 74 50 6f 70 57 69 6e 64 6f oid glutPopWindo
2af0: 77 20 28 29 29 0a 0a 20 20 3b 3b 20 76 6f 69 64 w ()).. ;; void
2b00: 20 67 6c 75 74 50 75 73 68 57 69 6e 64 6f 77 28 glutPushWindow(
2b10: 76 6f 69 64 29 0a 20 20 28 64 65 66 69 6e 65 2d void). (define-
2b20: 66 75 6e 63 74 69 6f 6e 20 76 6f 69 64 20 67 6c function void gl
2b30: 75 74 50 75 73 68 57 69 6e 64 6f 77 20 28 29 29 utPushWindow ())
2b40: 0a 0a 20 20 3b 3b 20 76 6f 69 64 20 67 6c 75 74 .. ;; void glut
2b50: 49 63 6f 6e 69 66 79 57 69 6e 64 6f 77 28 76 6f IconifyWindow(vo
2b60: 69 64 29 0a 20 20 28 64 65 66 69 6e 65 2d 66 75 id). (define-fu
2b70: 6e 63 74 69 6f 6e 20 76 6f 69 64 20 67 6c 75 74 nction void glut
2b80: 49 63 6f 6e 69 66 79 57 69 6e 64 6f 77 20 28 29 IconifyWindow ()
2b90: 29 0a 0a 20 20 3b 3b 20 76 6f 69 64 20 67 6c 75 ).. ;; void glu
2ba0: 74 53 68 6f 77 57 69 6e 64 6f 77 28 76 6f 69 64 tShowWindow(void
2bb0: 29 0a 20 20 28 64 65 66 69 6e 65 2d 66 75 6e 63 ). (define-func
2bc0: 74 69 6f 6e 20 76 6f 69 64 20 67 6c 75 74 53 68 tion void glutSh
2bd0: 6f 77 57 69 6e 64 6f 77 20 28 29 29 0a 0a 20 20 owWindow ())..
2be0: 3b 3b 20 76 6f 69 64 20 67 6c 75 74 48 69 64 65 ;; void glutHide
2bf0: 57 69 6e 64 6f 77 28 76 6f 69 64 29 0a 20 20 28 Window(void). (
2c00: 64 65 66 69 6e 65 2d 66 75 6e 63 74 69 6f 6e 20 define-function
2c10: 76 6f 69 64 20 67 6c 75 74 48 69 64 65 57 69 6e void glutHideWin
2c20: 64 6f 77 20 28 29 29 0a 0a 20 20 3b 3b 20 76 6f dow ()).. ;; vo
2c30: 69 64 20 67 6c 75 74 46 75 6c 6c 53 63 72 65 65 id glutFullScree
2c40: 6e 28 76 6f 69 64 29 0a 20 20 28 64 65 66 69 6e n(void). (defin
2c50: 65 2d 66 75 6e 63 74 69 6f 6e 20 76 6f 69 64 20 e-function void
2c60: 67 6c 75 74 46 75 6c 6c 53 63 72 65 65 6e 20 28 glutFullScreen (
2c70: 29 29 0a 0a 20 20 3b 3b 20 76 6f 69 64 20 67 6c )).. ;; void gl
2c80: 75 74 53 65 74 43 75 72 73 6f 72 28 69 6e 74 20 utSetCursor(int
2c90: 63 75 72 73 6f 72 29 0a 20 20 28 64 65 66 69 6e cursor). (defin
2ca0: 65 2d 66 75 6e 63 74 69 6f 6e 20 76 6f 69 64 20 e-function void
2cb0: 67 6c 75 74 53 65 74 43 75 72 73 6f 72 20 28 69 glutSetCursor (i
2cc0: 6e 74 29 29 0a 0a 20 20 3b 3b 20 76 6f 69 64 20 nt)).. ;; void
2cd0: 67 6c 75 74 57 61 72 70 50 6f 69 6e 74 65 72 28 glutWarpPointer(
2ce0: 69 6e 74 20 78 2c 20 69 6e 74 20 79 29 0a 20 20 int x, int y).
2cf0: 28 64 65 66 69 6e 65 2d 66 75 6e 63 74 69 6f 6e (define-function
2d00: 20 76 6f 69 64 20 67 6c 75 74 57 61 72 70 50 6f void glutWarpPo
2d10: 69 6e 74 65 72 20 28 69 6e 74 20 69 6e 74 29 29 inter (int int))
2d20: 0a 0a 20 20 3b 3b 20 76 6f 69 64 20 67 6c 75 74 .. ;; void glut
2d30: 45 73 74 61 62 6c 69 73 68 4f 76 65 72 6c 61 79 EstablishOverlay
2d40: 28 76 6f 69 64 29 0a 20 20 28 64 65 66 69 6e 65 (void). (define
2d50: 2d 66 75 6e 63 74 69 6f 6e 20 76 6f 69 64 20 67 -function void g
2d60: 6c 75 74 45 73 74 61 62 6c 69 73 68 4f 76 65 72 lutEstablishOver
2d70: 6c 61 79 20 28 29 29 0a 0a 20 20 3b 3b 20 76 6f lay ()).. ;; vo
2d80: 69 64 20 67 6c 75 74 52 65 6d 6f 76 65 4f 76 65 id glutRemoveOve
2d90: 72 6c 61 79 28 76 6f 69 64 29 0a 20 20 28 64 65 rlay(void). (de
2da0: 66 69 6e 65 2d 66 75 6e 63 74 69 6f 6e 20 76 6f fine-function vo
2db0: 69 64 20 67 6c 75 74 52 65 6d 6f 76 65 4f 76 65 id glutRemoveOve
2dc0: 72 6c 61 79 20 28 29 29 0a 0a 20 20 3b 3b 20 76 rlay ()).. ;; v
2dd0: 6f 69 64 20 67 6c 75 74 55 73 65 4c 61 79 65 72 oid glutUseLayer
2de0: 28 47 4c 65 6e 75 6d 20 6c 61 79 65 72 29 0a 20 (GLenum layer).
2df0: 20 28 64 65 66 69 6e 65 2d 66 75 6e 63 74 69 6f (define-functio
2e00: 6e 20 76 6f 69 64 20 67 6c 75 74 55 73 65 4c 61 n void glutUseLa
2e10: 79 65 72 20 28 69 6e 74 29 29 0a 0a 20 20 3b 3b yer (int)).. ;;
2e20: 20 76 6f 69 64 20 67 6c 75 74 50 6f 73 74 4f 76 void glutPostOv
2e30: 65 72 6c 61 79 52 65 64 69 73 70 6c 61 79 28 76 erlayRedisplay(v
2e40: 6f 69 64 29 0a 20 20 28 64 65 66 69 6e 65 2d 66 oid). (define-f
2e50: 75 6e 63 74 69 6f 6e 20 76 6f 69 64 20 67 6c 75 unction void glu
2e60: 74 50 6f 73 74 4f 76 65 72 6c 61 79 52 65 64 69 tPostOverlayRedi
2e70: 73 70 6c 61 79 20 28 29 29 0a 0a 20 20 3b 3b 20 splay ()).. ;;
2e80: 76 6f 69 64 20 67 6c 75 74 50 6f 73 74 57 69 6e void glutPostWin
2e90: 64 6f 77 4f 76 65 72 6c 61 79 52 65 64 69 73 70 dowOverlayRedisp
2ea0: 6c 61 79 28 69 6e 74 20 77 69 6e 29 0a 20 20 28 lay(int win). (
2eb0: 64 65 66 69 6e 65 2d 66 75 6e 63 74 69 6f 6e 20 define-function
2ec0: 76 6f 69 64 20 67 6c 75 74 50 6f 73 74 57 69 6e void glutPostWin
2ed0: 64 6f 77 4f 76 65 72 6c 61 79 52 65 64 69 73 70 dowOverlayRedisp
2ee0: 6c 61 79 20 28 69 6e 74 29 29 0a 0a 20 20 3b 3b lay (int)).. ;;
2ef0: 20 76 6f 69 64 20 67 6c 75 74 53 68 6f 77 4f 76 void glutShowOv
2f00: 65 72 6c 61 79 28 76 6f 69 64 29 0a 20 20 28 64 erlay(void). (d
2f10: 65 66 69 6e 65 2d 66 75 6e 63 74 69 6f 6e 20 76 efine-function v
2f20: 6f 69 64 20 67 6c 75 74 53 68 6f 77 4f 76 65 72 oid glutShowOver
2f30: 6c 61 79 20 28 29 29 0a 0a 20 20 3b 3b 20 76 6f lay ()).. ;; vo
2f40: 69 64 20 67 6c 75 74 48 69 64 65 4f 76 65 72 6c id glutHideOverl
2f50: 61 79 28 76 6f 69 64 29 0a 20 20 28 64 65 66 69 ay(void). (defi
2f60: 6e 65 2d 66 75 6e 63 74 69 6f 6e 20 76 6f 69 64 ne-function void
2f70: 20 67 6c 75 74 48 69 64 65 4f 76 65 72 6c 61 79 glutHideOverlay
2f80: 20 28 29 29 0a 0a 20 20 3b 3b 20 69 6e 74 20 67 ()).. ;; int g
2f90: 6c 75 74 43 72 65 61 74 65 4d 65 6e 75 28 76 6f lutCreateMenu(vo
2fa0: 69 64 20 28 2a 29 28 69 6e 74 29 29 0a 0a 20 20 id (*)(int))..
2fb0: 3b 3b 20 28 64 65 66 69 6e 65 2d 66 75 6e 63 74 ;; (define-funct
2fc0: 69 6f 6e 20 76 6f 69 64 20 67 6c 75 74 43 72 65 ion void glutCre
2fd0: 61 74 65 4d 65 6e 75 20 28 5b 63 2d 63 61 6c 6c ateMenu ([c-call
2fe0: 62 61 63 6b 20 76 6f 69 64 20 28 69 6e 74 29 5d back void (int)]
2ff0: 29 29 0a 0a 20 20 28 64 65 66 69 6e 65 2d 66 75 )).. (define-fu
3000: 6e 63 74 69 6f 6e 2f 73 69 6e 67 6c 65 2d 63 61 nction/single-ca
3010: 6c 6c 62 61 63 6b 20 76 6f 69 64 20 67 6c 75 74 llback void glut
3020: 43 72 65 61 74 65 4d 65 6e 75 20 28 28 63 61 6c CreateMenu ((cal
3030: 6c 62 61 63 6b 20 76 6f 69 64 20 28 69 6e 74 29 lback void (int)
3040: 29 29 29 0a 0a 20 20 3b 3b 20 76 6f 69 64 20 67 ))).. ;; void g
3050: 6c 75 74 44 65 73 74 72 6f 79 4d 65 6e 75 28 69 lutDestroyMenu(i
3060: 6e 74 20 6d 65 6e 75 29 0a 20 20 28 64 65 66 69 nt menu). (defi
3070: 6e 65 2d 66 75 6e 63 74 69 6f 6e 20 76 6f 69 64 ne-function void
3080: 20 67 6c 75 74 44 65 73 74 72 6f 79 4d 65 6e 75 glutDestroyMenu
3090: 20 28 69 6e 74 29 29 0a 0a 20 20 3b 3b 20 69 6e (int)).. ;; in
30a0: 74 20 67 6c 75 74 47 65 74 4d 65 6e 75 28 76 6f t glutGetMenu(vo
30b0: 69 64 29 0a 20 20 28 64 65 66 69 6e 65 2d 66 75 id). (define-fu
30c0: 6e 63 74 69 6f 6e 20 69 6e 74 20 67 6c 75 74 47 nction int glutG
30d0: 65 74 4d 65 6e 75 20 28 29 29 0a 0a 20 20 3b 3b etMenu ()).. ;;
30e0: 20 76 6f 69 64 20 67 6c 75 74 53 65 74 4d 65 6e void glutSetMen
30f0: 75 28 69 6e 74 20 6d 65 6e 75 29 0a 20 20 28 64 u(int menu). (d
3100: 65 66 69 6e 65 2d 66 75 6e 63 74 69 6f 6e 20 76 efine-function v
3110: 6f 69 64 20 67 6c 75 74 53 65 74 4d 65 6e 75 20 oid glutSetMenu
3120: 28 69 6e 74 29 29 0a 0a 20 20 3b 3b 20 76 6f 69 (int)).. ;; voi
3130: 64 20 67 6c 75 74 41 64 64 4d 65 6e 75 45 6e 74 d glutAddMenuEnt
3140: 72 79 28 63 6f 6e 73 74 20 63 68 61 72 20 2a 6c ry(const char *l
3150: 61 62 65 6c 2c 20 69 6e 74 20 76 61 6c 75 65 29 abel, int value)
3160: 0a 20 20 28 64 65 66 69 6e 65 2d 66 75 6e 63 74 . (define-funct
3170: 69 6f 6e 20 76 6f 69 64 20 67 6c 75 74 41 64 64 ion void glutAdd
3180: 4d 65 6e 75 45 6e 74 72 79 20 28 73 74 72 69 6e MenuEntry (strin
3190: 67 20 69 6e 74 29 29 0a 0a 20 20 3b 3b 20 76 6f g int)).. ;; vo
31a0: 69 64 20 67 6c 75 74 41 64 64 53 75 62 4d 65 6e id glutAddSubMen
31b0: 75 28 63 6f 6e 73 74 20 63 68 61 72 20 2a 6c 61 u(const char *la
31c0: 62 65 6c 2c 20 69 6e 74 20 73 75 62 6d 65 6e 75 bel, int submenu
31d0: 29 0a 20 20 28 64 65 66 69 6e 65 2d 66 75 6e 63 ). (define-func
31e0: 74 69 6f 6e 20 76 6f 69 64 20 67 6c 75 74 41 64 tion void glutAd
31f0: 64 53 75 62 4d 65 6e 75 20 28 73 74 72 69 6e 67 dSubMenu (string
3200: 20 69 6e 74 29 29 0a 0a 20 20 3b 3b 20 76 6f 69 int)).. ;; voi
3210: 64 20 67 6c 75 74 43 68 61 6e 67 65 54 6f 4d 65 d glutChangeToMe
3220: 6e 75 45 6e 74 72 79 28 69 6e 74 20 69 74 65 6d nuEntry(int item
3230: 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 6c 61 , const char *la
3240: 62 65 6c 2c 20 69 6e 74 20 76 61 6c 75 65 29 0a bel, int value).
3250: 20 20 28 64 65 66 69 6e 65 2d 66 75 6e 63 74 69 (define-functi
3260: 6f 6e 20 76 6f 69 64 20 67 6c 75 74 43 68 61 6e on void glutChan
3270: 67 65 54 6f 4d 65 6e 75 45 6e 74 72 79 20 28 69 geToMenuEntry (i
3280: 6e 74 20 73 74 72 69 6e 67 20 69 6e 74 29 29 0a nt string int)).
3290: 0a 20 20 3b 3b 20 76 6f 69 64 20 67 6c 75 74 43 . ;; void glutC
32a0: 68 61 6e 67 65 54 6f 53 75 62 4d 65 6e 75 28 69 hangeToSubMenu(i
32b0: 6e 74 20 69 74 65 6d 2c 20 63 6f 6e 73 74 20 63 nt item, const c
32c0: 68 61 72 20 2a 6c 61 62 65 6c 2c 20 69 6e 74 20 har *label, int
32d0: 73 75 62 6d 65 6e 75 29 0a 20 20 28 64 65 66 69 submenu). (defi
32e0: 6e 65 2d 66 75 6e 63 74 69 6f 6e 20 76 6f 69 64 ne-function void
32f0: 20 67 6c 75 74 43 68 61 6e 67 65 54 6f 53 75 62 glutChangeToSub
3300: 4d 65 6e 75 20 28 69 6e 74 20 73 74 72 69 6e 67 Menu (int string
3310: 20 69 6e 74 29 29 0a 0a 20 20 3b 3b 20 76 6f 69 int)).. ;; voi
3320: 64 20 67 6c 75 74 52 65 6d 6f 76 65 4d 65 6e 75 d glutRemoveMenu
3330: 49 74 65 6d 28 69 6e 74 20 69 74 65 6d 29 0a 20 Item(int item).
3340: 20 28 64 65 66 69 6e 65 2d 66 75 6e 63 74 69 6f (define-functio
3350: 6e 20 76 6f 69 64 20 67 6c 75 74 52 65 6d 6f 76 n void glutRemov
3360: 65 4d 65 6e 75 49 74 65 6d 20 28 69 6e 74 29 29 eMenuItem (int))
3370: 0a 0a 20 20 3b 3b 20 76 6f 69 64 20 67 6c 75 74 .. ;; void glut
3380: 41 74 74 61 63 68 4d 65 6e 75 28 69 6e 74 20 62 AttachMenu(int b
3390: 75 74 74 6f 6e 29 0a 20 20 28 64 65 66 69 6e 65 utton). (define
33a0: 2d 66 75 6e 63 74 69 6f 6e 20 76 6f 69 64 20 67 -function void g
33b0: 6c 75 74 41 74 74 61 63 68 4d 65 6e 75 20 28 69 lutAttachMenu (i
33c0: 6e 74 29 29 0a 0a 20 20 3b 3b 20 76 6f 69 64 20 nt)).. ;; void
33d0: 67 6c 75 74 44 65 74 61 63 68 4d 65 6e 75 28 69 glutDetachMenu(i
33e0: 6e 74 20 62 75 74 74 6f 6e 29 0a 20 20 28 64 65 nt button). (de
33f0: 66 69 6e 65 2d 66 75 6e 63 74 69 6f 6e 20 76 6f fine-function vo
3400: 69 64 20 67 6c 75 74 44 65 74 61 63 68 4d 65 6e id glutDetachMen
3410: 75 20 28 69 6e 74 29 29 0a 0a 20 20 3b 3b 20 76 u (int)).. ;; v
3420: 6f 69 64 20 67 6c 75 74 44 69 73 70 6c 61 79 46 oid glutDisplayF
3430: 75 6e 63 28 76 6f 69 64 20 28 2a 66 75 6e 63 29 unc(void (*func)
3440: 28 76 6f 69 64 29 29 0a 20 20 3b 3b 20 28 64 65 (void)). ;; (de
3450: 66 69 6e 65 2d 66 75 6e 63 74 69 6f 6e 20 76 6f fine-function vo
3460: 69 64 20 67 6c 75 74 44 69 73 70 6c 61 79 46 75 id glutDisplayFu
3470: 6e 63 20 28 5b 63 2d 63 61 6c 6c 62 61 63 6b 20 nc ([c-callback
3480: 76 6f 69 64 20 28 29 5d 29 29 0a 0a 20 20 28 64 void ()])).. (d
3490: 65 66 69 6e 65 2d 66 75 6e 63 74 69 6f 6e 2f 73 efine-function/s
34a0: 69 6e 67 6c 65 2d 63 61 6c 6c 62 61 63 6b 20 76 ingle-callback v
34b0: 6f 69 64 20 67 6c 75 74 44 69 73 70 6c 61 79 46 oid glutDisplayF
34c0: 75 6e 63 20 28 28 63 61 6c 6c 62 61 63 6b 20 76 unc ((callback v
34d0: 6f 69 64 20 28 29 29 29 29 0a 0a 20 20 3b 3b 20 oid ()))).. ;;
34e0: 76 6f 69 64 20 67 6c 75 74 52 65 73 68 61 70 65 void glutReshape
34f0: 46 75 6e 63 28 76 6f 69 64 20 28 2a 66 75 6e 63 Func(void (*func
3500: 29 28 69 6e 74 20 77 69 64 74 68 2c 20 69 6e 74 )(int width, int
3510: 20 68 65 69 67 68 74 29 29 0a 20 20 3b 3b 20 28 height)). ;; (
3520: 64 65 66 69 6e 65 2d 66 75 6e 63 74 69 6f 6e 20 define-function
3530: 76 6f 69 64 20 67 6c 75 74 52 65 73 68 61 70 65 void glutReshape
3540: 46 75 6e 63 20 28 5b 63 2d 63 61 6c 6c 62 61 63 Func ([c-callbac
3550: 6b 20 76 6f 69 64 20 28 69 6e 74 20 69 6e 74 29 k void (int int)
3560: 5d 29 29 0a 0a 20 20 28 64 65 66 69 6e 65 2d 66 ])).. (define-f
3570: 75 6e 63 74 69 6f 6e 2f 73 69 6e 67 6c 65 2d 63 unction/single-c
3580: 61 6c 6c 62 61 63 6b 20 76 6f 69 64 20 67 6c 75 allback void glu
3590: 74 52 65 73 68 61 70 65 46 75 6e 63 20 28 5b 63 tReshapeFunc ([c
35a0: 61 6c 6c 62 61 63 6b 20 76 6f 69 64 20 28 69 6e allback void (in
35b0: 74 20 69 6e 74 29 5d 29 29 0a 0a 20 20 3b 3b 20 t int)])).. ;;
35c0: 76 6f 69 64 20 67 6c 75 74 4b 65 79 62 6f 61 72 void glutKeyboar
35d0: 64 46 75 6e 63 28 76 6f 69 64 20 28 2a 66 75 6e dFunc(void (*fun
35e0: 63 29 28 75 6e 73 69 67 6e 65 64 20 63 68 61 72 c)(unsigned char
35f0: 20 6b 65 79 2c 20 69 6e 74 20 78 2c 20 69 6e 74 key, int x, int
3600: 20 79 29 29 0a 20 20 28 64 65 66 69 6e 65 2d 66 y)). (define-f
3610: 75 6e 63 74 69 6f 6e 2f 73 69 6e 67 6c 65 2d 63 unction/single-c
3620: 61 6c 6c 62 61 63 6b 20 76 6f 69 64 20 67 6c 75 allback void glu
3630: 74 4b 65 79 62 6f 61 72 64 46 75 6e 63 20 28 5b tKeyboardFunc ([
3640: 63 61 6c 6c 62 61 63 6b 20 76 6f 69 64 20 28 69 callback void (i
3650: 6e 74 20 69 6e 74 20 69 6e 74 29 5d 29 29 0a 0a nt int int)]))..
3660: 20 20 3b 3b 20 76 6f 69 64 20 67 6c 75 74 4d 6f ;; void glutMo
3670: 75 73 65 46 75 6e 63 28 76 6f 69 64 20 28 2a 66 useFunc(void (*f
3680: 75 6e 63 29 28 69 6e 74 20 62 75 74 74 6f 6e 2c unc)(int button,
3690: 20 69 6e 74 20 73 74 61 74 65 2c 20 69 6e 74 20 int state, int
36a0: 78 2c 20 69 6e 74 20 79 29 29 0a 20 20 28 64 65 x, int y)). (de
36b0: 66 69 6e 65 2d 66 75 6e 63 74 69 6f 6e 2f 73 69 fine-function/si
36c0: 6e 67 6c 65 2d 63 61 6c 6c 62 61 63 6b 20 76 6f ngle-callback vo
36d0: 69 64 20 67 6c 75 74 4d 6f 75 73 65 46 75 6e 63 id glutMouseFunc
36e0: 20 28 5b 63 61 6c 6c 62 61 63 6b 20 76 6f 69 64 ([callback void
36f0: 20 28 69 6e 74 20 69 6e 74 20 69 6e 74 20 69 6e (int int int in
3700: 74 29 5d 29 29 0a 0a 20 20 3b 3b 20 76 6f 69 64 t)])).. ;; void
3710: 20 67 6c 75 74 4d 6f 74 69 6f 6e 46 75 6e 63 28 glutMotionFunc(
3720: 76 6f 69 64 20 28 2a 66 75 6e 63 29 28 69 6e 74 void (*func)(int
3730: 20 78 2c 20 69 6e 74 20 79 29 29 0a 20 20 28 64 x, int y)). (d
3740: 65 66 69 6e 65 2d 66 75 6e 63 74 69 6f 6e 2f 73 efine-function/s
3750: 69 6e 67 6c 65 2d 63 61 6c 6c 62 61 63 6b 20 76 ingle-callback v
3760: 6f 69 64 20 67 6c 75 74 4d 6f 74 69 6f 6e 46 75 oid glutMotionFu
3770: 6e 63 20 28 5b 63 61 6c 6c 62 61 63 6b 20 76 6f nc ([callback vo
3780: 69 64 20 28 69 6e 74 20 69 6e 74 29 5d 29 29 0a id (int int)])).
3790: 0a 20 20 3b 3b 20 76 6f 69 64 20 67 6c 75 74 50 . ;; void glutP
37a0: 61 73 73 69 76 65 4d 6f 74 69 6f 6e 46 75 6e 63 assiveMotionFunc
37b0: 28 76 6f 69 64 20 28 2a 66 75 6e 63 29 28 69 6e (void (*func)(in
37c0: 74 20 78 2c 20 69 6e 74 20 79 29 29 0a 20 20 28 t x, int y)). (
37d0: 64 65 66 69 6e 65 2d 66 75 6e 63 74 69 6f 6e 2f define-function/
37e0: 73 69 6e 67 6c 65 2d 63 61 6c 6c 62 61 63 6b 20 single-callback
37f0: 76 6f 69 64 20 67 6c 75 74 50 61 73 73 69 76 65 void glutPassive
3800: 4d 6f 74 69 6f 6e 46 75 6e 63 20 28 5b 63 61 6c MotionFunc ([cal
3810: 6c 62 61 63 6b 20 76 6f 69 64 20 28 69 6e 74 20 lback void (int
3820: 69 6e 74 29 5d 29 29 0a 0a 20 20 3b 3b 20 76 6f int)])).. ;; vo
3830: 69 64 20 67 6c 75 74 45 6e 74 72 79 46 75 6e 63 id glutEntryFunc
3840: 28 76 6f 69 64 20 28 2a 66 75 6e 63 29 28 69 6e (void (*func)(in
3850: 74 20 73 74 61 74 65 29 29 0a 20 20 28 64 65 66 t state)). (def
3860: 69 6e 65 2d 66 75 6e 63 74 69 6f 6e 2f 73 69 6e ine-function/sin
3870: 67 6c 65 2d 63 61 6c 6c 62 61 63 6b 20 76 6f 69 gle-callback voi
3880: 64 20 67 6c 75 74 45 6e 74 72 79 46 75 6e 63 20 d glutEntryFunc
3890: 28 5b 63 61 6c 6c 62 61 63 6b 20 76 6f 69 64 20 ([callback void
38a0: 28 69 6e 74 29 5d 29 29 0a 0a 20 20 3b 3b 20 76 (int)])).. ;; v
38b0: 6f 69 64 20 67 6c 75 74 56 69 73 69 62 69 6c 69 oid glutVisibili
38c0: 74 79 46 75 6e 63 28 76 6f 69 64 20 28 2a 66 75 tyFunc(void (*fu
38d0: 6e 63 29 28 69 6e 74 20 73 74 61 74 65 29 29 0a nc)(int state)).
38e0: 20 20 28 64 65 66 69 6e 65 2d 66 75 6e 63 74 69 (define-functi
38f0: 6f 6e 2f 73 69 6e 67 6c 65 2d 63 61 6c 6c 62 61 on/single-callba
3900: 63 6b 20 76 6f 69 64 20 67 6c 75 74 56 69 73 69 ck void glutVisi
3910: 62 69 6c 69 74 79 46 75 6e 63 20 28 5b 63 61 6c bilityFunc ([cal
3920: 6c 62 61 63 6b 20 76 6f 69 64 20 28 69 6e 74 29 lback void (int)
3930: 5d 29 29 0a 0a 20 20 3b 3b 20 76 6f 69 64 20 67 ])).. ;; void g
3940: 6c 75 74 49 64 6c 65 46 75 6e 63 28 76 6f 69 64 lutIdleFunc(void
3950: 20 28 2a 66 75 6e 63 29 28 76 6f 69 64 29 29 0a (*func)(void)).
3960: 20 20 28 64 65 66 69 6e 65 2d 66 75 6e 63 74 69 (define-functi
3970: 6f 6e 2f 73 69 6e 67 6c 65 2d 63 61 6c 6c 62 61 on/single-callba
3980: 63 6b 20 76 6f 69 64 20 67 6c 75 74 49 64 6c 65 ck void glutIdle
3990: 46 75 6e 63 20 28 5b 63 61 6c 6c 62 61 63 6b 20 Func ([callback
39a0: 76 6f 69 64 20 28 29 5d 29 29 0a 0a 20 20 3b 3b void ()])).. ;;
39b0: 20 76 6f 69 64 20 67 6c 75 74 54 69 6d 65 72 46 void glutTimerF
39c0: 75 6e 63 28 75 6e 73 69 67 6e 65 64 20 69 6e 74 unc(unsigned int
39d0: 20 6d 69 6c 6c 69 73 2c 20 76 6f 69 64 20 28 2a millis, void (*
39e0: 66 75 6e 63 29 28 69 6e 74 20 76 61 6c 75 65 29 func)(int value)
39f0: 2c 20 69 6e 74 20 76 61 6c 75 65 29 0a 20 20 3b , int value). ;
3a00: 3b 20 28 64 65 66 69 6e 65 2d 66 75 6e 63 74 69 ; (define-functi
3a10: 6f 6e 20 76 6f 69 64 20 67 6c 75 74 54 69 6d 65 on void glutTime
3a20: 72 46 75 6e 63 20 28 69 6e 74 20 5b 63 2d 63 61 rFunc (int [c-ca
3a30: 6c 6c 62 61 63 6b 20 76 6f 69 64 20 28 69 6e 74 llback void (int
3a40: 29 5d 20 69 6e 74 29 29 0a 0a 20 20 28 64 65 66 )] int)).. (def
3a50: 69 6e 65 20 67 6c 75 74 54 69 6d 65 72 46 75 6e ine glutTimerFun
3a60: 63 0a 20 20 20 20 28 6c 65 74 20 28 28 66 20 28 c. (let ((f (
3a70: 66 6f 72 65 69 67 6e 2d 70 72 6f 63 65 64 75 72 foreign-procedur
3a80: 65 20 22 67 6c 75 74 54 69 6d 65 72 46 75 6e 63 e "glutTimerFunc
3a90: 22 20 28 75 6e 73 69 67 6e 65 64 2d 69 6e 74 20 " (unsigned-int
3aa0: 69 6e 74 20 69 6e 74 29 20 76 6f 69 64 29 29 29 int int) void)))
3ab0: 0a 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 . (lambda (
3ac0: 6d 69 6c 6c 69 73 20 70 72 6f 63 20 76 61 6c 75 millis proc valu
3ad0: 65 29 0a 20 20 20 20 20 20 20 20 28 6c 65 74 20 e). (let
3ae0: 28 28 63 6f 64 65 20 28 66 6f 72 65 69 67 6e 2d ((code (foreign-
3af0: 63 61 6c 6c 61 62 6c 65 20 70 72 6f 63 20 28 69 callable proc (i
3b00: 6e 74 29 20 76 6f 69 64 29 29 29 0a 20 20 20 20 nt) void))).
3b10: 20 20 20 20 20 20 28 6c 6f 63 6b 2d 6f 62 6a 65 (lock-obje
3b20: 63 74 20 63 6f 64 65 29 0a 20 20 20 20 20 20 20 ct code).
3b30: 20 20 20 28 66 20 6d 69 6c 6c 69 73 0a 20 20 20 (f millis.
3b40: 20 20 20 20 20 20 20 20 20 20 28 66 6f 72 65 69 (forei
3b50: 67 6e 2d 63 61 6c 6c 61 62 6c 65 2d 65 6e 74 72 gn-callable-entr
3b60: 79 2d 70 6f 69 6e 74 20 63 6f 64 65 29 0a 20 20 y-point code).
3b70: 20 20 20 20 20 20 20 20 20 20 20 76 61 6c 75 65 value
3b80: 29 29 29 29 29 0a 0a 20 20 3b 3b 20 76 6f 69 64 ))))).. ;; void
3b90: 20 67 6c 75 74 4d 65 6e 75 53 74 61 74 65 46 75 glutMenuStateFu
3ba0: 6e 63 28 76 6f 69 64 20 28 2a 66 75 6e 63 29 28 nc(void (*func)(
3bb0: 69 6e 74 20 73 74 61 74 65 29 29 0a 20 20 28 64 int state)). (d
3bc0: 65 66 69 6e 65 2d 66 75 6e 63 74 69 6f 6e 2f 73 efine-function/s
3bd0: 69 6e 67 6c 65 2d 63 61 6c 6c 62 61 63 6b 20 76 ingle-callback v
3be0: 6f 69 64 20 67 6c 75 74 4d 65 6e 75 53 74 61 74 oid glutMenuStat
3bf0: 65 46 75 6e 63 20 28 5b 63 61 6c 6c 62 61 63 6b eFunc ([callback
3c00: 20 76 6f 69 64 20 28 69 6e 74 29 5d 29 29 0a 0a void (int)]))..
3c10: 20 20 3b 3b 20 76 6f 69 64 20 67 6c 75 74 53 70 ;; void glutSp
3c20: 65 63 69 61 6c 46 75 6e 63 28 76 6f 69 64 20 28 ecialFunc(void (
3c30: 2a 66 75 6e 63 29 28 69 6e 74 20 6b 65 79 2c 20 *func)(int key,
3c40: 69 6e 74 20 78 2c 20 69 6e 74 20 79 29 29 0a 20 int x, int y)).
3c50: 20 28 64 65 66 69 6e 65 2d 66 75 6e 63 74 69 6f (define-functio
3c60: 6e 2f 73 69 6e 67 6c 65 2d 63 61 6c 6c 62 61 63 n/single-callbac
3c70: 6b 20 76 6f 69 64 20 67 6c 75 74 53 70 65 63 69 k void glutSpeci
3c80: 61 6c 46 75 6e 63 20 28 5b 63 61 6c 6c 62 61 63 alFunc ([callbac
3c90: 6b 20 76 6f 69 64 20 28 69 6e 74 20 69 6e 74 20 k void (int int
3ca0: 69 6e 74 29 5d 29 29 0a 0a 20 20 3b 3b 20 76 6f int)])).. ;; vo
3cb0: 69 64 20 67 6c 75 74 53 70 61 63 65 62 61 6c 6c id glutSpaceball
3cc0: 4d 6f 74 69 6f 6e 46 75 6e 63 28 76 6f 69 64 20 MotionFunc(void
3cd0: 28 2a 66 75 6e 63 29 28 69 6e 74 20 78 2c 20 69 (*func)(int x, i
3ce0: 6e 74 20 79 2c 20 69 6e 74 20 7a 29 29 0a 20 20 nt y, int z)).
3cf0: 28 64 65 66 69 6e 65 2d 66 75 6e 63 74 69 6f 6e (define-function
3d00: 2f 73 69 6e 67 6c 65 2d 63 61 6c 6c 62 61 63 6b /single-callback
3d10: 20 76 6f 69 64 20 67 6c 75 74 53 70 61 63 65 62 void glutSpaceb
3d20: 61 6c 6c 4d 6f 74 69 6f 6e 46 75 6e 63 20 28 5b allMotionFunc ([
3d30: 63 61 6c 6c 62 61 63 6b 20 76 6f 69 64 20 28 69 callback void (i
3d40: 6e 74 20 69 6e 74 20 69 6e 74 29 5d 29 29 0a 0a nt int int)]))..
3d50: 20 20 3b 3b 20 76 6f 69 64 20 67 6c 75 74 53 70 ;; void glutSp
3d60: 61 63 65 62 61 6c 6c 52 6f 74 61 74 65 46 75 6e aceballRotateFun
3d70: 63 28 76 6f 69 64 20 28 2a 66 75 6e 63 29 28 69 c(void (*func)(i
3d80: 6e 74 20 78 2c 20 69 6e 74 20 79 2c 20 69 6e 74 nt x, int y, int
3d90: 20 7a 29 29 0a 20 20 28 64 65 66 69 6e 65 2d 66 z)). (define-f
3da0: 75 6e 63 74 69 6f 6e 2f 73 69 6e 67 6c 65 2d 63 unction/single-c
3db0: 61 6c 6c 62 61 63 6b 20 76 6f 69 64 20 67 6c 75 allback void glu
3dc0: 74 53 70 61 63 65 62 61 6c 6c 52 6f 74 61 74 65 tSpaceballRotate
3dd0: 46 75 6e 63 20 28 5b 63 61 6c 6c 62 61 63 6b 20 Func ([callback
3de0: 76 6f 69 64 20 28 69 6e 74 20 69 6e 74 20 69 6e void (int int in
3df0: 74 29 5d 29 29 0a 0a 20 20 3b 3b 20 76 6f 69 64 t)])).. ;; void
3e00: 20 67 6c 75 74 53 70 61 63 65 62 61 6c 6c 42 75 glutSpaceballBu
3e10: 74 74 6f 6e 46 75 6e 63 28 76 6f 69 64 20 28 2a ttonFunc(void (*
3e20: 66 75 6e 63 29 28 69 6e 74 20 62 75 74 74 6f 6e func)(int button
3e30: 2c 20 69 6e 74 20 73 74 61 74 65 29 29 0a 20 20 , int state)).
3e40: 28 64 65 66 69 6e 65 2d 66 75 6e 63 74 69 6f 6e (define-function
3e50: 2f 73 69 6e 67 6c 65 2d 63 61 6c 6c 62 61 63 6b /single-callback
3e60: 20 76 6f 69 64 20 67 6c 75 74 53 70 61 63 65 62 void glutSpaceb
3e70: 61 6c 6c 42 75 74 74 6f 6e 46 75 6e 63 20 28 5b allButtonFunc ([
3e80: 63 61 6c 6c 62 61 63 6b 20 76 6f 69 64 20 28 69 callback void (i
3e90: 6e 74 20 69 6e 74 29 5d 29 29 0a 0a 20 20 3b 3b nt int)])).. ;;
3ea0: 20 76 6f 69 64 20 67 6c 75 74 42 75 74 74 6f 6e void glutButton
3eb0: 42 6f 78 46 75 6e 63 28 76 6f 69 64 20 28 2a 66 BoxFunc(void (*f
3ec0: 75 6e 63 29 28 69 6e 74 20 62 75 74 74 6f 6e 2c unc)(int button,
3ed0: 20 69 6e 74 20 73 74 61 74 65 29 29 0a 20 20 28 int state)). (
3ee0: 64 65 66 69 6e 65 2d 66 75 6e 63 74 69 6f 6e 2f define-function/
3ef0: 73 69 6e 67 6c 65 2d 63 61 6c 6c 62 61 63 6b 20 single-callback
3f00: 76 6f 69 64 20 67 6c 75 74 42 75 74 74 6f 6e 42 void glutButtonB
3f10: 6f 78 46 75 6e 63 20 28 5b 63 61 6c 6c 62 61 63 oxFunc ([callbac
3f20: 6b 20 76 6f 69 64 20 28 69 6e 74 20 69 6e 74 29 k void (int int)
3f30: 5d 29 29 0a 0a 20 20 3b 3b 20 76 6f 69 64 20 67 ])).. ;; void g
3f40: 6c 75 74 44 69 61 6c 73 46 75 6e 63 28 76 6f 69 lutDialsFunc(voi
3f50: 64 20 28 2a 66 75 6e 63 29 28 69 6e 74 20 64 69 d (*func)(int di
3f60: 61 6c 2c 20 69 6e 74 20 76 61 6c 75 65 29 29 0a al, int value)).
3f70: 20 20 28 64 65 66 69 6e 65 2d 66 75 6e 63 74 69 (define-functi
3f80: 6f 6e 2f 73 69 6e 67 6c 65 2d 63 61 6c 6c 62 61 on/single-callba
3f90: 63 6b 20 76 6f 69 64 20 67 6c 75 74 44 69 61 6c ck void glutDial
3fa0: 73 46 75 6e 63 20 28 5b 63 61 6c 6c 62 61 63 6b sFunc ([callback
3fb0: 20 76 6f 69 64 20 28 69 6e 74 20 69 6e 74 29 5d void (int int)]
3fc0: 29 29 0a 0a 20 20 3b 3b 20 76 6f 69 64 20 67 6c )).. ;; void gl
3fd0: 75 74 54 61 62 6c 65 74 4d 6f 74 69 6f 6e 46 75 utTabletMotionFu
3fe0: 6e 63 28 76 6f 69 64 20 28 2a 66 75 6e 63 29 28 nc(void (*func)(
3ff0: 69 6e 74 20 78 2c 20 69 6e 74 20 79 29 29 0a 20 int x, int y)).
4000: 20 28 64 65 66 69 6e 65 2d 66 75 6e 63 74 69 6f (define-functio
4010: 6e 2f 73 69 6e 67 6c 65 2d 63 61 6c 6c 62 61 63 n/single-callbac
4020: 6b 20 76 6f 69 64 20 67 6c 75 74 54 61 62 6c 65 k void glutTable
4030: 74 4d 6f 74 69 6f 6e 46 75 6e 63 20 28 5b 63 61 tMotionFunc ([ca
4040: 6c 6c 62 61 63 6b 20 76 6f 69 64 20 28 69 6e 74 llback void (int
4050: 20 69 6e 74 29 5d 29 29 0a 0a 20 20 3b 3b 20 76 int)])).. ;; v
4060: 6f 69 64 20 67 6c 75 74 54 61 62 6c 65 74 42 75 oid glutTabletBu
4070: 74 74 6f 6e 46 75 6e 63 28 76 6f 69 64 20 28 2a ttonFunc(void (*
4080: 66 75 6e 63 29 28 69 6e 74 20 62 75 74 74 6f 6e func)(int button
4090: 2c 20 69 6e 74 20 73 74 61 74 65 2c 20 69 6e 74 , int state, int
40a0: 20 78 2c 20 69 6e 74 20 79 29 29 0a 20 20 28 64 x, int y)). (d
40b0: 65 66 69 6e 65 2d 66 75 6e 63 74 69 6f 6e 2f 73 efine-function/s
40c0: 69 6e 67 6c 65 2d 63 61 6c 6c 62 61 63 6b 20 76 ingle-callback v
40d0: 6f 69 64 20 67 6c 75 74 54 61 62 6c 65 74 42 75 oid glutTabletBu
40e0: 74 74 6f 6e 46 75 6e 63 20 28 5b 63 61 6c 6c 62 ttonFunc ([callb
40f0: 61 63 6b 20 76 6f 69 64 20 28 69 6e 74 20 69 6e ack void (int in
4100: 74 20 69 6e 74 20 69 6e 74 29 5d 29 29 0a 0a 20 t int int)]))..
4110: 20 3b 3b 20 76 6f 69 64 20 67 6c 75 74 4d 65 6e ;; void glutMen
4120: 75 53 74 61 74 75 73 46 75 6e 63 28 76 6f 69 64 uStatusFunc(void
4130: 20 28 2a 66 75 6e 63 29 28 69 6e 74 20 73 74 61 (*func)(int sta
4140: 74 75 73 2c 20 69 6e 74 20 78 2c 20 69 6e 74 20 tus, int x, int
4150: 79 29 29 0a 20 20 28 64 65 66 69 6e 65 2d 66 75 y)). (define-fu
4160: 6e 63 74 69 6f 6e 2f 73 69 6e 67 6c 65 2d 63 61 nction/single-ca
4170: 6c 6c 62 61 63 6b 20 76 6f 69 64 20 67 6c 75 74 llback void glut
4180: 4d 65 6e 75 53 74 61 74 75 73 46 75 6e 63 20 28 MenuStatusFunc (
4190: 5b 63 61 6c 6c 62 61 63 6b 20 76 6f 69 64 20 28 [callback void (
41a0: 69 6e 74 20 69 6e 74 20 69 6e 74 29 5d 29 29 0a int int int)])).
41b0: 0a 20 20 3b 3b 20 76 6f 69 64 20 67 6c 75 74 4f . ;; void glutO
41c0: 76 65 72 6c 61 79 44 69 73 70 6c 61 79 46 75 6e verlayDisplayFun
41d0: 63 28 76 6f 69 64 20 28 2a 66 75 6e 63 29 28 76 c(void (*func)(v
41e0: 6f 69 64 29 29 0a 20 20 28 64 65 66 69 6e 65 2d oid)). (define-
41f0: 66 75 6e 63 74 69 6f 6e 2f 73 69 6e 67 6c 65 2d function/single-
4200: 63 61 6c 6c 62 61 63 6b 20 76 6f 69 64 20 67 6c callback void gl
4210: 75 74 4f 76 65 72 6c 61 79 44 69 73 70 6c 61 79 utOverlayDisplay
4220: 46 75 6e 63 20 28 5b 63 61 6c 6c 62 61 63 6b 20 Func ([callback
4230: 76 6f 69 64 20 28 29 5d 29 29 0a 0a 20 20 3b 3b void ()])).. ;;
4240: 20 76 6f 69 64 20 67 6c 75 74 57 69 6e 64 6f 77 void glutWindow
4250: 53 74 61 74 75 73 46 75 6e 63 28 76 6f 69 64 20 StatusFunc(void
4260: 28 2a 66 75 6e 63 29 28 69 6e 74 20 73 74 61 74 (*func)(int stat
4270: 65 29 29 0a 20 20 28 64 65 66 69 6e 65 2d 66 75 e)). (define-fu
4280: 6e 63 74 69 6f 6e 2f 73 69 6e 67 6c 65 2d 63 61 nction/single-ca
4290: 6c 6c 62 61 63 6b 20 76 6f 69 64 20 67 6c 75 74 llback void glut
42a0: 57 69 6e 64 6f 77 53 74 61 74 75 73 46 75 6e 63 WindowStatusFunc
42b0: 20 28 5b 63 61 6c 6c 62 61 63 6b 20 76 6f 69 64 ([callback void
42c0: 20 28 69 6e 74 29 5d 29 29 0a 0a 20 20 3b 3b 20 (int)])).. ;;
42d0: 76 6f 69 64 20 67 6c 75 74 4b 65 79 62 6f 61 72 void glutKeyboar
42e0: 64 55 70 46 75 6e 63 28 76 6f 69 64 20 28 2a 66 dUpFunc(void (*f
42f0: 75 6e 63 29 28 75 6e 73 69 67 6e 65 64 20 63 68 unc)(unsigned ch
4300: 61 72 20 6b 65 79 2c 20 69 6e 74 20 78 2c 20 69 ar key, int x, i
4310: 6e 74 20 79 29 29 0a 20 20 28 64 65 66 69 6e 65 nt y)). (define
4320: 2d 66 75 6e 63 74 69 6f 6e 2f 73 69 6e 67 6c 65 -function/single
4330: 2d 63 61 6c 6c 62 61 63 6b 20 76 6f 69 64 20 67 -callback void g
4340: 6c 75 74 4b 65 79 62 6f 61 72 64 55 70 46 75 6e lutKeyboardUpFun
4350: 63 20 28 5b 63 61 6c 6c 62 61 63 6b 20 76 6f 69 c ([callback voi
4360: 64 20 28 69 6e 74 20 69 6e 74 20 69 6e 74 29 5d d (int int int)]
4370: 29 29 0a 0a 20 20 3b 3b 20 76 6f 69 64 20 67 6c )).. ;; void gl
4380: 75 74 53 70 65 63 69 61 6c 55 70 46 75 6e 63 28 utSpecialUpFunc(
4390: 76 6f 69 64 20 28 2a 66 75 6e 63 29 28 69 6e 74 void (*func)(int
43a0: 20 6b 65 79 2c 20 69 6e 74 20 78 2c 20 69 6e 74 key, int x, int
43b0: 20 79 29 29 0a 20 20 28 64 65 66 69 6e 65 2d 66 y)). (define-f
43c0: 75 6e 63 74 69 6f 6e 2f 73 69 6e 67 6c 65 2d 63 unction/single-c
43d0: 61 6c 6c 62 61 63 6b 20 76 6f 69 64 20 67 6c 75 allback void glu
43e0: 74 53 70 65 63 69 61 6c 55 70 46 75 6e 63 20 28 tSpecialUpFunc (
43f0: 5b 63 61 6c 6c 62 61 63 6b 20 76 6f 69 64 20 28 [callback void (
4400: 69 6e 74 20 69 6e 74 20 69 6e 74 29 5d 29 29 0a int int int)])).
4410: 0a 20 20 3b 3b 20 76 6f 69 64 20 67 6c 75 74 4a . ;; void glutJ
4420: 6f 79 73 74 69 63 6b 46 75 6e 63 28 76 6f 69 64 oystickFunc(void
4430: 20 28 2a 66 75 6e 63 29 28 75 6e 73 69 67 6e 65 (*func)(unsigne
4440: 64 20 69 6e 74 20 62 75 74 74 6f 6e 4d 61 73 6b d int buttonMask
4450: 2c 20 69 6e 74 20 78 2c 20 69 6e 74 20 79 2c 20 , int x, int y,
4460: 69 6e 74 20 7a 29 2c 20 69 6e 74 20 70 6f 6c 6c int z), int poll
4470: 49 6e 74 65 72 76 61 6c 29 0a 20 20 3b 3b 20 28 Interval). ;; (
4480: 64 65 66 69 6e 65 2d 66 75 6e 63 74 69 6f 6e 20 define-function
4490: 76 6f 69 64 20 67 6c 75 74 4a 6f 79 73 74 69 63 void glutJoystic
44a0: 6b 46 75 6e 63 20 28 5b 63 2d 63 61 6c 6c 62 61 kFunc ([c-callba
44b0: 63 6b 20 76 6f 69 64 20 28 69 6e 74 20 69 6e 74 ck void (int int
44c0: 20 69 6e 74 20 69 6e 74 29 5d 20 69 6e 74 29 29 int int)] int))
44d0: 0a 0a 20 20 28 64 65 66 69 6e 65 20 67 6c 75 74 .. (define glut
44e0: 4a 6f 79 73 74 69 63 6b 46 75 6e 63 0a 20 20 20 JoystickFunc.
44f0: 20 28 6c 65 74 20 28 28 66 20 28 66 6f 72 65 69 (let ((f (forei
4500: 67 6e 2d 70 72 6f 63 65 64 75 72 65 20 22 67 6c gn-procedure "gl
4510: 75 74 4a 6f 79 73 74 69 63 6b 46 75 6e 63 22 20 utJoystickFunc"
4520: 28 69 6e 74 20 69 6e 74 29 20 76 6f 69 64 29 29 (int int) void))
4530: 29 0a 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 ). (lambda
4540: 28 70 72 6f 63 20 70 6f 6c 6c 2d 69 6e 74 65 72 (proc poll-inter
4550: 76 61 6c 29 0a 20 20 20 20 20 20 20 20 28 6c 65 val). (le
4560: 74 20 28 28 63 6f 64 65 20 28 66 6f 72 65 69 67 t ((code (foreig
4570: 6e 2d 63 61 6c 6c 61 62 6c 65 20 70 72 6f 63 20 n-callable proc
4580: 28 75 6e 73 69 67 6e 65 64 2d 69 6e 74 20 69 6e (unsigned-int in
4590: 74 20 69 6e 74 20 69 6e 74 29 20 76 6f 69 64 29 t int int) void)
45a0: 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 6c 6f )). (lo
45b0: 63 6b 2d 6f 62 6a 65 63 74 20 63 6f 64 65 29 0a ck-object code).
45c0: 20 20 20 20 20 20 20 20 20 20 28 66 20 28 66 6f (f (fo
45d0: 72 65 69 67 6e 2d 63 61 6c 6c 61 62 6c 65 2d 65 reign-callable-e
45e0: 6e 74 72 79 2d 70 6f 69 6e 74 20 63 6f 64 65 29 ntry-point code)
45f0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 70 6f . po
4600: 6c 6c 2d 69 6e 74 65 72 76 61 6c 29 29 29 29 29 ll-interval)))))
4610: 0a 0a 20 20 3b 3b 20 76 6f 69 64 20 67 6c 75 74 .. ;; void glut
4620: 53 65 74 43 6f 6c 6f 72 28 69 6e 74 2c 20 47 4c SetColor(int, GL
4630: 66 6c 6f 61 74 20 72 65 64 2c 20 47 4c 66 6c 6f float red, GLflo
4640: 61 74 20 67 72 65 65 6e 2c 20 47 4c 66 6c 6f 61 at green, GLfloa
4650: 74 20 62 6c 75 65 29 0a 20 20 28 64 65 66 69 6e t blue). (defin
4660: 65 2d 66 75 6e 63 74 69 6f 6e 20 76 6f 69 64 20 e-function void
4670: 67 6c 75 74 53 65 74 43 6f 6c 6f 72 20 28 69 6e glutSetColor (in
4680: 74 20 66 6c 6f 61 74 20 66 6c 6f 61 74 20 66 6c t float float fl
4690: 6f 61 74 29 29 0a 0a 20 20 3b 3b 20 47 4c 66 6c oat)).. ;; GLfl
46a0: 6f 61 74 20 67 6c 75 74 47 65 74 43 6f 6c 6f 72 oat glutGetColor
46b0: 28 69 6e 74 20 6e 64 78 2c 20 69 6e 74 20 63 6f (int ndx, int co
46c0: 6d 70 6f 6e 65 6e 74 29 0a 20 20 28 64 65 66 69 mponent). (defi
46d0: 6e 65 2d 66 75 6e 63 74 69 6f 6e 20 64 6f 75 62 ne-function doub
46e0: 6c 65 20 67 6c 75 74 47 65 74 43 6f 6c 6f 72 20 le glutGetColor
46f0: 28 69 6e 74 20 69 6e 74 29 29 0a 0a 20 20 3b 3b (int int)).. ;;
4700: 20 76 6f 69 64 20 67 6c 75 74 43 6f 70 79 43 6f void glutCopyCo
4710: 6c 6f 72 6d 61 70 28 69 6e 74 20 77 69 6e 29 0a lormap(int win).
4720: 20 20 28 64 65 66 69 6e 65 2d 66 75 6e 63 74 69 (define-functi
4730: 6f 6e 20 76 6f 69 64 20 67 6c 75 74 43 6f 70 79 on void glutCopy
4740: 43 6f 6c 6f 72 6d 61 70 20 28 69 6e 74 29 29 0a Colormap (int)).
4750: 0a 20 20 3b 3b 20 69 6e 74 20 67 6c 75 74 47 65 . ;; int glutGe
4760: 74 28 47 4c 65 6e 75 6d 20 74 79 70 65 29 0a 20 t(GLenum type).
4770: 20 28 64 65 66 69 6e 65 2d 66 75 6e 63 74 69 6f (define-functio
4780: 6e 20 69 6e 74 20 67 6c 75 74 47 65 74 20 28 69 n int glutGet (i
4790: 6e 74 29 29 0a 0a 20 20 3b 3b 20 69 6e 74 20 67 nt)).. ;; int g
47a0: 6c 75 74 44 65 76 69 63 65 47 65 74 28 47 4c 65 lutDeviceGet(GLe
47b0: 6e 75 6d 20 74 79 70 65 29 0a 20 20 28 64 65 66 num type). (def
47c0: 69 6e 65 2d 66 75 6e 63 74 69 6f 6e 20 69 6e 74 ine-function int
47d0: 20 67 6c 75 74 44 65 76 69 63 65 47 65 74 20 28 glutDeviceGet (
47e0: 69 6e 74 29 29 0a 0a 20 20 3b 3b 20 69 6e 74 20 int)).. ;; int
47f0: 67 6c 75 74 45 78 74 65 6e 73 69 6f 6e 53 75 70 glutExtensionSup
4800: 70 6f 72 74 65 64 28 63 6f 6e 73 74 20 63 68 61 ported(const cha
4810: 72 20 2a 6e 61 6d 65 29 0a 20 20 28 64 65 66 69 r *name). (defi
4820: 6e 65 2d 66 75 6e 63 74 69 6f 6e 20 69 6e 74 20 ne-function int
4830: 67 6c 75 74 45 78 74 65 6e 73 69 6f 6e 53 75 70 glutExtensionSup
4840: 70 6f 72 74 65 64 20 28 73 74 72 69 6e 67 29 29 ported (string))
4850: 0a 0a 20 20 3b 3b 20 69 6e 74 20 67 6c 75 74 47 .. ;; int glutG
4860: 65 74 4d 6f 64 69 66 69 65 72 73 28 76 6f 69 64 etModifiers(void
4870: 29 0a 20 20 28 64 65 66 69 6e 65 2d 66 75 6e 63 ). (define-func
4880: 74 69 6f 6e 20 69 6e 74 20 67 6c 75 74 47 65 74 tion int glutGet
4890: 4d 6f 64 69 66 69 65 72 73 20 28 29 29 0a 0a 20 Modifiers ())..
48a0: 20 3b 3b 20 69 6e 74 20 67 6c 75 74 4c 61 79 65 ;; int glutLaye
48b0: 72 47 65 74 28 47 4c 65 6e 75 6d 20 74 79 70 65 rGet(GLenum type
48c0: 29 0a 20 20 28 64 65 66 69 6e 65 2d 66 75 6e 63 ). (define-func
48d0: 74 69 6f 6e 20 69 6e 74 20 67 6c 75 74 4c 61 79 tion int glutLay
48e0: 65 72 47 65 74 20 28 69 6e 74 29 29 0a 0a 20 20 erGet (int))..
48f0: 3b 3b 20 76 6f 69 64 20 2a 20 67 6c 75 74 47 65 ;; void * glutGe
4900: 74 50 72 6f 63 41 64 64 72 65 73 73 28 63 6f 6e tProcAddress(con
4910: 73 74 20 63 68 61 72 20 2a 70 72 6f 63 4e 61 6d st char *procNam
4920: 65 29 0a 20 20 28 64 65 66 69 6e 65 2d 66 75 6e e). (define-fun
4930: 63 74 69 6f 6e 20 76 6f 69 64 2a 20 67 6c 75 74 ction void* glut
4940: 47 65 74 50 72 6f 63 41 64 64 72 65 73 73 20 28 GetProcAddress (
4950: 73 74 72 69 6e 67 29 29 0a 0a 20 20 3b 3b 20 76 string)).. ;; v
4960: 6f 69 64 20 67 6c 75 74 42 69 74 6d 61 70 43 68 oid glutBitmapCh
4970: 61 72 61 63 74 65 72 28 76 6f 69 64 20 2a 66 6f aracter(void *fo
4980: 6e 74 2c 20 69 6e 74 20 63 68 61 72 61 63 74 65 nt, int characte
4990: 72 29 0a 20 20 28 64 65 66 69 6e 65 2d 66 75 6e r). (define-fun
49a0: 63 74 69 6f 6e 20 76 6f 69 64 2a 20 67 6c 75 74 ction void* glut
49b0: 42 69 74 6d 61 70 43 68 61 72 61 63 74 65 72 20 BitmapCharacter
49c0: 28 76 6f 69 64 2a 20 69 6e 74 29 29 0a 0a 20 20 (void* int))..
49d0: 3b 3b 20 69 6e 74 20 67 6c 75 74 42 69 74 6d 61 ;; int glutBitma
49e0: 70 57 69 64 74 68 28 76 6f 69 64 20 2a 66 6f 6e pWidth(void *fon
49f0: 74 2c 20 69 6e 74 20 63 68 61 72 61 63 74 65 72 t, int character
4a00: 29 0a 20 20 28 64 65 66 69 6e 65 2d 66 75 6e 63 ). (define-func
4a10: 74 69 6f 6e 20 69 6e 74 20 67 6c 75 74 42 69 74 tion int glutBit
4a20: 6d 61 70 57 69 64 74 68 20 28 76 6f 69 64 2a 20 mapWidth (void*
4a30: 69 6e 74 29 29 0a 0a 20 20 3b 3b 20 76 6f 69 64 int)).. ;; void
4a40: 20 67 6c 75 74 53 74 72 6f 6b 65 43 68 61 72 61 glutStrokeChara
4a50: 63 74 65 72 28 76 6f 69 64 20 2a 66 6f 6e 74 2c cter(void *font,
4a60: 20 69 6e 74 20 63 68 61 72 61 63 74 65 72 29 0a int character).
4a70: 20 20 28 64 65 66 69 6e 65 2d 66 75 6e 63 74 69 (define-functi
4a80: 6f 6e 20 76 6f 69 64 20 67 6c 75 74 53 74 72 6f on void glutStro
4a90: 6b 65 43 68 61 72 61 63 74 65 72 20 28 76 6f 69 keCharacter (voi
4aa0: 64 2a 20 69 6e 74 29 29 0a 0a 20 20 3b 3b 20 69 d* int)).. ;; i
4ab0: 6e 74 20 67 6c 75 74 53 74 72 6f 6b 65 57 69 64 nt glutStrokeWid
4ac0: 74 68 28 76 6f 69 64 20 2a 66 6f 6e 74 2c 20 69 th(void *font, i
4ad0: 6e 74 20 63 68 61 72 61 63 74 65 72 29 0a 20 20 nt character).
4ae0: 28 64 65 66 69 6e 65 2d 66 75 6e 63 74 69 6f 6e (define-function
4af0: 20 69 6e 74 20 67 6c 75 74 53 74 72 6f 6b 65 57 int glutStrokeW
4b00: 69 64 74 68 20 28 76 6f 69 64 2a 20 69 6e 74 29 idth (void* int)
4b10: 29 0a 0a 20 20 3b 3b 20 69 6e 74 20 67 6c 75 74 ).. ;; int glut
4b20: 42 69 74 6d 61 70 4c 65 6e 67 74 68 28 76 6f 69 BitmapLength(voi
4b30: 64 20 2a 66 6f 6e 74 2c 20 63 6f 6e 73 74 20 75 d *font, const u
4b40: 6e 73 69 67 6e 65 64 20 63 68 61 72 20 2a 73 74 nsigned char *st
4b50: 72 69 6e 67 29 0a 20 20 28 64 65 66 69 6e 65 2d ring). (define-
4b60: 66 75 6e 63 74 69 6f 6e 20 69 6e 74 20 67 6c 75 function int glu
4b70: 74 42 69 74 6d 61 70 4c 65 6e 67 74 68 20 28 76 tBitmapLength (v
4b80: 6f 69 64 2a 20 73 74 72 69 6e 67 29 29 0a 0a 20 oid* string))..
4b90: 20 3b 3b 20 69 6e 74 20 67 6c 75 74 53 74 72 6f ;; int glutStro
4ba0: 6b 65 4c 65 6e 67 74 68 28 76 6f 69 64 20 2a 66 keLength(void *f
4bb0: 6f 6e 74 2c 20 63 6f 6e 73 74 20 75 6e 73 69 67 ont, const unsig
4bc0: 6e 65 64 20 63 68 61 72 20 2a 73 74 72 69 6e 67 ned char *string
4bd0: 29 0a 20 20 28 64 65 66 69 6e 65 2d 66 75 6e 63 ). (define-func
4be0: 74 69 6f 6e 20 69 6e 74 20 67 6c 75 74 53 74 72 tion int glutStr
4bf0: 6f 6b 65 4c 65 6e 67 74 68 20 28 76 6f 69 64 2a okeLength (void*
4c00: 20 73 74 72 69 6e 67 29 29 0a 0a 20 20 3b 3b 20 string)).. ;;
4c10: 76 6f 69 64 20 67 6c 75 74 57 69 72 65 53 70 68 void glutWireSph
4c20: 65 72 65 28 47 4c 64 6f 75 62 6c 65 20 72 61 64 ere(GLdouble rad
4c30: 69 75 73 2c 20 47 4c 69 6e 74 20 73 6c 69 63 65 ius, GLint slice
4c40: 73 2c 20 47 4c 69 6e 74 20 73 74 61 63 6b 73 29 s, GLint stacks)
4c50: 0a 20 20 28 64 65 66 69 6e 65 2d 66 75 6e 63 74 . (define-funct
4c60: 69 6f 6e 20 69 6e 74 20 67 6c 75 74 57 69 72 65 ion int glutWire
4c70: 53 70 68 65 72 65 20 28 64 6f 75 62 6c 65 20 69 Sphere (double i
4c80: 6e 74 20 69 6e 74 29 29 0a 0a 20 20 3b 3b 20 76 nt int)).. ;; v
4c90: 6f 69 64 20 67 6c 75 74 53 6f 6c 69 64 53 70 68 oid glutSolidSph
4ca0: 65 72 65 28 47 4c 64 6f 75 62 6c 65 20 72 61 64 ere(GLdouble rad
4cb0: 69 75 73 2c 20 47 4c 69 6e 74 20 73 6c 69 63 65 ius, GLint slice
4cc0: 73 2c 20 47 4c 69 6e 74 20 73 74 61 63 6b 73 29 s, GLint stacks)
4cd0: 0a 20 20 28 64 65 66 69 6e 65 2d 66 75 6e 63 74 . (define-funct
4ce0: 69 6f 6e 20 76 6f 69 64 20 67 6c 75 74 53 6f 6c ion void glutSol
4cf0: 69 64 53 70 68 65 72 65 20 28 64 6f 75 62 6c 65 idSphere (double
4d00: 20 69 6e 74 20 69 6e 74 29 29 0a 0a 20 20 3b 3b int int)).. ;;
4d10: 20 76 6f 69 64 20 67 6c 75 74 57 69 72 65 43 6f void glutWireCo
4d20: 6e 65 28 47 4c 64 6f 75 62 6c 65 20 62 61 73 65 ne(GLdouble base
4d30: 2c 20 47 4c 64 6f 75 62 6c 65 20 68 65 69 67 68 , GLdouble heigh
4d40: 74 2c 20 47 4c 69 6e 74 20 73 6c 69 63 65 73 2c t, GLint slices,
4d50: 20 47 4c 69 6e 74 20 73 74 61 63 6b 73 29 0a 20 GLint stacks).
4d60: 20 28 64 65 66 69 6e 65 2d 66 75 6e 63 74 69 6f (define-functio
4d70: 6e 20 76 6f 69 64 20 67 6c 75 74 57 69 72 65 43 n void glutWireC
4d80: 6f 6e 65 20 28 64 6f 75 62 6c 65 20 64 6f 75 62 one (double doub
4d90: 6c 65 20 69 6e 74 20 69 6e 74 29 29 0a 0a 20 20 le int int))..
4da0: 3b 3b 20 76 6f 69 64 20 67 6c 75 74 53 6f 6c 69 ;; void glutSoli
4db0: 64 43 6f 6e 65 28 47 4c 64 6f 75 62 6c 65 20 62 dCone(GLdouble b
4dc0: 61 73 65 2c 20 47 4c 64 6f 75 62 6c 65 20 68 65 ase, GLdouble he
4dd0: 69 67 68 74 2c 20 47 4c 69 6e 74 20 73 6c 69 63 ight, GLint slic
4de0: 65 73 2c 20 47 4c 69 6e 74 20 73 74 61 63 6b 73 es, GLint stacks
4df0: 29 0a 20 20 28 64 65 66 69 6e 65 2d 66 75 6e 63 ). (define-func
4e00: 74 69 6f 6e 20 76 6f 69 64 20 67 6c 75 74 53 6f tion void glutSo
4e10: 6c 69 64 43 6f 6e 65 20 28 64 6f 75 62 6c 65 20 lidCone (double
4e20: 64 6f 75 62 6c 65 20 69 6e 74 20 69 6e 74 29 29 double int int))
4e30: 0a 0a 20 20 3b 3b 20 76 6f 69 64 20 67 6c 75 74 .. ;; void glut
4e40: 57 69 72 65 43 75 62 65 28 47 4c 64 6f 75 62 6c WireCube(GLdoubl
4e50: 65 20 73 69 7a 65 29 0a 20 20 28 64 65 66 69 6e e size). (defin
4e60: 65 2d 66 75 6e 63 74 69 6f 6e 20 76 6f 69 64 20 e-function void
4e70: 67 6c 75 74 57 69 72 65 43 75 62 65 20 28 64 6f glutWireCube (do
4e80: 75 62 6c 65 29 29 0a 0a 20 20 3b 3b 20 76 6f 69 uble)).. ;; voi
4e90: 64 20 67 6c 75 74 53 6f 6c 69 64 43 75 62 65 28 d glutSolidCube(
4ea0: 47 4c 64 6f 75 62 6c 65 20 73 69 7a 65 29 0a 20 GLdouble size).
4eb0: 20 28 64 65 66 69 6e 65 2d 66 75 6e 63 74 69 6f (define-functio
4ec0: 6e 20 76 6f 69 64 20 67 6c 75 74 53 6f 6c 69 64 n void glutSolid
4ed0: 43 75 62 65 20 28 64 6f 75 62 6c 65 29 29 0a 0a Cube (double))..
4ee0: 20 20 3b 3b 20 76 6f 69 64 20 67 6c 75 74 57 69 ;; void glutWi
4ef0: 72 65 54 6f 72 75 73 28 47 4c 64 6f 75 62 6c 65 reTorus(GLdouble
4f00: 20 69 6e 6e 65 72 52 61 64 69 75 73 2c 20 47 4c innerRadius, GL
4f10: 64 6f 75 62 6c 65 20 6f 75 74 65 72 52 61 64 69 double outerRadi
4f20: 75 73 2c 20 47 4c 69 6e 74 20 73 69 64 65 73 2c us, GLint sides,
4f30: 20 47 4c 69 6e 74 20 72 69 6e 67 73 29 0a 20 20 GLint rings).
4f40: 28 64 65 66 69 6e 65 2d 66 75 6e 63 74 69 6f 6e (define-function
4f50: 20 76 6f 69 64 20 67 6c 75 74 57 69 72 65 54 6f void glutWireTo
4f60: 72 75 73 20 28 64 6f 75 62 6c 65 20 64 6f 75 62 rus (double doub
4f70: 6c 65 20 69 6e 74 20 69 6e 74 29 29 0a 0a 20 20 le int int))..
4f80: 3b 3b 20 76 6f 69 64 20 67 6c 75 74 53 6f 6c 69 ;; void glutSoli
4f90: 64 54 6f 72 75 73 28 47 4c 64 6f 75 62 6c 65 20 dTorus(GLdouble
4fa0: 69 6e 6e 65 72 52 61 64 69 75 73 2c 20 47 4c 64 innerRadius, GLd
4fb0: 6f 75 62 6c 65 20 6f 75 74 65 72 52 61 64 69 75 ouble outerRadiu
4fc0: 73 2c 20 47 4c 69 6e 74 20 73 69 64 65 73 2c 20 s, GLint sides,
4fd0: 47 4c 69 6e 74 20 72 69 6e 67 73 29 0a 20 20 28 GLint rings). (
4fe0: 64 65 66 69 6e 65 2d 66 75 6e 63 74 69 6f 6e 20 define-function
4ff0: 76 6f 69 64 20 67 6c 75 74 53 6f 6c 69 64 54 6f void glutSolidTo
5000: 72 75 73 20 28 64 6f 75 62 6c 65 20 64 6f 75 62 rus (double doub
5010: 6c 65 20 69 6e 74 20 69 6e 74 29 29 0a 0a 20 20 le int int))..
5020: 3b 3b 20 76 6f 69 64 20 67 6c 75 74 57 69 72 65 ;; void glutWire
5030: 44 6f 64 65 63 61 68 65 64 72 6f 6e 28 76 6f 69 Dodecahedron(voi
5040: 64 29 0a 20 20 28 64 65 66 69 6e 65 2d 66 75 6e d). (define-fun
5050: 63 74 69 6f 6e 20 76 6f 69 64 20 67 6c 75 74 57 ction void glutW
5060: 69 72 65 44 6f 64 65 63 61 68 65 64 72 6f 6e 20 ireDodecahedron
5070: 28 29 29 0a 0a 20 20 3b 3b 20 76 6f 69 64 20 67 ()).. ;; void g
5080: 6c 75 74 53 6f 6c 69 64 44 6f 64 65 63 61 68 65 lutSolidDodecahe
5090: 64 72 6f 6e 28 76 6f 69 64 29 0a 20 20 28 64 65 dron(void). (de
50a0: 66 69 6e 65 2d 66 75 6e 63 74 69 6f 6e 20 76 6f fine-function vo
50b0: 69 64 20 67 6c 75 74 53 6f 6c 69 64 44 6f 64 65 id glutSolidDode
50c0: 63 61 68 65 64 72 6f 6e 20 28 29 29 0a 0a 20 20 cahedron ())..
50d0: 3b 3b 20 76 6f 69 64 20 67 6c 75 74 57 69 72 65 ;; void glutWire
50e0: 54 65 61 70 6f 74 28 47 4c 64 6f 75 62 6c 65 20 Teapot(GLdouble
50f0: 73 69 7a 65 29 0a 20 20 28 64 65 66 69 6e 65 2d size). (define-
5100: 66 75 6e 63 74 69 6f 6e 20 76 6f 69 64 20 67 6c function void gl
5110: 75 74 57 69 72 65 54 65 61 70 6f 74 20 28 64 6f utWireTeapot (do
5120: 75 62 6c 65 29 29 0a 0a 20 20 3b 3b 20 76 6f 69 uble)).. ;; voi
5130: 64 20 67 6c 75 74 53 6f 6c 69 64 54 65 61 70 6f d glutSolidTeapo
5140: 74 28 47 4c 64 6f 75 62 6c 65 20 73 69 7a 65 29 t(GLdouble size)
5150: 0a 20 20 28 64 65 66 69 6e 65 2d 66 75 6e 63 74 . (define-funct
5160: 69 6f 6e 20 76 6f 69 64 20 67 6c 75 74 53 6f 6c ion void glutSol
5170: 69 64 54 65 61 70 6f 74 20 28 64 6f 75 62 6c 65 idTeapot (double
5180: 29 29 0a 0a 20 20 3b 3b 20 76 6f 69 64 20 67 6c )).. ;; void gl
5190: 75 74 57 69 72 65 4f 63 74 61 68 65 64 72 6f 6e utWireOctahedron
51a0: 28 76 6f 69 64 29 0a 20 20 28 64 65 66 69 6e 65 (void). (define
51b0: 2d 66 75 6e 63 74 69 6f 6e 20 76 6f 69 64 20 67 -function void g
51c0: 6c 75 74 57 69 72 65 4f 63 74 61 68 65 64 72 6f lutWireOctahedro
51d0: 6e 20 28 29 29 0a 0a 20 20 3b 3b 20 76 6f 69 64 n ()).. ;; void
51e0: 20 67 6c 75 74 53 6f 6c 69 64 4f 63 74 61 68 65 glutSolidOctahe
51f0: 64 72 6f 6e 28 76 6f 69 64 29 0a 20 20 28 64 65 dron(void). (de
5200: 66 69 6e 65 2d 66 75 6e 63 74 69 6f 6e 20 76 6f fine-function vo
5210: 69 64 20 67 6c 75 74 53 6f 6c 69 64 4f 63 74 61 id glutSolidOcta
5220: 68 65 64 72 6f 6e 20 28 29 29 0a 0a 20 20 3b 3b hedron ()).. ;;
5230: 20 76 6f 69 64 20 67 6c 75 74 57 69 72 65 54 65 void glutWireTe
5240: 74 72 61 68 65 64 72 6f 6e 28 76 6f 69 64 29 0a trahedron(void).
5250: 20 20 28 64 65 66 69 6e 65 2d 66 75 6e 63 74 69 (define-functi
5260: 6f 6e 20 76 6f 69 64 20 67 6c 75 74 57 69 72 65 on void glutWire
5270: 54 65 74 72 61 68 65 64 72 6f 6e 20 28 29 29 0a Tetrahedron ()).
5280: 0a 20 20 3b 3b 20 76 6f 69 64 20 67 6c 75 74 53 . ;; void glutS
5290: 6f 6c 69 64 54 65 74 72 61 68 65 64 72 6f 6e 28 olidTetrahedron(
52a0: 76 6f 69 64 29 0a 20 20 28 64 65 66 69 6e 65 2d void). (define-
52b0: 66 75 6e 63 74 69 6f 6e 20 76 6f 69 64 20 67 6c function void gl
52c0: 75 74 53 6f 6c 69 64 54 65 74 72 61 68 65 64 72 utSolidTetrahedr
52d0: 6f 6e 20 28 29 29 0a 0a 20 20 3b 3b 20 76 6f 69 on ()).. ;; voi
52e0: 64 20 67 6c 75 74 57 69 72 65 49 63 6f 73 61 68 d glutWireIcosah
52f0: 65 64 72 6f 6e 28 76 6f 69 64 29 0a 20 20 28 64 edron(void). (d
5300: 65 66 69 6e 65 2d 66 75 6e 63 74 69 6f 6e 20 76 efine-function v
5310: 6f 69 64 20 67 6c 75 74 57 69 72 65 49 63 6f 73 oid glutWireIcos
5320: 61 68 65 64 72 6f 6e 20 28 29 29 0a 0a 20 20 3b ahedron ()).. ;
5330: 3b 20 76 6f 69 64 20 67 6c 75 74 53 6f 6c 69 64 ; void glutSolid
5340: 49 63 6f 73 61 68 65 64 72 6f 6e 28 76 6f 69 64 Icosahedron(void
5350: 29 0a 20 20 28 64 65 66 69 6e 65 2d 66 75 6e 63 ). (define-func
5360: 74 69 6f 6e 20 76 6f 69 64 20 67 6c 75 74 53 6f tion void glutSo
5370: 6c 69 64 49 63 6f 73 61 68 65 64 72 6f 6e 20 28 lidIcosahedron (
5380: 29 29 0a 0a 20 20 3b 3b 20 69 6e 74 20 67 6c 75 )).. ;; int glu
5390: 74 56 69 64 65 6f 52 65 73 69 7a 65 47 65 74 28 tVideoResizeGet(
53a0: 47 4c 65 6e 75 6d 20 70 61 72 61 6d 29 0a 20 20 GLenum param).
53b0: 28 64 65 66 69 6e 65 2d 66 75 6e 63 74 69 6f 6e (define-function
53c0: 20 69 6e 74 20 67 6c 75 74 56 69 64 65 6f 52 65 int glutVideoRe
53d0: 73 69 7a 65 47 65 74 20 28 29 29 0a 0a 20 20 3b sizeGet ()).. ;
53e0: 3b 20 76 6f 69 64 20 67 6c 75 74 53 65 74 75 70 ; void glutSetup
53f0: 56 69 64 65 6f 52 65 73 69 7a 69 6e 67 28 76 6f VideoResizing(vo
5400: 69 64 29 0a 20 20 28 64 65 66 69 6e 65 2d 66 75 id). (define-fu
5410: 6e 63 74 69 6f 6e 20 69 6e 74 20 67 6c 75 74 53 nction int glutS
5420: 65 74 75 70 56 69 64 65 6f 52 65 73 69 7a 69 6e etupVideoResizin
5430: 67 20 28 29 29 0a 0a 20 20 3b 3b 20 76 6f 69 64 g ()).. ;; void
5440: 20 67 6c 75 74 53 74 6f 70 56 69 64 65 6f 52 65 glutStopVideoRe
5450: 73 69 7a 69 6e 67 28 76 6f 69 64 29 0a 20 20 28 sizing(void). (
5460: 64 65 66 69 6e 65 2d 66 75 6e 63 74 69 6f 6e 20 define-function
5470: 76 6f 69 64 20 67 6c 75 74 53 74 6f 70 56 69 64 void glutStopVid
5480: 65 6f 52 65 73 69 7a 69 6e 67 20 28 29 29 0a 0a eoResizing ())..
5490: 20 20 3b 3b 20 76 6f 69 64 20 67 6c 75 74 56 69 ;; void glutVi
54a0: 64 65 6f 52 65 73 69 7a 65 28 69 6e 74 20 78 2c deoResize(int x,
54b0: 20 69 6e 74 20 79 2c 20 69 6e 74 20 77 69 64 74 int y, int widt
54c0: 68 2c 20 69 6e 74 20 68 65 69 67 68 74 29 0a 20 h, int height).
54d0: 20 28 64 65 66 69 6e 65 2d 66 75 6e 63 74 69 6f (define-functio
54e0: 6e 20 76 6f 69 64 20 67 6c 75 74 56 69 64 65 6f n void glutVideo
54f0: 52 65 73 69 7a 65 20 28 69 6e 74 20 69 6e 74 20 Resize (int int
5500: 69 6e 74 20 69 6e 74 29 29 0a 0a 20 20 3b 3b 20 int int)).. ;;
5510: 76 6f 69 64 20 67 6c 75 74 56 69 64 65 6f 50 61 void glutVideoPa
5520: 6e 28 69 6e 74 20 78 2c 20 69 6e 74 20 79 2c 20 n(int x, int y,
5530: 69 6e 74 20 77 69 64 74 68 2c 20 69 6e 74 20 68 int width, int h
5540: 65 69 67 68 74 29 0a 20 20 28 64 65 66 69 6e 65 eight). (define
5550: 2d 66 75 6e 63 74 69 6f 6e 20 76 6f 69 64 20 67 -function void g
5560: 6c 75 74 56 69 64 65 6f 50 61 6e 20 28 69 6e 74 lutVideoPan (int
5570: 20 69 6e 74 20 69 6e 74 20 69 6e 74 29 29 0a 0a int int int))..
5580: 20 20 3b 3b 20 76 6f 69 64 20 67 6c 75 74 52 65 ;; void glutRe
5590: 70 6f 72 74 45 72 72 6f 72 73 28 76 6f 69 64 29 portErrors(void)
55a0: 0a 20 20 28 64 65 66 69 6e 65 2d 66 75 6e 63 74 . (define-funct
55b0: 69 6f 6e 20 76 6f 69 64 20 67 6c 75 74 52 65 70 ion void glutRep
55c0: 6f 72 74 45 72 72 6f 72 73 20 28 29 29 0a 0a 20 ortErrors ())..
55d0: 20 3b 3b 20 76 6f 69 64 20 67 6c 75 74 49 67 6e ;; void glutIgn
55e0: 6f 72 65 4b 65 79 52 65 70 65 61 74 28 69 6e 74 oreKeyRepeat(int
55f0: 20 69 67 6e 6f 72 65 29 0a 20 20 28 64 65 66 69 ignore). (defi
5600: 6e 65 2d 66 75 6e 63 74 69 6f 6e 20 76 6f 69 64 ne-function void
5610: 20 67 6c 75 74 49 67 6e 6f 72 65 4b 65 79 52 65 glutIgnoreKeyRe
5620: 70 65 61 74 20 28 69 6e 74 29 29 0a 0a 20 20 3b peat (int)).. ;
5630: 3b 20 76 6f 69 64 20 67 6c 75 74 53 65 74 4b 65 ; void glutSetKe
5640: 79 52 65 70 65 61 74 28 69 6e 74 20 72 65 70 65 yRepeat(int repe
5650: 61 74 4d 6f 64 65 29 0a 20 20 28 64 65 66 69 6e atMode). (defin
5660: 65 2d 66 75 6e 63 74 69 6f 6e 20 76 6f 69 64 20 e-function void
5670: 67 6c 75 74 53 65 74 4b 65 79 52 65 70 65 61 74 glutSetKeyRepeat
5680: 20 28 69 6e 74 29 29 0a 0a 20 20 3b 3b 20 76 6f (int)).. ;; vo
5690: 69 64 20 67 6c 75 74 46 6f 72 63 65 4a 6f 79 73 id glutForceJoys
56a0: 74 69 63 6b 46 75 6e 63 28 76 6f 69 64 29 0a 20 tickFunc(void).
56b0: 20 28 64 65 66 69 6e 65 2d 66 75 6e 63 74 69 6f (define-functio
56c0: 6e 20 76 6f 69 64 20 67 6c 75 74 46 6f 72 63 65 n void glutForce
56d0: 4a 6f 79 73 74 69 63 6b 46 75 6e 63 20 28 29 29 JoystickFunc ())
56e0: 0a 0a 20 20 3b 3b 20 76 6f 69 64 20 67 6c 75 74 .. ;; void glut
56f0: 47 61 6d 65 4d 6f 64 65 53 74 72 69 6e 67 28 63 GameModeString(c
5700: 6f 6e 73 74 20 63 68 61 72 20 2a 73 74 72 69 6e onst char *strin
5710: 67 29 0a 20 20 28 64 65 66 69 6e 65 2d 66 75 6e g). (define-fun
5720: 63 74 69 6f 6e 20 76 6f 69 64 20 67 6c 75 74 47 ction void glutG
5730: 61 6d 65 4d 6f 64 65 53 74 72 69 6e 67 20 28 73 ameModeString (s
5740: 74 72 69 6e 67 29 29 0a 0a 20 20 3b 3b 20 69 6e tring)).. ;; in
5750: 74 20 67 6c 75 74 45 6e 74 65 72 47 61 6d 65 4d t glutEnterGameM
5760: 6f 64 65 28 76 6f 69 64 29 0a 20 20 28 64 65 66 ode(void). (def
5770: 69 6e 65 2d 66 75 6e 63 74 69 6f 6e 20 69 6e 74 ine-function int
5780: 20 67 6c 75 74 45 6e 74 65 72 47 61 6d 65 4d 6f glutEnterGameMo
5790: 64 65 20 28 29 29 0a 0a 20 20 3b 3b 20 76 6f 69 de ()).. ;; voi
57a0: 64 20 67 6c 75 74 4c 65 61 76 65 47 61 6d 65 4d d glutLeaveGameM
57b0: 6f 64 65 28 76 6f 69 64 29 0a 20 20 28 64 65 66 ode(void). (def
57c0: 69 6e 65 2d 66 75 6e 63 74 69 6f 6e 20 76 6f 69 ine-function voi
57d0: 64 20 67 6c 75 74 4c 65 61 76 65 47 61 6d 65 4d d glutLeaveGameM
57e0: 6f 64 65 20 28 29 29 0a 0a 20 20 3b 3b 20 69 6e ode ()).. ;; in
57f0: 74 20 67 6c 75 74 47 61 6d 65 4d 6f 64 65 47 65 t glutGameModeGe
5800: 74 28 47 4c 65 6e 75 6d 20 6d 6f 64 65 29 0a 20 t(GLenum mode).
5810: 20 28 64 65 66 69 6e 65 2d 66 75 6e 63 74 69 6f (define-functio
5820: 6e 20 69 6e 74 20 67 6c 75 74 47 61 6d 65 4d 6f n int glutGameMo
5830: 64 65 47 65 74 20 28 69 6e 74 29 29 0a 0a 20 20 deGet (int))..
5840: 29 0a ).