2 * Mesa 3-D graphics library
5 * Copyright (C) 1999-2006 Brian Paul All Rights Reserved.
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:
14 * The above copyright notice and this permission notice shall be included
15 * in all copies or substantial portions of the Software.
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.
30 #include "main/mtypes.h"
32 #if FEATURE_colortable
34 #define _MESA_INIT_COLORTABLE_FUNCTIONS(driver, impl) \
36 (driver)->CopyColorTable = impl ## CopyColorTable; \
37 (driver)->CopyColorSubTable = impl ## CopyColorSubTable; \
38 (driver)->UpdateTexturePalette = impl ## UpdateTexturePalette; \
41 extern void GLAPIENTRY
42 _mesa_ColorTable( GLenum target, GLenum internalformat,
43 GLsizei width, GLenum format, GLenum type,
44 const GLvoid *table );
46 extern void GLAPIENTRY
47 _mesa_ColorSubTable( GLenum target, GLsizei start,
48 GLsizei count, GLenum format, GLenum type,
49 const GLvoid *table );
51 extern void GLAPIENTRY
52 _mesa_CopyColorSubTable(GLenum target, GLsizei start,
53 GLint x, GLint y, GLsizei width);
55 extern void GLAPIENTRY
56 _mesa_CopyColorTable(GLenum target, GLenum internalformat,
57 GLint x, GLint y, GLsizei width);
59 extern void GLAPIENTRY
60 _mesa_GetColorTable( GLenum target, GLenum format,
61 GLenum type, GLvoid *table );
63 extern void GLAPIENTRY
64 _mesa_ColorTableParameterfv(GLenum target, GLenum pname,
65 const GLfloat *params);
67 extern void GLAPIENTRY
68 _mesa_ColorTableParameteriv(GLenum target, GLenum pname,
71 extern void GLAPIENTRY
72 _mesa_GetColorTableParameterfv( GLenum target, GLenum pname, GLfloat *params );
74 extern void GLAPIENTRY
75 _mesa_GetColorTableParameteriv( GLenum target, GLenum pname, GLint *params );
78 _mesa_init_colortable_dispatch(struct _glapi_table *disp);
80 #else /* FEATURE_colortable */
82 #define _MESA_INIT_COLORTABLE_FUNCTIONS(driver, impl) do { } while (0)
85 _mesa_init_colortable_dispatch(struct _glapi_table *disp)
89 #endif /* FEATURE_colortable */
93 _mesa_init_colortable( struct gl_color_table *table );
96 _mesa_free_colortable_data( struct gl_color_table *table );
99 _mesa_init_colortables( GLcontext *ctx );
102 _mesa_free_colortables_data( GLcontext *ctx );
105 #endif /* COLORTAB_H */