]> de.git.xonotic.org Git - xonotic/netradiant.git/blob - tools/quake2/extra/qe4/glingr.h
Q2Tools source - didn't import this in initially
[xonotic/netradiant.git] / tools / quake2 / extra / qe4 / glingr.h
1 /*
2 ===========================================================================
3 Copyright (C) 1997-2006 Id Software, Inc.
4
5 This file is part of Quake 2 Tools source code.
6
7 Quake 2 Tools source code is free software; you can redistribute it
8 and/or modify it under the terms of the GNU General Public License as
9 published by the Free Software Foundation; either version 2 of the License,
10 or (at your option) any later version.
11
12 Quake 2 Tools source code is distributed in the hope that it will be
13 useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15 GNU General Public License for more details.
16
17 You should have received a copy of the GNU General Public License
18 along with Quake 2 Tools source code; if not, write to the Free Software
19 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
20 ===========================================================================
21 */
22
23 // This .h file contains constants, typedefs, etc. for Intergraph
24 // extensions to OpenGL.  These extensions are:
25 //
26 //            Multiple Palette Extension
27 //            Texture Object Extension
28
29 #define GL_INGR_multiple_palette        1
30 #define GL_EXT_texture_object           1
31
32
33 // New constants and typedefs for the Multiple Palette Extension
34 #define GL_PALETTE_INGR                 0x80c0
35 #define GL_MAX_PALETTES_INGR            0x80c1
36 #define GL_MAX_PALETTE_ENTRIES_INGR     0x80c2
37 #define GL_CURRENT_PALETTE_INGR         0x80c3
38 #define GL_PALETTE_WRITEMASK_INGR       0x80c4
39 #define GL_CURRENT_RASTER_PALETTE_INGR  0x80c5
40 #define GL_PALETTE_CLEAR_VALUE_INGR     0x80c6
41
42 // Function prototypes for the Multiple Palette Extension routines
43 typedef void (APIENTRY *PALETTEFUNCPTR)(GLuint);
44 typedef void (APIENTRY *PALETTEMASKFUNCPTR)(GLboolean);
45 typedef void (APIENTRY *WGLLOADPALETTEFUNCPTR)(GLuint, GLsizei, GLuint *);
46 typedef void (APIENTRY *CLEARPALETTEFUNCPTR)(GLuint);
47
48
49 // New Constants and typedefs for the Texture Object Extension
50 #define GL_TEXTURE_PRIORITY_EXT         0x8066
51 #define GL_TEXTURE_RESIDENT_EXT         0x8067
52 #define GL_TEXTURE_1D_BINDING_EXT       0x8068
53 #define GL_TEXTURE_2D_BINDING_EXT       0x8069
54
55 // Function prototypes for the Texture Object Extension routines
56 typedef GLboolean (APIENTRY *ARETEXRESFUNCPTR)(GLsizei, const GLuint *,
57                     const GLboolean *);
58 typedef void (APIENTRY *BINDTEXFUNCPTR)(GLenum, GLuint);
59 typedef void (APIENTRY *DELTEXFUNCPTR)(GLsizei, const GLuint *);
60 typedef void (APIENTRY *GENTEXFUNCPTR)(GLsizei, GLuint *);
61 typedef GLboolean (APIENTRY *ISTEXFUNCPTR)(GLuint);
62 typedef void (APIENTRY *PRIORTEXFUNCPTR)(GLsizei, const GLuint *,
63                     const GLclampf *);
64
65
66 /* OpenGL ExtEscape escape function constants */
67 #ifndef OPENGL_GETINFO
68 #define OPENGL_GETINFO  4353        /* for OpenGL ExtEscape */
69 #endif
70
71 // OPENGL_GETINFO ExtEscape sub-escape numbers.  They are defined by
72 // Microsoft.
73
74 #ifndef OPENGL_GETINFO_DRVNAME
75
76 #define OPENGL_GETINFO_DRVNAME  0
77
78
79 // Input structure for OPENGL_GETINFO ExtEscape.
80
81 typedef struct _OPENGLGETINFO
82 {
83     ULONG   ulSubEsc;
84 } OPENGLGETINFO, *POPENGLGETINFO;
85
86
87 // Output structure for OPENGL_GETINFO_DRVNAME ExtEscape.
88
89 typedef struct _GLDRVNAMERET
90 {
91     ULONG   ulVersion;              // must be 1 for this version
92     ULONG   ulDriverVersion;        // driver specific version number
93     WCHAR   awch[MAX_PATH+1];
94 } GLDRVNAMERET, *PGLDRVNAMERET;
95
96 #endif
97
98