OSDN Git Service

mesa/main: Make FEATURE_colortable follow feature conventions.
[android-x86/external-mesa.git] / src / mesa / main / colortab.h
1 /*
2  * Mesa 3-D graphics library
3  * Version:  6.5.2
4  *
5  * Copyright (C) 1999-2006  Brian Paul   All Rights Reserved.
6  *
7  * Permission is hereby granted, free of charge, to any person obtaining a
8  * copy of this software and associated documentation files (the "Software"),
9  * to deal in the Software without restriction, including without limitation
10  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
11  * and/or sell copies of the Software, and to permit persons to whom the
12  * Software is furnished to do so, subject to the following conditions:
13  *
14  * The above copyright notice and this permission notice shall be included
15  * in all copies or substantial portions of the Software.
16  *
17  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
18  * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
20  * BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
21  * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
22  * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
23  */
24
25
26 #ifndef COLORTAB_H
27 #define COLORTAB_H
28
29
30 #include "main/mtypes.h"
31
32 #if FEATURE_colortable
33
34 #define _MESA_INIT_COLORTABLE_FUNCTIONS(driver, impl)                \
35    do {                                                              \
36       (driver)->CopyColorTable       = impl ## CopyColorTable;       \
37       (driver)->CopyColorSubTable    = impl ## CopyColorSubTable;    \
38       (driver)->UpdateTexturePalette = impl ## UpdateTexturePalette; \
39    } while (0)
40
41 extern void GLAPIENTRY
42 _mesa_ColorTable( GLenum target, GLenum internalformat,
43                   GLsizei width, GLenum format, GLenum type,
44                   const GLvoid *table );
45
46 extern void GLAPIENTRY
47 _mesa_ColorSubTable( GLenum target, GLsizei start,
48                      GLsizei count, GLenum format, GLenum type,
49                      const GLvoid *table );
50
51 extern void GLAPIENTRY
52 _mesa_CopyColorSubTable(GLenum target, GLsizei start,
53                         GLint x, GLint y, GLsizei width);
54
55 extern void GLAPIENTRY
56 _mesa_CopyColorTable(GLenum target, GLenum internalformat,
57                      GLint x, GLint y, GLsizei width);
58
59 extern void GLAPIENTRY
60 _mesa_GetColorTable( GLenum target, GLenum format,
61                      GLenum type, GLvoid *table );
62
63 extern void GLAPIENTRY
64 _mesa_ColorTableParameterfv(GLenum target, GLenum pname,
65                             const GLfloat *params);
66
67 extern void GLAPIENTRY
68 _mesa_ColorTableParameteriv(GLenum target, GLenum pname,
69                             const GLint *params);
70
71 extern void GLAPIENTRY
72 _mesa_GetColorTableParameterfv( GLenum target, GLenum pname, GLfloat *params );
73
74 extern void GLAPIENTRY
75 _mesa_GetColorTableParameteriv( GLenum target, GLenum pname, GLint *params );
76
77 extern void 
78 _mesa_init_colortable_dispatch(struct _glapi_table *disp);
79
80 #else /* FEATURE_colortable */
81
82 #define _MESA_INIT_COLORTABLE_FUNCTIONS(driver, impl) do { } while (0)
83
84 static INLINE void
85 _mesa_init_colortable_dispatch(struct _glapi_table *disp)
86 {
87 }
88
89 #endif /* FEATURE_colortable */
90
91
92 extern void
93 _mesa_init_colortable( struct gl_color_table *table );
94
95 extern void
96 _mesa_free_colortable_data( struct gl_color_table *table );
97
98 extern void 
99 _mesa_init_colortables( GLcontext *ctx );
100
101 extern void 
102 _mesa_free_colortables_data( GLcontext *ctx );
103
104
105 #endif /* COLORTAB_H */