source: trunk/src/opengl/glut32.cpp@ 2534

Last change on this file since 2534 was 2532, checked in by sandervl, 26 years ago

JvdH: Created opengl dll

File size: 17.7 KB
Line 
1/* $Id: glut32.cpp,v 1.1 2000-01-27 21:49:13 sandervl Exp $ */
2/*****************************************************************************/
3/* */
4/* GLUT32 API */
5/* */
6/*****************************************************************************/
7#define INCL_BASE
8#include <os2.h>
9#include <os2wrap.h>
10#include <misc.h>
11#include <malloc.h>
12#include <memory.h>
13
14#include "glos2.h"
15#include "gluos2.h"
16#include "glutos2.h"
17#include "glucb32.h"
18
19/*****************************************************************************/
20/* */
21/* glut Functions */
22/* */
23/*****************************************************************************/
24
25void WIN32API glutInit(int *argcp, char **argv)
26{
27 dprintf(("glutInit argcp: %08X, argv %08X\n",argcp,argv));
28
29 OS2glutInit(argcp,argv);
30
31 dprintf(("glutInit complete\n"));
32}
33
34void WIN32API glutInitDisplayMode(unsigned long mode)
35{
36 dprintf(("glutInitDisplayMode - mode %08X\n",mode));
37
38 OS2glutInitDisplayMode(mode);
39}
40
41void WIN32API glutInitWindowPosition(int x,int y)
42{
43 dprintf(("glutInitWindowPosition\n"));
44 OS2glutInitWindowPosition(x,y);
45}
46
47void WIN32API glutInitWindowSize(int width,int height)
48{
49 dprintf(("glutInitWindowSize\n"));
50 OS2glutInitWindowSize(width,height);
51}
52
53void WIN32API glutMainLoop(void)
54{
55 dprintf(("glutMainLoop\n"));
56 OS2glutMainLoop();
57}
58
59int WIN32API glutCreateWindow(char *title)
60{
61 int rc;
62
63 dprintf(("glutCreateWindow - title %s\n",title));
64
65 rc=OS2glutCreateWindow(title);
66
67 dprintf(("glutCreateWindow - Created - id %d\n",rc));
68
69 return rc;
70}
71
72int WIN32API glutCreateSubWindow(int win,int x,int y,int width,int height)
73{
74 return OS2glutCreateSubWindow(win,x,y,width,height);
75}
76
77void WIN32API glutDestroyWindow(int win)
78{
79 OS2glutDestroyWindow(win);
80
81 OS2glucbDestroyCallbackForObject(GLUT_OBJECT,(void *)win);
82}
83
84void WIN32API glutPostRedisplay(void)
85{
86 OS2glutPostRedisplay();
87}
88
89void WIN32API glutSwapBuffers(void)
90{
91 OS2glutSwapBuffers();
92}
93
94int WIN32API glutGetWindow(void)
95{
96 return OS2glutGetWindow();
97}
98
99void WIN32API glutSetWindow(int win)
100{
101 OS2glutSetWindow(win);
102}
103
104void WIN32API glutSetWindowTitle(char *title)
105{
106 OS2glutSetWindowTitle(title);
107}
108
109void WIN32API glutSetIconTitle(char *title)
110{
111 OS2glutSetIconTitle(title);
112}
113
114void WIN32API glutPositionWindow(int x,int y)
115{
116 OS2glutPositionWindow(x,y);
117}
118
119void WIN32API glutReshapeWindow(int width,int height)
120{
121 OS2glutReshapeWindow(width,height);
122}
123
124void WIN32API glutPopWindow(void)
125{
126 OS2glutPopWindow();
127}
128
129void WIN32API glutPushWindow(void)
130{
131 OS2glutPushWindow();
132}
133
134void WIN32API glutIconifyWindow(void)
135{
136 OS2glutIconifyWindow();
137}
138
139void WIN32API glutShowWindow(void)
140{
141 OS2glutShowWindow();
142}
143
144void WIN32API glutHideWindow(void)
145{
146 OS2glutHideWindow();
147}
148
149int WIN32API glutCreateMenu(void (* WIN32API fn)(int))
150{
151 /* NOTE: The registration-function should NOT deregister any others! */
152 int menu;
153 GLUOS2CALLBACK pfn=OS2glucbRegisterCallback(GLUTCB_MENU,
154 (void *)OS2glutGetWindow(),
155 0,
156 (GLUWINCALLBACK)fn);
157
158 menu=OS2glutCreateMenu((void (* APIENTRY)(int))pfn);
159
160 /* Now we know the menu set the 'object' of the correct glucb to this value */
161 OS2glucbSetWhich(pfn,menu);
162
163 return menu;
164}
165
166void WIN32API glutDestroyMenu(int menu)
167{
168 int win=OS2glutGetWindow();
169
170 OS2glutDestroyMenu(menu);
171
172 OS2glucbDestroyCallbackForObjectWhich(GLUTCB_MENU,(void *)win,menu);
173}
174
175int WIN32API glutGetMenu(void)
176{
177 return OS2glutGetMenu();
178}
179
180void WIN32API glutSetMenu(int menu)
181{
182 OS2glutSetMenu(menu);
183}
184
185void WIN32API glutAddMenuEntry(char *label,int value)
186{
187 OS2glutAddMenuEntry(label,value);
188}
189
190void WIN32API glutAddSubMenu(char *label,int submenu)
191{
192 OS2glutAddSubMenu(label,submenu);
193}
194
195void WIN32API glutChangeToMenuEntry(int item,char *label,int value)
196{
197 OS2glutChangeToMenuEntry(item,label,value);
198}
199
200void WIN32API glutChangeToSubMenu(int item,char *label,int submenu)
201{
202 OS2glutChangeToSubMenu(item,label,submenu);
203}
204
205void WIN32API glutRemoveMenuItem(int item)
206{
207 OS2glutRemoveMenuItem(item);
208}
209
210void WIN32API glutAttachMenu(int button)
211{
212 OS2glutAttachMenu(button);
213}
214
215void WIN32API glutDetachMenu(int button)
216{
217 OS2glutDetachMenu(button);
218}
219
220void WIN32API glutDisplayFunc(void (* WIN32API fn)(void))
221{
222 GLUOS2CALLBACK pfn;
223
224 dprintf(("glutDisplayFunc\n"));
225
226 pfn=OS2glucbRegisterCallback(GLUTCB_DISPLAY,
227 (void *)OS2glutGetWindow(),
228 0,
229 fn);
230
231 OS2glutDisplayFunc(pfn);
232}
233
234void WIN32API glutReshapeFunc(void (* WIN32API fn)(int width, int height))
235{
236 GLUOS2CALLBACK pfn=OS2glucbRegisterCallback(GLUTCB_RESHAPE,
237 (void *)OS2glutGetWindow(),
238 0,
239 (GLUWINCALLBACK)fn);
240
241 OS2glutReshapeFunc((void (* APIENTRY)(int, int))pfn);
242}
243
244void WIN32API glutKeyboardFunc(void (* WIN32API fn)(unsigned char key,int x,int y))
245{
246 GLUOS2CALLBACK pfn=OS2glucbRegisterCallback(GLUTCB_KEYBOARD,
247 (void *)OS2glutGetWindow(),
248 0,
249 (GLUWINCALLBACK)fn);
250
251 OS2glutKeyboardFunc((void (* APIENTRY)(unsigned char, int, int))pfn);
252}
253
254void WIN32API glutMouseFunc(void (* WIN32API fn)(int button,int state,int x,int y))
255{
256 GLUOS2CALLBACK pfn=OS2glucbRegisterCallback(GLUTCB_MOUSE,
257 (void *)OS2glutGetWindow(),
258 0,
259 (GLUWINCALLBACK)fn);
260
261 OS2glutMouseFunc((void (* APIENTRY)(int, int, int, int))pfn);
262}
263
264void WIN32API glutMotionFunc(void (* WIN32API fn)(int x,int y))
265{
266 GLUOS2CALLBACK pfn=OS2glucbRegisterCallback(GLUTCB_MOTION,
267 (void *)OS2glutGetWindow(),
268 0,
269 (GLUWINCALLBACK)fn);
270
271 OS2glutMotionFunc((void (* APIENTRY)(int, int))pfn);
272}
273
274void WIN32API glutPassiveMotionFunc(void (* WIN32API fn)(int x, int y))
275{
276 GLUOS2CALLBACK pfn=OS2glucbRegisterCallback(GLUTCB_PASSIVEMOTION,
277 (void *)OS2glutGetWindow(),
278 0,
279 (GLUWINCALLBACK)fn);
280
281 OS2glutPassiveMotionFunc((void (* APIENTRY)(int, int))pfn);
282}
283
284void WIN32API glutEntryFunc(void (* WIN32API fn)(int state))
285{
286 dprintf(("GLUT32: glutEntryFunc - not implemented\n"));
287}
288
289void WIN32API glutVisibilityFunc(void (* WIN32API fn)(int state))
290{
291 GLUOS2CALLBACK pfn=OS2glucbRegisterCallback(GLUTCB_VISIBILITY,
292 (void *)OS2glutGetWindow(),
293 0,
294 (GLUWINCALLBACK)fn);
295
296 OS2glutVisibilityFunc((void (* APIENTRY)(int))pfn);
297}
298
299void WIN32API glutIdleFunc(void (* WIN32API fn)(void))
300{
301 /* NOTE: There is only a single IDLE function at any time */
302 GLUOS2CALLBACK pfn=OS2glucbRegisterCallback(GLUTCB_IDLE,
303 0,
304 0,
305 fn);
306
307 OS2glutIdleFunc(pfn);
308}
309
310void WIN32API glutTimerFunc(unsigned long millis, void (* WIN32API fn)(int value),int value)
311{
312 /* NOTE: Timers can NEVER be deregistered - make sure of this in the GLUCB */
313 /* code! */
314 GLUOS2CALLBACK pfn=OS2glucbRegisterCallback(GLUTCB_TIMER,
315 0,
316 0,
317 (GLUWINCALLBACK)fn);
318
319 OS2glutTimerFunc(millis,
320 (void (* APIENTRY)(int))pfn,
321 value);
322}
323
324void WIN32API glutMenuStateFunc(void (* WIN32API fn)(int state))
325{
326 GLUOS2CALLBACK pfn=OS2glucbRegisterCallback(GLUTCB_MENUSTATE,
327 (void *)OS2glutGetWindow(),
328 0,
329 (GLUWINCALLBACK)fn);
330
331 OS2glutMenuStateFunc((void (* APIENTRY)(int))pfn);
332}
333
334void WIN32API glutSpecialFunc(void (* WIN32API fn)(int key,int x,int y))
335{
336 GLUOS2CALLBACK pfn=OS2glucbRegisterCallback(GLUTCB_SPECIAL,
337 (void *)OS2glutGetWindow(),
338 0,
339 (GLUWINCALLBACK)fn);
340
341 OS2glutSpecialFunc((void (* APIENTRY)(int, int, int))pfn);
342}
343
344void WIN32API glutSpaceballMotionFunc(void (* WIN32API fn)(int x,int y,int z))
345{
346 dprintf(("GLUT32: glutSpaceballMotionFunc - not implemented\n"));
347}
348
349void WIN32API glutSpaceballRotateFunc(void (* WIN32API fn)(int x,int y,int z))
350{
351 dprintf(("GLUT32: glutSpaceballRotateFunc - not implemented\n"));
352}
353
354void WIN32API glutSpaceballButtonFunc(void (* WIN32API fn)(int button,int state))
355{
356 dprintf(("GLUT32: glutSpaceballButtonFunc - not implemented\n"));
357}
358
359void WIN32API glutButtonBoxFunc(void (* WIN32API fn)(int button,int state))
360{
361 dprintf(("GLUT32: glutButtonBoxFunc - not implemented\n"));
362}
363
364void WIN32API glutDialsFunc(void (* WIN32API fn)(int dial,int value))
365{
366 dprintf(("GLUT32: glutDialsFunc - not implemented\n"));
367}
368
369void WIN32API glutTabletMotionFunc(void (* WIN32API fn)(int x,int y))
370{
371 dprintf(("GLUT32: glutTabletMotionFunc - not implemented\n"));
372}
373
374void WIN32API glutTabletButtonFunc(void (* WIN32API fn)(int button,int state,int x,int y))
375{
376 dprintf(("GLUT32: glutTabletButtonFunc - not implemented\n"));
377}
378
379void WIN32API glutSetColor(int index,GLfloat red,GLfloat green,GLfloat blue)
380{
381 OS2glutSetColor(index,red,green,blue);
382}
383
384GLfloat WIN32API glutGetColor(int index,int component)
385{
386 return OS2glutGetColor(index,component);
387}
388
389void WIN32API glutCopyColormap(int win)
390{
391 OS2glutCopyColormap(win);
392}
393
394int WIN32API glutGet(GLenum type)
395{
396 return OS2glutGet(type);
397}
398
399int WIN32API glutDeviceGet(GLenum type)
400{
401 return OS2glutDeviceGet(type);
402}
403
404void WIN32API glutStrokeCharacter(void *font,int character)
405{
406 OS2glutStrokeCharacter(font,character);
407}
408
409void WIN32API glutBitmapCharacter(void *font,int character)
410{
411 OS2glutBitmapCharacter(font,character);
412}
413
414void WIN32API glutWireSphere(GLdouble radius,GLint slices,GLint stacks)
415{
416 OS2glutWireSphere(radius,slices,stacks);
417}
418
419void WIN32API glutSolidSphere(GLdouble radius,GLint slices,GLint stacks)
420{
421 OS2glutSolidSphere(radius,slices,stacks);
422}
423
424void WIN32API glutWireCone(GLdouble base,GLdouble height,GLint slices,GLint stacks)
425{
426 OS2glutWireCone(base,height,slices,stacks);
427}
428
429void WIN32API glutSolidCone(GLdouble base,GLdouble height,GLint slices,GLint stacks)
430{
431 OS2glutSolidCone(base,height,slices,stacks);
432}
433
434void WIN32API glutWireCube(GLdouble size)
435{
436 OS2glutWireCube(size);
437}
438
439void WIN32API glutSolidCube(GLdouble size)
440{
441 OS2glutSolidCube(size);
442}
443
444void WIN32API glutWireTorus(GLdouble innerRadius,GLdouble outerRadius,GLint sides,GLint rings)
445{
446 OS2glutWireTorus(innerRadius,outerRadius,sides,rings);
447}
448
449void WIN32API glutSolidTorus(GLdouble innerRadius,GLdouble outerRadius,GLint sides,GLint rings)
450{
451 OS2glutSolidTorus(innerRadius,outerRadius,sides,rings);
452}
453
454void WIN32API glutWireDodecahedron(void)
455{
456 OS2glutWireDodecahedron();
457}
458void WIN32API glutSolidDodecahedron(void)
459{
460 OS2glutSolidDodecahedron();
461}
462
463void WIN32API glutWireTeapot(GLdouble size)
464{
465 OS2glutWireTeapot(size);
466}
467
468void WIN32API glutSolidTeapot(GLdouble size)
469{
470 OS2glutSolidTeapot(size);
471}
472
473void WIN32API glutWireOctahedron(void)
474{
475 OS2glutWireOctahedron();
476}
477
478void WIN32API glutSolidOctahedron(void)
479{
480 OS2glutSolidOctahedron();
481}
482
483void WIN32API glutWireTetrahedron(void)
484{
485 OS2glutWireTetrahedron();
486}
487
488void WIN32API glutSolidTetrahedron(void)
489{
490 OS2glutSolidTetrahedron();
491}
492
493void WIN32API glutWireIcosahedron(void)
494{
495 OS2glutWireIcosahedron();
496}
497
498void WIN32API glutSolidIcosahedron(void)
499{
500 OS2glutSolidIcosahedron();
501}
502
503int WIN32API glutExtensionSupported(char *name)
504{
505 return OS2glutExtensionSupported(name);
506}
507
508/*****************************************************************************/
509/* */
510/* Unsupported calls */
511/* */
512/*****************************************************************************/
513
514int WIN32API glutBitmapLength(void *font,const unsigned char *string)
515{
516 dprintf(("GLUT32: glutBitmapLength - not implemented\n"));
517 return 0;
518}
519
520int WIN32API glutBitmapWidth(void *font, int character)
521{
522 dprintf(("GLUT32: glutBitmapWidth - not implemented\n"));
523 return 0;
524}
525
526int WIN32API glutEnterGameMode(void)
527{
528 dprintf(("GLUT32: glutEnterGameMode - not implemented\n"));
529 return 0;
530}
531
532void WIN32API glutEstablishOverlay(void)
533{
534 dprintf(("GLUT32: glutEstablishOverlay - not implemented\n"));
535}
536
537void WIN32API glutForceJoystickFunc(void)
538{
539 dprintf(("GLUT32: glutForceJoystickFunc - not implemented\n"));
540}
541
542void WIN32API glutFullScreen(void)
543{
544 dprintf(("GLUT32: glutFullScreen - not implemented\n"));
545}
546
547int WIN32API glutGameModeGet(GLenum mode)
548{
549 dprintf(("GLUT32: glutGameModeGet - not implemented\n"));
550 return 0;
551}
552
553void WIN32API glutGameModeString(const char *string)
554{
555 dprintf(("GLUT32: glutGameModeString - not implemented\n"));
556}
557
558int WIN32API glutGetModifiers(void)
559{
560 dprintf(("GLUT32: glutGetModifiers - not implemented\n"));
561 return 0;
562}
563
564void WIN32API glutHideOverlay(void)
565{
566 dprintf(("GLUT32: glutHideOverlay - not implemented\n"));
567}
568
569void WIN32API glutIgnoreKeyRepeat(int ignore)
570{
571 dprintf(("GLUT32: glutIgnoreKeyRepeat - not implemented\n"));
572}
573
574void WIN32API glutInitDisplayString(const char *string)
575{
576 dprintf(("GLUT32: glutDisplayString - not implemented\n"));
577}
578
579void WIN32API glutJoystickFunc(void (* WIN32API fn)(int, int, int, int),int pollinterval)
580{
581 dprintf(("GLUT32: glutJoystickFunc - not implemented\n"));
582}
583
584void WIN32API glutKeyboardUpFunc(void (* WIN32API fn)(unsigned char, int, int))
585{
586 dprintf(("GLUT32: glutKeyboardUpFunc - not implemented\n"));
587}
588
589int WIN32API glutLayerGet(GLenum type)
590{
591 dprintf(("GLUT32: glutLayerGet - not implemented\n"));
592 return 0;
593}
594
595void WIN32API glutLeaveGameMode(void)
596{
597 dprintf(("GLUT32: glutLeaveGameMode - not implemented\n"));
598}
599
600void WIN32API glutMenuStatusFunc(void (* WIN32API fn)(int, int))
601{
602 dprintf(("GLUT32: glutMenuStatusFunc - not implemented\n"));
603}
604
605void WIN32API glutOverlayDisplayFunc(void (* WIN32API fn)(void))
606{
607 dprintf(("GLUT32: glutOverlayDisplayFunc - not implemented\n"));
608}
609
610void WIN32API glutPostOverlayRedisplay(void)
611{
612 dprintf(("GLUT32: glutPostOverlayRedislay - not implemented\n"));
613}
614
615void WIN32API glutPostWindowOverlayRedisplay(int win)
616{
617 dprintf(("GLUT32: glutPostWindowOverlayRedislay - not implemented\n"));
618}
619
620void WIN32API glutPostWindowRedisplay(int win)
621{
622 dprintf(("GLUT32: glutPostWindowRedislay - not implemented\n"));
623}
624
625void WIN32API glutRemoveOverlay(void)
626{
627 dprintf(("GLUT32: glutRemoveOverlay - not implemented\n"));
628}
629
630void WIN32API glutReportErrors(void)
631{
632 dprintf(("GLUT32: glutReportErrors - not implemented\n"));
633}
634
635void WIN32API glutSetCursor(int cursor)
636{
637 dprintf(("GLUT32: glutSetCursor - not implemented\n"));
638}
639
640void WIN32API glutSetKeyRepeat(int repeatMode)
641{
642 dprintf(("GLUT32: glutSetKeyRepeat - not implemented\n"));
643}
644
645void WIN32API glutSetupVideoResizing(void)
646{
647 dprintf(("GLUT32: glutSetupVideoResizing - not implemented\n"));
648}
649
650void WIN32API glutShowOverlay(void)
651{
652 dprintf(("GLUT32: glutShowOverlay - not implemented\n"));
653}
654
655void WIN32API glutSpecialUpFunc(void (* WIN32API fn)(int, int, int))
656{
657 dprintf(("GLUT32: glutSpecialUpFunc - not implemented\n"));
658}
659
660void WIN32API glutStopVideoResizing(void)
661{
662 dprintf(("GLUT32: glutStopVideoResizing - not implemented\n"));
663}
664
665int WIN32API glutStrokeLength(void *font,const unsigned char *string)
666{
667 dprintf(("GLUT32: glutStrokeLength - not implemented\n"));
668 return 0;
669}
670
671int WIN32API glutStrokeWidth(void *font, int character)
672{
673 dprintf(("GLUT32: glutStrokeWidth - not implemented\n"));
674 return 0;
675}
676
677void WIN32API glutUseLayer(GLenum layer)
678{
679 dprintf(("GLUT32: glutUseLayer - not implemented\n"));
680}
681
682void WIN32API glutVideoPan(int x, int y, int width, int height)
683{
684 dprintf(("GLUT32: glutVideoPan - not implemented\n"));
685}
686
687void WIN32API glutVideoResize(int x, int y, int width, int height)
688{
689 dprintf(("GLUT32: glutVideoResize - not implemented\n"));
690}
691
692int WIN32API glutVideoResizeGet(GLenum param)
693{
694 dprintf(("GLUT32: glutVideoResizeGet - not implemented\n"));
695 return 0;
696}
697
698void WIN32API glutWarpPointer(int x,int y)
699{
700 dprintf(("GLUT32: glutWarpPointer - not implemented\n"));
701}
702
703int WIN32API glutWindowStatusFunc(void (* WIN32API fn)(int))
704{
705 dprintf(("GLUT32: glutWindowStatusFunc - not implemented\n"));
706 return 0;
707}
708
709/*****************************************************************************/
710/* */
711/* Module Internal init and cleanup - called by initterm */
712/* */
713/*****************************************************************************/
714
715void mod_init(void)
716{
717 dprintf(("GLUT32 INIT\n"));
718}
719
720void mod_cleanup(void)
721{
722 dprintf(("GLUT32 TERM\n"));
723}
Note: See TracBrowser for help on using the repository browser.