11#ifndef ROOT_GLConstants
12#define ROOT_GLConstants
20#define GLConstants1(abc_prefix) \
21 abc_prefix##QUAD_STRIP, abc_prefix##QUADS, abc_prefix##COMPILE, abc_prefix##COMPILE_AND_EXECUTE \
22 ,abc_prefix##LIGHT0 , abc_prefix##LIGHT1 , abc_prefix##LIGHT2 , abc_prefix##LIGHT3 \
23 ,abc_prefix##LIGHT4 , abc_prefix##LIGHT5 , abc_prefix##LIGHT6 , abc_prefix##LIGHT7 \
24 ,abc_prefix##CW , abc_prefix##CCW \
25 ,abc_prefix##FRONT , abc_prefix##BACK , abc_prefix##FRONT_AND_BACK \
26 ,abc_prefix##POINT , abc_prefix##LINE , abc_prefix##FILL \
27 ,abc_prefix##ACCUM_ALPHA_BITS, abc_prefix##ACCUM_BLUE_BITS, abc_prefix##ACCUM_CLEAR_VALUE \
28 ,abc_prefix##ACCUM_GREEN_BITS, abc_prefix##ACCUM_RED_BITS, abc_prefix##ALPHA_BIAS \
29 ,abc_prefix##ALPHA_BITS, abc_prefix##ALPHA_SCALE, abc_prefix##ALPHA_TEST \
30 ,abc_prefix##ALPHA_TEST_FUNC, abc_prefix##ALPHA_TEST_REF, abc_prefix##ATTRIB_STACK_DEPTH \
31 ,abc_prefix##AUTO_NORMAL, abc_prefix##AUX_BUFFERS, abc_prefix##BLEND \
32 ,abc_prefix##BLEND_DST, abc_prefix##BLEND_SRC, abc_prefix##BLUE_BIAS \
33 ,abc_prefix##BLUE_BITS, abc_prefix##BLUE_SCALE, abc_prefix##COLOR_CLEAR_VALUE \
34 ,abc_prefix##COLOR_MATERIAL, abc_prefix##COLOR_MATERIAL_FACE \
35 ,abc_prefix##COLOR_MATERIAL_PARAMETER, abc_prefix##COLOR_WRITEMASK \
36 ,abc_prefix##CULL_FACE, abc_prefix##CULL_FACE_MODE, abc_prefix##CURRENT_COLOR
38#define GLConstants2(abc_prefix) \
39 ,abc_prefix##CURRENT_INDEX, abc_prefix##CURRENT_NORMAL, abc_prefix##CURRENT_RASTER_COLOR \
40 ,abc_prefix##CURRENT_RASTER_DISTANCE, abc_prefix##CURRENT_RASTER_INDEX \
41 ,abc_prefix##CURRENT_RASTER_POSITION, abc_prefix##CURRENT_RASTER_TEXTURE_COORDS \
42 ,abc_prefix##CURRENT_RASTER_POSITION_VALID, abc_prefix##CURRENT_TEXTURE_COORDS \
43 ,abc_prefix##DEPTH_BIAS, abc_prefix##DEPTH_BITS, abc_prefix##DEPTH_CLEAR_VALUE \
44 ,abc_prefix##DEPTH_FUNC, abc_prefix##DEPTH_RANGE, abc_prefix##DEPTH_SCALE \
45 ,abc_prefix##DEPTH_TEST, abc_prefix##DEPTH_WRITEMASK, abc_prefix##DITHER \
46 ,abc_prefix##DOUBLEBUFFER, abc_prefix##DRAW_BUFFER, abc_prefix##EDGE_FLAG \
47 ,abc_prefix##FOG, abc_prefix##FOG_COLOR, abc_prefix##FOG_DENSITY \
48 ,abc_prefix##FOG_END, abc_prefix##FOG_HINT, abc_prefix##FOG_INDEX \
49 ,abc_prefix##FOG_MODE, abc_prefix##FOG_START, abc_prefix##FRONT_FACE \
50 ,abc_prefix##GREEN_BIAS, abc_prefix##GREEN_BITS, abc_prefix##GREEN_SCALE \
51 ,abc_prefix##INDEX_BITS, abc_prefix##INDEX_CLEAR_VALUE \
52 ,abc_prefix##INDEX_MODE, abc_prefix##INDEX_OFFSET, abc_prefix##INDEX_SHIFT \
53 ,abc_prefix##INDEX_WRITEMASK, abc_prefix##LIGHTING, abc_prefix##LIGHT_MODEL_AMBIENT \
54 ,abc_prefix##LIGHT_MODEL_LOCAL_VIEWER, abc_prefix##LIGHT_MODEL_TWO_SIDE
56#define GLConstants3(abc_prefix) \
57 ,abc_prefix##LINE_SMOOTH, abc_prefix##LINE_SMOOTH_HINT,abc_prefix##LINE_STIPPLE \
58 ,abc_prefix##LINE_STIPPLE_PATTERN, abc_prefix##LINE_STIPPLE_REPEAT \
59 ,abc_prefix##LINE_WIDTH, abc_prefix##LINE_WIDTH_GRANULARITY \
60 ,abc_prefix##LINE_WIDTH_RANGE, abc_prefix##LIST_BASE, abc_prefix##LIST_INDEX \
61 ,abc_prefix##LIST_MODE, abc_prefix##LOGIC_OP, abc_prefix##LOGIC_OP_MODE \
62 ,abc_prefix##MAP1_COLOR_4, abc_prefix##MAP1_GRID_DOMAIN,abc_prefix##MAP1_GRID_SEGMENTS \
63 ,abc_prefix##MAP1_INDEX, abc_prefix##MAP1_NORMAL, abc_prefix##MAP1_TEXTURE_COORD_1 \
64 ,abc_prefix##MAP1_TEXTURE_COORD_2, abc_prefix##MAP1_TEXTURE_COORD_3 \
65 ,abc_prefix##MAP1_TEXTURE_COORD_4, abc_prefix##MAP1_VERTEX_3 \
66 ,abc_prefix##MAP1_VERTEX_4, abc_prefix##MAP2_COLOR_4, abc_prefix##MAP2_GRID_DOMAIN \
67 ,abc_prefix##MAP2_GRID_SEGMENTS, abc_prefix##MAP2_INDEX \
68 ,abc_prefix##MAP2_NORMAL, abc_prefix##MAP2_TEXTURE_COORD_1 \
69 ,abc_prefix##MAP2_TEXTURE_COORD_2, abc_prefix##MAP2_TEXTURE_COORD_3 \
70 ,abc_prefix##MAP2_TEXTURE_COORD_4, abc_prefix##MAP2_VERTEX_3 \
71 ,abc_prefix##MAP2_VERTEX_4, abc_prefix##MAP_COLOR, abc_prefix##MAP_STENCIL \
72 ,abc_prefix##MATRIX_MODE, abc_prefix##MAX_ATTRIB_STACK_DEPTH \
73 ,abc_prefix##MAX_CLIP_PLANES, abc_prefix##MAX_EVAL_ORDER, abc_prefix##MAX_LIGHTS \
74 ,abc_prefix##MAX_LIST_NESTING, abc_prefix##MAX_MODELVIEW_STACK_DEPTH \
75 ,abc_prefix##MAX_NAME_STACK_DEPTH, abc_prefix##MAX_PIXEL_MAP_TABLE \
76 ,abc_prefix##MAX_PROJECTION_STACK_DEPTH, abc_prefix##MAX_TEXTURE_SIZE \
77 ,abc_prefix##MAX_TEXTURE_STACK_DEPTH, abc_prefix##MAX_VIEWPORT_DIMS
79#define GLConstants4(abc_prefix) \
80 ,abc_prefix##MODELVIEW_MATRIX, abc_prefix##MODELVIEW_STACK_DEPTH \
81 ,abc_prefix##NAME_STACK_DEPTH, abc_prefix##NORMALIZE, abc_prefix##PACK_ALIGNMENT \
82 ,abc_prefix##PACK_LSB_FIRST, abc_prefix##PACK_ROW_LENGTH, abc_prefix##PACK_SKIP_PIXELS \
83 ,abc_prefix##PACK_SKIP_ROWS, abc_prefix##PACK_SWAP_BYTES, abc_prefix##PERSPECTIVE_CORRECTION_HINT \
84 ,abc_prefix##PIXEL_MAP_A_TO_A_SIZE, abc_prefix##PIXEL_MAP_B_TO_B_SIZE \
85 ,abc_prefix##PIXEL_MAP_G_TO_G_SIZE, abc_prefix##PIXEL_MAP_I_TO_A_SIZE \
86 ,abc_prefix##PIXEL_MAP_I_TO_B_SIZE, abc_prefix##PIXEL_MAP_I_TO_G_SIZE \
87 ,abc_prefix##PIXEL_MAP_I_TO_I_SIZE, abc_prefix##PIXEL_MAP_I_TO_R_SIZE \
88 ,abc_prefix##PIXEL_MAP_R_TO_R_SIZE, abc_prefix##PIXEL_MAP_S_TO_S_SIZE \
89 ,abc_prefix##POINT_SIZE, abc_prefix##POINT_SIZE_GRANULARITY \
90 ,abc_prefix##POINT_SIZE_RANGE, abc_prefix##POINT_SMOOTH, abc_prefix##POINT_SMOOTH_HINT \
91 ,abc_prefix##POLYGON_MODE, abc_prefix##POLYGON_SMOOTH, abc_prefix##POLYGON_SMOOTH_HINT \
92 ,abc_prefix##POLYGON_STIPPLE, abc_prefix##PROJECTION_MATRIX, abc_prefix##PROJECTION_STACK_DEPTH \
93 ,abc_prefix##READ_BUFFER, abc_prefix##RED_BIAS, abc_prefix##RED_BITS \
94 ,abc_prefix##RED_SCALE, abc_prefix##RENDER_MODE, abc_prefix##RGBA_MODE \
95 ,abc_prefix##SCISSOR_BOX, abc_prefix##SCISSOR_TEST, abc_prefix##SHADE_MODEL \
96 ,abc_prefix##STENCIL_BITS, abc_prefix##STENCIL_CLEAR_VALUE \
97 ,abc_prefix##STENCIL_FAIL, abc_prefix##STENCIL_FUNC, abc_prefix##STENCIL_PASS_DEPTH_FAIL \
98 ,abc_prefix##STENCIL_PASS_DEPTH_PASS, abc_prefix##STENCIL_REF \
99 ,abc_prefix##STENCIL_TEST, abc_prefix##STENCIL_VALUE_MASK,abc_prefix##STENCIL_WRITEMASK \
100 ,abc_prefix##STEREO, abc_prefix##SUBPIXEL_BITS, abc_prefix##TEXTURE_1D \
101 ,abc_prefix##TEXTURE_2D, abc_prefix##TEXTURE_ENV_COLOR,abc_prefix##TEXTURE_ENV_MODE \
102 ,abc_prefix##TEXTURE_GEN_S, abc_prefix##TEXTURE_GEN_T, abc_prefix##TEXTURE_GEN_R \
103 ,abc_prefix##TEXTURE_GEN_Q, abc_prefix##TEXTURE_MATRIX, abc_prefix##TEXTURE_STACK_DEPTH \
104 ,abc_prefix##UNPACK_ALIGNMENT, abc_prefix##UNPACK_LSB_FIRST,abc_prefix##UNPACK_ROW_LENGTH \
105 ,abc_prefix##UNPACK_SKIP_PIXELS,abc_prefix##UNPACK_SKIP_ROWS,abc_prefix##UNPACK_SWAP_BYTES \
106 ,abc_prefix##VIEWPORT, abc_prefix##ZOOM_X, abc_prefix##ZOOM_Y \
107 ,abc_prefix##SMOOTH, abc_prefix##FLAT
109#define GLConstants5(abc_prefix) \
110 ,abc_prefix##POINTS, abc_prefix##LINES, abc_prefix##LINE_STRIP, abc_prefix##LINE_LOOP \
111 ,abc_prefix##TRIANGLES, abc_prefix##TRIANGLE_STRIP, abc_prefix##TRIANGLE_FAN \
114#define GLConstants6(abc_prefix) \
115 ,abc_prefix##DIFFUSE, abc_prefix##POSITION, abc_prefix##CLIP_PLANE0
117#define GLConstants(abc_prefix) \
118 GLConstants1(abc_prefix) \
119 GLConstants2(abc_prefix) \
120 GLConstants3(abc_prefix) \
121 GLConstants4(abc_prefix) \
122 GLConstants5(abc_prefix) \
123 GLConstants6(abc_prefix)
#define GLConstants(abc_prefix)
@ kSTENCIL_PASS_DEPTH_FAIL
@ kPROJECTION_STACK_DEPTH
@ kLIGHT_MODEL_LOCAL_VIEWER
@ kMAX_MODELVIEW_STACK_DEPTH
@ kLINE_WIDTH_GRANULARITY
@ kCURRENT_RASTER_TEXTURE_COORDS
@ kCURRENT_RASTER_POSITION
@ kPERSPECTIVE_CORRECTION_HINT
@ kSTENCIL_PASS_DEPTH_PASS
@ kPOINT_SIZE_GRANULARITY
@ kMAX_TEXTURE_STACK_DEPTH
@ kMAX_ATTRIB_STACK_DEPTH
@ kCURRENT_RASTER_DISTANCE
@ kCURRENT_TEXTURE_COORDS
@ kCURRENT_RASTER_POSITION_VALID
@ kMAX_PROJECTION_STACK_DEPTH
@ kCOLOR_MATERIAL_PARAMETER