10
10
*
11
11
* -------------------------------------------------------------------------- */
12
12
13
- #if defined(_MSC_VER ) || defined(__CYGWIN__ ) || defined(__MINGW32__ ) || defined(__WATCOMC__ )
14
-
15
- #define GLUT_STROKE_ROMAN ((void *)0x0000)
16
- #define GLUT_STROKE_MONO_ROMAN ((void *)0x0001)
17
- #define GLUT_BITMAP_9_BY_15 ((void *)0x0002)
18
- #define GLUT_BITMAP_8_BY_13 ((void *)0x0003)
19
- #define GLUT_BITMAP_TIMES_ROMAN_10 ((void *)0x0004)
20
- #define GLUT_BITMAP_TIMES_ROMAN_24 ((void *)0x0005)
21
- #define GLUT_BITMAP_HELVETICA_10 ((void *)0x0006)
22
- #define GLUT_BITMAP_HELVETICA_12 ((void *)0x0007)
23
- #define GLUT_BITMAP_HELVETICA_18 ((void *)0x0008)
24
-
25
- #else
26
-
27
- extern void * glutStrokeRoman ;
28
- extern void * glutStrokeMonoRoman ;
29
- extern void * glutBitmap9By15 ;
30
- extern void * glutBitmap8By13 ;
31
- extern void * glutBitmapTimesRoman10 ;
32
- extern void * glutBitmapTimesRoman24 ;
33
- extern void * glutBitmapHelvetica10 ;
34
- extern void * glutBitmapHelvetica12 ;
35
- extern void * glutBitmapHelvetica18 ;
36
-
37
- #define GLUT_STROKE_ROMAN ((void *)&glutStrokeRoman)
38
- #define GLUT_STROKE_MONO_ROMAN ((void *)&glutStrokeMonoRoman)
39
- #define GLUT_BITMAP_9_BY_15 ((void *)&glutBitmap9By15)
40
- #define GLUT_BITMAP_8_BY_13 ((void *)&glutBitmap8By13)
41
- #define GLUT_BITMAP_TIMES_ROMAN_10 ((void *)&glutBitmapTimesRoman10)
42
- #define GLUT_BITMAP_TIMES_ROMAN_24 ((void *)&glutBitmapTimesRoman24)
43
- #define GLUT_BITMAP_HELVETICA_10 ((void *)&glutBitmapHelvetica10)
44
- #define GLUT_BITMAP_HELVETICA_12 ((void *)&glutBitmapHelvetica12)
45
- #define GLUT_BITMAP_HELVETICA_18 ((void *)&glutBitmapHelvetica18)
46
-
47
- #endif
48
-
49
- void *
50
- hs_GLUT_marshalBitmapFont (int fontID )
51
- {
52
- switch (fontID ) {
53
- case 0 : return GLUT_BITMAP_8_BY_13 ;
54
- case 1 : return GLUT_BITMAP_9_BY_15 ;
55
- case 2 : return GLUT_BITMAP_TIMES_ROMAN_10 ;
56
- case 3 : return GLUT_BITMAP_TIMES_ROMAN_24 ;
57
- case 4 : return GLUT_BITMAP_HELVETICA_10 ;
58
- case 5 : return GLUT_BITMAP_HELVETICA_12 ;
59
- case 6 : return GLUT_BITMAP_HELVETICA_18 ;
60
- }
61
- return (void * )0 ;
62
- }
63
-
64
- void *
65
- hs_GLUT_marshalStrokeFont (int fontID )
66
- {
67
- switch (fontID ) {
68
- case 0 : return GLUT_STROKE_ROMAN ;
69
- case 1 : return GLUT_STROKE_MONO_ROMAN ;
70
- }
71
- return (void * )0 ;
72
- }
73
-
74
- /* -------------------------------------------------------------------------- */
75
13
#if defined(USE_GETPROCADDRESS )
76
14
77
15
#define WIN32_LEAN_AND_MEAN
@@ -153,7 +91,7 @@ hs_GLUT_getProcAddress(const char *name)
153
91
if (firstTime ) {
154
92
firstTime = 0 ;
155
93
/* Get a handle for our executable. */
156
- handle = dlopen (NULL , RTLD_LAZY );
94
+ handle = dlopen ("libglut.so" , RTLD_LAZY );
157
95
}
158
96
159
97
return handle ? dlsym (handle , name ) : NULL ;
@@ -165,3 +103,176 @@ hs_GLUT_getProcAddress(const char *name)
165
103
#error "Don't know how to retrieve GLUT entries"
166
104
167
105
#endif
106
+
107
+ /* -------------------------------------------------------------------------- */
108
+ #if defined(_MSC_VER ) || defined(__CYGWIN__ ) || defined(__MINGW32__ ) || defined(__WATCOMC__ )
109
+
110
+ void *
111
+ hs_GLUT_glutStrokeRoman (void )
112
+ {
113
+ return ((void * )0x0000 );
114
+ }
115
+
116
+ void *
117
+ hs_GLUT_glutStrokeMonoRoman (void )
118
+ {
119
+ return ((void * )0x0001 );
120
+ }
121
+
122
+ void *
123
+ hs_GLUT_glutBitmap9By15 (void )
124
+ {
125
+ return ((void * )0x0002 );
126
+ }
127
+
128
+ void *
129
+ hs_GLUT_glutBitmap8By13 (void )
130
+ {
131
+ return ((void * )0x0003 );
132
+ }
133
+
134
+ void *
135
+ hs_GLUT_glutBitmapTimesRoman10 (void )
136
+ {
137
+ return ((void * )0x0004 );
138
+ }
139
+
140
+ void *
141
+ hs_GLUT_glutBitmapTimesRoman24 (void )
142
+ {
143
+ return ((void * )0x0005 );
144
+ }
145
+
146
+ void *
147
+ hs_GLUT_glutBitmapHelvetica10 (void )
148
+ {
149
+ return ((void * )0x0006 );
150
+ }
151
+
152
+ void *
153
+ hs_GLUT_glutBitmapHelvetica12 (void )
154
+ {
155
+ return ((void * )0x0007 );
156
+ }
157
+
158
+ void *
159
+ hs_GLUT_glutBitmapHelvetica18 (void )
160
+ {
161
+ return ((void * )0x0008 );
162
+ }
163
+
164
+ #else
165
+
166
+ void *
167
+ hs_GLUT_glutStrokeRoman (void )
168
+ {
169
+ return hs_GLUT_getProcAddress ("glutStrokeRoman" );
170
+ }
171
+
172
+ void *
173
+ hs_GLUT_glutStrokeMonoRoman (void )
174
+ {
175
+ return hs_GLUT_getProcAddress ("glutStrokeMonoRoman" );
176
+ }
177
+
178
+ void *
179
+ hs_GLUT_glutBitmap9By15 (void )
180
+ {
181
+ return hs_GLUT_getProcAddress ("glutBitmap9By15" );
182
+ }
183
+
184
+ void *
185
+ hs_GLUT_glutBitmap8By13 (void )
186
+ {
187
+ return hs_GLUT_getProcAddress ("glutBitmap8By13" );
188
+ }
189
+
190
+ void *
191
+ hs_GLUT_glutBitmapTimesRoman10 (void )
192
+ {
193
+ return hs_GLUT_getProcAddress ("glutBitmapTimesRoman10" );
194
+ }
195
+
196
+ void *
197
+ hs_GLUT_glutBitmapTimesRoman24 (void )
198
+ {
199
+ return hs_GLUT_getProcAddress ("glutBitmapTimesRoman24" );
200
+ }
201
+
202
+ void *
203
+ hs_GLUT_glutBitmapHelvetica10 (void )
204
+ {
205
+ return hs_GLUT_getProcAddress ("glutBitmapHelvetica10" );
206
+ }
207
+
208
+ void *
209
+ hs_GLUT_glutBitmapHelvetica12 (void )
210
+ {
211
+ return hs_GLUT_getProcAddress ("glutBitmapHelvetica12" );
212
+ }
213
+
214
+ void *
215
+ hs_GLUT_glutBitmapHelvetica18 (void )
216
+ {
217
+ return hs_GLUT_getProcAddress ("glutBitmapHelvetica18" );
218
+ }
219
+
220
+ #endif
221
+
222
+ void *
223
+ hs_GLUT_marshalBitmapFont (int fontID )
224
+ {
225
+ static int firstTime = 1 ;
226
+ static void * h_glutBitmap9By15 = NULL ;
227
+ static void * h_glutBitmap8By13 = NULL ;
228
+ static void * h_glutBitmapTimesRoman10 = NULL ;
229
+ static void * h_glutBitmapTimesRoman24 = NULL ;
230
+ static void * h_glutBitmapHelvetica10 = NULL ;
231
+ static void * h_glutBitmapHelvetica12 = NULL ;
232
+ static void * h_glutBitmapHelvetica18 = NULL ;
233
+
234
+
235
+ if (firstTime ) {
236
+ firstTime = 0 ;
237
+
238
+ h_glutBitmap9By15 = hs_GLUT_glutBitmap9By15 ();
239
+ h_glutBitmap8By13 = hs_GLUT_glutBitmap8By13 ();
240
+ h_glutBitmapTimesRoman10 = hs_GLUT_glutBitmapTimesRoman10 ();
241
+ h_glutBitmapTimesRoman24 = hs_GLUT_glutBitmapTimesRoman24 ();
242
+ h_glutBitmapHelvetica10 = hs_GLUT_glutBitmapHelvetica10 ();
243
+ h_glutBitmapHelvetica12 = hs_GLUT_glutBitmapHelvetica12 ();
244
+ h_glutBitmapHelvetica18 = hs_GLUT_glutBitmapHelvetica18 ();
245
+ }
246
+
247
+ switch (fontID ) {
248
+ case 0 : return h_glutBitmap8By13 ;
249
+ case 1 : return h_glutBitmap9By15 ;
250
+ case 2 : return h_glutBitmapTimesRoman10 ;
251
+ case 3 : return h_glutBitmapTimesRoman24 ;
252
+ case 4 : return h_glutBitmapHelvetica10 ;
253
+ case 5 : return h_glutBitmapHelvetica12 ;
254
+ case 6 : return h_glutBitmapHelvetica18 ;
255
+ }
256
+ return (void * )0 ;
257
+ }
258
+
259
+ void *
260
+ hs_GLUT_marshalStrokeFont (int fontID )
261
+ {
262
+ static int firstTime = 1 ;
263
+ static void * h_glutStrokeRoman = NULL ;
264
+ static void * h_glutStrokeMonoRoman = NULL ;
265
+
266
+ if (firstTime ) {
267
+ firstTime = 0 ;
268
+
269
+ h_glutStrokeRoman = hs_GLUT_glutStrokeRoman ();
270
+ h_glutStrokeMonoRoman = hs_GLUT_glutStrokeMonoRoman ();
271
+ }
272
+
273
+ switch (fontID ) {
274
+ case 0 : return h_glutStrokeRoman ;
275
+ case 1 : return h_glutStrokeMonoRoman ;
276
+ }
277
+ return (void * )0 ;
278
+ }
0 commit comments