xref: /reactos/dll/opengl/mesa/dlist.h (revision 1734f297)
1 /* $Id: dlist.h,v 1.15 1997/12/06 18:06:50 brianp Exp $ */
2 
3 /*
4  * Mesa 3-D graphics library
5  * Version:  2.5
6  * Copyright (C) 1995-1997  Brian Paul
7  *
8  * This library is free software; you can redistribute it and/or
9  * modify it under the terms of the GNU Library General Public
10  * License as published by the Free Software Foundation; either
11  * version 2 of the License, or (at your option) any later version.
12  *
13  * This library is distributed in the hope that it will be useful,
14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
16  * Library General Public License for more details.
17  *
18  * You should have received a copy of the GNU Library General Public
19  * License along with this library; if not, write to the Free
20  * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
21  */
22 
23 
24 /*
25  * $Log: dlist.h,v $
26  * Revision 1.15  1997/12/06 18:06:50  brianp
27  * moved several static display list vars into GLcontext
28  *
29  * Revision 1.14  1997/10/29 01:29:09  brianp
30  * added GL_EXT_point_parameters extension from Daniel Barrero
31  *
32  * Revision 1.13  1997/09/27 00:13:44  brianp
33  * added GL_EXT_paletted_texture extension
34  *
35  * Revision 1.12  1997/06/20 01:57:57  brianp
36  * added gl_save_Color4ubv()
37  *
38  * Revision 1.11  1997/06/06 02:59:12  brianp
39  * added gl_destroy_list()
40  *
41  * Revision 1.10  1997/04/24 01:50:53  brianp
42  * optimized glColor3f, glColor3fv, glColor4fv
43  *
44  * Revision 1.9  1997/04/21 01:21:33  brianp
45  * added gl_save_Rectf()
46  *
47  * Revision 1.8  1997/04/20 16:18:15  brianp
48  * added glOrtho and glFrustum API pointers
49  *
50  * Revision 1.7  1997/04/16 23:55:33  brianp
51  * added optimized glTexCoord2f code
52  *
53  * Revision 1.6  1997/04/14 22:18:23  brianp
54  * added optimized glVertex3fv code
55  *
56  * Revision 1.5  1997/04/07 02:58:49  brianp
57  * added gl_save_Vertex[23]f() and related code
58  *
59  * Revision 1.4  1997/04/01 04:26:02  brianp
60  * added code for glLoadIdentity(), changed #include's
61  *
62  * Revision 1.3  1997/02/09 18:50:18  brianp
63  * added GL_EXT_texture3D support
64  *
65  * Revision 1.2  1996/11/07 04:12:45  brianp
66  * texture images are now gl_image structs, not gl_texture_image structs
67  *
68  * Revision 1.1  1996/09/13 01:38:16  brianp
69  * Initial revision
70  *
71  */
72 
73 
74 #ifndef DLIST_H
75 #define DLIST_H
76 
77 
78 #include "types.h"
79 
80 
81 
82 extern void gl_init_lists( void );
83 
84 extern void gl_destroy_list( GLcontext *ctx, GLuint list );
85 
86 
87 
88 extern void gl_CallList( GLcontext *ctx, GLuint list );
89 
90 extern void gl_CallLists( GLcontext *ctx,
91                           GLsizei n, GLenum type, const GLvoid *lists );
92 
93 extern void gl_DeleteLists( GLcontext *ctx, GLuint list, GLsizei range );
94 
95 extern void gl_EndList( GLcontext *ctx );
96 
97 extern GLuint gl_GenLists( GLcontext *ctx, GLsizei range );
98 
99 extern GLboolean gl_IsList( GLcontext *ctx, GLuint list );
100 
101 extern void gl_ListBase( GLcontext *ctx, GLuint base );
102 
103 extern void gl_NewList( GLcontext *ctx, GLuint list, GLenum mode );
104 
105 
106 
107 
108 extern void gl_save_Accum( GLcontext *ctx, GLenum op, GLfloat value );
109 
110 extern void gl_save_AlphaFunc( GLcontext *ctx, GLenum func, GLclampf ref );
111 
112 extern void gl_save_BlendFunc( GLcontext *ctx,
113                                GLenum sfactor, GLenum dfactor );
114 
115 extern void gl_save_Begin( GLcontext *ctx, GLenum mode );
116 
117 extern void gl_save_BindTexture( GLcontext *ctx,
118                                  GLenum target, GLuint texture );
119 
120 extern void gl_save_Bitmap( GLcontext *ctx, GLsizei width, GLsizei height,
121 			    GLfloat xorig, GLfloat yorig,
122 			    GLfloat xmove, GLfloat ymove,
123                             const struct gl_image *bitmap );
124 
125 extern void gl_save_CallList( GLcontext *ctx, GLuint list );
126 
127 extern void gl_save_CallLists( GLcontext *ctx,
128                                GLsizei n, GLenum type, const GLvoid *lists );
129 
130 extern void gl_save_Clear( GLcontext *ctx, GLbitfield mask );
131 
132 extern void gl_save_ClearAccum( GLcontext *ctx, GLfloat red, GLfloat green,
133 			        GLfloat blue, GLfloat alpha );
134 
135 extern void gl_save_ClearColor( GLcontext *ctx, GLclampf red, GLclampf green,
136 			        GLclampf blue, GLclampf alpha );
137 
138 extern void gl_save_ClearDepth( GLcontext *ctx, GLclampd depth );
139 
140 extern void gl_save_ClearIndex( GLcontext *ctx, GLfloat c );
141 
142 extern void gl_save_ClearStencil( GLcontext *ctx, GLint s );
143 
144 extern void gl_save_ClipPlane( GLcontext *ctx,
145                                GLenum plane, const GLfloat *equ );
146 
147 extern void gl_save_Color3f( GLcontext *ctx, GLfloat r, GLfloat g, GLfloat b );
148 
149 extern void gl_save_Color3fv( GLcontext *ctx, const GLfloat *c );
150 
151 extern void gl_save_Color4f( GLcontext *ctx, GLfloat r, GLfloat g,
152                              GLfloat b, GLfloat a );
153 
154 extern void gl_save_Color4fv( GLcontext *ctx, const GLfloat *c );
155 
156 extern void gl_save_Color4ub( GLcontext *ctx, GLubyte r, GLubyte g,
157                               GLubyte b, GLubyte a );
158 
159 extern void gl_save_Color4ubv( GLcontext *ctx, const GLubyte *c );
160 
161 extern void gl_save_ColorMask( GLcontext *ctx, GLboolean red, GLboolean green,
162 			       GLboolean blue, GLboolean alpha );
163 
164 extern void gl_save_ColorMaterial( GLcontext *ctx, GLenum face, GLenum mode );
165 
166 extern void gl_save_ColorTable( GLcontext *ctx, GLenum target,
167                                 GLenum internalFormat,
168                                 struct gl_image *table );
169 
170 extern void gl_save_ColorSubTable( GLcontext *ctx, GLenum target,
171                                    GLsizei start, struct gl_image *data );
172 
173 extern void gl_save_CopyPixels( GLcontext *ctx, GLint x, GLint y,
174 				GLsizei width, GLsizei height, GLenum type );
175 
176 extern void gl_save_CopyTexImage1D( GLcontext *ctx,
177                                     GLenum target, GLint level,
178                                     GLenum internalformat,
179                                     GLint x, GLint y, GLsizei width,
180                                     GLint border );
181 
182 extern void gl_save_CopyTexImage2D( GLcontext *ctx,
183                                     GLenum target, GLint level,
184                                     GLenum internalformat,
185                                     GLint x, GLint y, GLsizei width,
186                                     GLsizei height, GLint border );
187 
188 extern void gl_save_CopyTexSubImage1D( GLcontext *ctx,
189                                        GLenum target, GLint level,
190                                        GLint xoffset, GLint x, GLint y,
191                                        GLsizei width );
192 
193 extern void gl_save_CopyTexSubImage2D( GLcontext *ctx,
194                                        GLenum target, GLint level,
195                                        GLint xoffset, GLint yoffset,
196                                        GLint x, GLint y,
197                                        GLsizei width, GLint height );
198 
199 extern void gl_save_CullFace( GLcontext *ctx, GLenum mode );
200 
201 extern void gl_save_DepthFunc( GLcontext *ctx, GLenum func );
202 
203 extern void gl_save_DepthMask( GLcontext *ctx, GLboolean mask );
204 
205 extern void gl_save_DepthRange( GLcontext *ctx,
206                                 GLclampd nearval, GLclampd farval );
207 
208 extern void gl_save_Disable( GLcontext *ctx, GLenum cap );
209 
210 extern void gl_save_DrawBuffer( GLcontext *ctx, GLenum mode );
211 
212 extern void gl_save_DrawPixels( GLcontext *ctx,
213                                 GLsizei width, GLsizei height, GLenum format,
214 			        GLenum type, const GLvoid *pixels );
215 
216 extern void gl_save_EdgeFlag( GLcontext *ctx, GLboolean flag );
217 
218 extern void gl_save_Enable( GLcontext *ctx, GLenum cap );
219 
220 extern void gl_save_End( GLcontext *ctx );
221 
222 extern void gl_save_EvalCoord1f( GLcontext *ctx, GLfloat u );
223 
224 extern void gl_save_EvalCoord2f( GLcontext *ctx, GLfloat u, GLfloat v );
225 
226 extern void gl_save_EvalMesh1( GLcontext *ctx,
227                                GLenum mode, GLint i1, GLint i2 );
228 
229 extern void gl_save_EvalMesh2( GLcontext *ctx, GLenum mode, GLint i1, GLint i2,
230 			       GLint j1, GLint j2 );
231 
232 extern void gl_save_EvalPoint1( GLcontext *ctx, GLint i );
233 
234 extern void gl_save_EvalPoint2( GLcontext *ctx, GLint i, GLint j );
235 
236 extern void gl_save_Fogfv( GLcontext *ctx,
237                            GLenum pname, const GLfloat *params );
238 
239 extern void gl_save_FrontFace( GLcontext *ctx, GLenum mode );
240 
241 extern void gl_save_Frustum( GLcontext *ctx, GLdouble left, GLdouble right,
242                              GLdouble bottom, GLdouble top,
243                              GLdouble nearval, GLdouble farval );
244 
245 extern void gl_save_Hint( GLcontext *ctx, GLenum target, GLenum mode );
246 
247 extern void gl_save_Indexf( GLcontext *ctx, GLfloat index );
248 
249 extern void gl_save_Indexi( GLcontext *ctx, GLint index );
250 
251 extern void gl_save_IndexMask( GLcontext *ctx, GLuint mask );
252 
253 extern void gl_save_InitNames( GLcontext *ctx );
254 
255 extern void gl_save_Lightfv( GLcontext *ctx, GLenum light, GLenum pname,
256                              const GLfloat *params, GLint numparams );
257 
258 extern void gl_save_LightModelfv( GLcontext *ctx, GLenum pname,
259                                 const GLfloat *params );
260 
261 extern void gl_save_LineWidth( GLcontext *ctx, GLfloat width );
262 
263 extern void gl_save_LineStipple( GLcontext *ctx, GLint factor,
264                                  GLushort pattern );
265 
266 extern void gl_save_ListBase( GLcontext *ctx, GLuint base );
267 
268 extern void gl_save_LoadIdentity( GLcontext *ctx );
269 
270 extern void gl_save_LoadMatrixf( GLcontext *ctx, const GLfloat *m );
271 
272 extern void gl_save_LoadName( GLcontext *ctx, GLuint name );
273 
274 extern void gl_save_LogicOp( GLcontext *ctx, GLenum opcode );
275 
276 extern void gl_save_Map1f( GLcontext *ctx, GLenum target,
277                            GLfloat u1, GLfloat u2, GLint stride,
278 			   GLint order, const GLfloat *points,
279                            GLboolean retain );
280 
281 extern void gl_save_Map2f( GLcontext *ctx, GLenum target,
282 			   GLfloat u1, GLfloat u2, GLint ustride, GLint uorder,
283 			   GLfloat v1, GLfloat v2, GLint vstride, GLint vorder,
284 			   const GLfloat *points,
285                            GLboolean retain );
286 
287 extern void gl_save_MapGrid1f( GLcontext *ctx, GLint un,
288                                GLfloat u1, GLfloat u2 );
289 
290 extern void gl_save_MapGrid2f( GLcontext *ctx,
291                                GLint un, GLfloat u1, GLfloat u2,
292                                GLint vn, GLfloat v1, GLfloat v2 );
293 
294 extern void gl_save_Materialfv( GLcontext *ctx, GLenum face, GLenum pname,
295                                 const GLfloat *params );
296 
297 extern void gl_save_MatrixMode( GLcontext *ctx, GLenum mode );
298 
299 extern void gl_save_MultMatrixf( GLcontext *ctx, const GLfloat *m );
300 
301 extern void gl_save_NewList( GLcontext *ctx, GLuint list, GLenum mode );
302 
303 extern void gl_save_Normal3fv( GLcontext *ctx, const GLfloat n[3] );
304 
305 extern void gl_save_Normal3f( GLcontext *ctx,
306                               GLfloat nx, GLfloat ny, GLfloat nz );
307 
308 extern void gl_save_Ortho( GLcontext *ctx, GLdouble left, GLdouble right,
309                            GLdouble bottom, GLdouble top,
310                            GLdouble nearval, GLdouble farval );
311 
312 extern void gl_save_PassThrough( GLcontext *ctx, GLfloat token );
313 
314 extern void gl_save_PixelMapfv( GLcontext *ctx, GLenum map, GLint mapsize,
315                                 const GLfloat *values );
316 
317 extern void gl_save_PixelTransferf( GLcontext *ctx,
318                                     GLenum pname, GLfloat param );
319 
320 extern void gl_save_PixelZoom( GLcontext *ctx,
321                                GLfloat xfactor, GLfloat yfactor );
322 
323 extern void gl_save_PointSize( GLcontext *ctx, GLfloat size );
324 
325 extern void gl_save_PolygonMode( GLcontext *ctx, GLenum face, GLenum mode );
326 
327 extern void gl_save_PolygonStipple( GLcontext *ctx, const GLubyte *mask );
328 
329 extern void gl_save_PolygonOffset( GLcontext *ctx,
330                                    GLfloat factor, GLfloat units );
331 
332 extern void gl_save_PopAttrib( GLcontext *ctx );
333 
334 extern void gl_save_PopMatrix( GLcontext *ctx );
335 
336 extern void gl_save_PopName( GLcontext *ctx );
337 
338 extern void gl_save_PrioritizeTextures( GLcontext *ctx,
339                                         GLsizei n, const GLuint *textures,
340                                         const GLclampf *priorities );
341 
342 extern void gl_save_PushAttrib( GLcontext *ctx, GLbitfield mask );
343 
344 extern void gl_save_PushMatrix( GLcontext *ctx );
345 
346 extern void gl_save_PushName( GLcontext *ctx, GLuint name );
347 
348 extern void gl_save_RasterPos4f( GLcontext *ctx,
349                                  GLfloat x, GLfloat y, GLfloat z, GLfloat w );
350 
351 extern void gl_save_ReadBuffer( GLcontext *ctx, GLenum mode );
352 
353 extern void gl_save_Rectf( GLcontext *ctx,
354                            GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2 );
355 
356 extern void gl_save_Rotatef( GLcontext *ctx, GLfloat angle,
357                              GLfloat x, GLfloat y, GLfloat z );
358 
359 extern void gl_save_Scalef( GLcontext *ctx, GLfloat x, GLfloat y, GLfloat z );
360 
361 extern void gl_save_Scissor( GLcontext *ctx,
362                              GLint x, GLint y, GLsizei width, GLsizei height );
363 
364 extern void gl_save_ShadeModel( GLcontext *ctx, GLenum mode );
365 
366 extern void gl_save_StencilFunc( GLcontext *ctx,
367                                  GLenum func, GLint ref, GLuint mask );
368 
369 extern void gl_save_StencilMask( GLcontext *ctx, GLuint mask );
370 
371 extern void gl_save_StencilOp( GLcontext *ctx,
372                                GLenum fail, GLenum zfail, GLenum zpass );
373 
374 extern void gl_save_TexCoord2f( GLcontext *ctx, GLfloat s, GLfloat t );
375 
376 extern void gl_save_TexCoord4f( GLcontext *ctx, GLfloat s, GLfloat t,
377                                 GLfloat r, GLfloat q );
378 
379 extern void gl_save_TexEnvfv( GLcontext *ctx, GLenum target, GLenum pname,
380                               const GLfloat *params );
381 
382 extern void gl_save_TexParameterfv( GLcontext *ctx, GLenum target,
383                                     GLenum pname, const GLfloat *params );
384 
385 extern void gl_save_TexGenfv( GLcontext *ctx, GLenum coord, GLenum pname,
386                               const GLfloat *params );
387 
388 extern void gl_save_TexImage1D( GLcontext *ctx, GLenum target,
389                                 GLint level, GLint components,
390 			        GLsizei width, GLint border,
391                                 GLenum format, GLenum type,
392                                 struct gl_image *teximage );
393 
394 extern void gl_save_TexImage2D( GLcontext *ctx, GLenum target,
395                                 GLint level, GLint components,
396 			        GLsizei width, GLsizei height, GLint border,
397                                 GLenum format, GLenum type,
398                                 struct gl_image *teximage );
399 
400 extern void gl_save_TexSubImage1D( GLcontext *ctx,
401                                    GLenum target, GLint level,
402                                    GLint xoffset, GLsizei width,
403                                    GLenum format, GLenum type,
404                                    struct gl_image *image );
405 
406 
407 extern void gl_save_TexSubImage2D( GLcontext *ctx,
408                                    GLenum target, GLint level,
409                                    GLint xoffset, GLint yoffset,
410                                    GLsizei width, GLsizei height,
411                                    GLenum format, GLenum type,
412                                    struct gl_image *image );
413 
414 extern void gl_save_Translatef( GLcontext *ctx,
415                                 GLfloat x, GLfloat y, GLfloat z );
416 
417 extern void gl_save_Vertex2f( GLcontext *ctx,
418                               GLfloat x, GLfloat y );
419 
420 extern void gl_save_Vertex3f( GLcontext *ctx,
421                               GLfloat x, GLfloat y, GLfloat z );
422 
423 extern void gl_save_Vertex4f( GLcontext *ctx,
424                               GLfloat x, GLfloat y, GLfloat z, GLfloat w );
425 
426 extern void gl_save_Vertex3fv( GLcontext *ctx, const GLfloat *v );
427 
428 extern void gl_save_Viewport( GLcontext *ctx, GLint x, GLint y,
429                               GLsizei width, GLsizei height );
430 
431 
432 #endif
433