1 | /* $Id: glucb32.h,v 1.2 2000-02-01 19:41:54 sandervl Exp $ */
|
---|
2 | /*****************************************************************************/
|
---|
3 | /* */
|
---|
4 | /* Glu/Glut Callback logic - Header Files */
|
---|
5 | /* */
|
---|
6 | /*****************************************************************************/
|
---|
7 |
|
---|
8 | typedef void (* APIENTRY GLUOS2CALLBACK)();
|
---|
9 | typedef void (* WIN32API GLUWINCALLBACK)();
|
---|
10 |
|
---|
11 | typedef struct tagGLUCB /* GLU Callback Wrapper structure */
|
---|
12 | {
|
---|
13 | GLUOS2CALLBACK entryAddress;
|
---|
14 | GLbyte objtype;
|
---|
15 | void *object;
|
---|
16 | GLenum which;
|
---|
17 | GLint parms_on_stack;
|
---|
18 | struct tagGLUCB *Next;
|
---|
19 | }GLUCB;
|
---|
20 |
|
---|
21 | #define GLUCB_NURBS 1
|
---|
22 | #define GLUCB_QUADRIC 2
|
---|
23 | #define GLUCB_TESS 3
|
---|
24 |
|
---|
25 | #define GLUTCB_DISPLAY 100
|
---|
26 | #define GLUTCB_IDLE 101
|
---|
27 | #define GLUTCB_KEYBOARD 102
|
---|
28 | #define GLUTCB_MENU 103
|
---|
29 | #define GLUTCB_MENUSTATE 104
|
---|
30 | #define GLUTCB_MOUSE 105
|
---|
31 | #define GLUTCB_MOTION 106
|
---|
32 | #define GLUTCB_PASSIVEMOTION 107
|
---|
33 | #define GLUTCB_RESHAPE 108
|
---|
34 | #define GLUTCB_SPECIAL 109
|
---|
35 | #define GLUTCB_TIMER 110
|
---|
36 | #define GLUTCB_VISIBILITY 111
|
---|
37 |
|
---|
38 | #define GLUT_OBJECT 0x80000000
|
---|
39 |
|
---|
40 | extern GLUOS2CALLBACK OS2glucbRegisterCallback(GLbyte objtype,
|
---|
41 | void *object,
|
---|
42 | GLenum which,
|
---|
43 | GLUWINCALLBACK CallBackFunc);
|
---|
44 | extern void OS2glucbDestroyGlucb(GLUCB *glucb);
|
---|
45 | extern void OS2glucbDestroyCallbackForObject(GLbyte objtype,void *object);
|
---|
46 | extern void OS2glucbDestroyCallbackForObjectWhich(GLbyte objtype,void *object,GLenum which);
|
---|
47 | extern void OS2glucbSetWhich(GLUOS2CALLBACK pfn,GLenum which);
|
---|
48 |
|
---|
49 | /*****************************************************************************/
|
---|
50 | /* */
|
---|
51 | /* Externals */
|
---|
52 | /* */
|
---|
53 | /*****************************************************************************/
|
---|
54 |
|
---|
55 | extern GLUCB *Glucbs;
|
---|
56 | extern HMTX hmtxGlucb;
|
---|