2e4f5227e4ba8acaea1ff74329b62a5f199e9aca
[mesa.git] / src / mesa / main / eval.h
1
2 /*
3 * Mesa 3-D graphics library
4 * Version: 3.5
5 *
6 * Copyright (C) 1999-2001 Brian Paul All Rights Reserved.
7 *
8 * Permission is hereby granted, free of charge, to any person obtaining a
9 * copy of this software and associated documentation files (the "Software"),
10 * to deal in the Software without restriction, including without limitation
11 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
12 * and/or sell copies of the Software, and to permit persons to whom the
13 * Software is furnished to do so, subject to the following conditions:
14 *
15 * The above copyright notice and this permission notice shall be included
16 * in all copies or substantial portions of the Software.
17 *
18 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
19 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
21 * BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
22 * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
23 * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
24 */
25
26
27 #ifndef EVAL_H
28 #define EVAL_H
29
30
31 #include "mtypes.h"
32
33
34 extern void _mesa_init_eval( void );
35
36
37 extern GLuint _mesa_evaluator_components( GLenum target );
38
39
40 extern void gl_free_control_points( GLcontext *ctx,
41 GLenum target, GLfloat *data );
42
43
44 extern GLfloat *_mesa_copy_map_points1f( GLenum target,
45 GLint ustride, GLint uorder,
46 const GLfloat *points );
47
48 extern GLfloat *_mesa_copy_map_points1d( GLenum target,
49 GLint ustride, GLint uorder,
50 const GLdouble *points );
51
52 extern GLfloat *_mesa_copy_map_points2f( GLenum target,
53 GLint ustride, GLint uorder,
54 GLint vstride, GLint vorder,
55 const GLfloat *points );
56
57 extern GLfloat *_mesa_copy_map_points2d(GLenum target,
58 GLint ustride, GLint uorder,
59 GLint vstride, GLint vorder,
60 const GLdouble *points );
61
62
63
64 extern void
65 _mesa_Map1f( GLenum target, GLfloat u1, GLfloat u2, GLint stride,
66 GLint order, const GLfloat *points );
67
68 extern void
69 _mesa_Map2f( GLenum target,
70 GLfloat u1, GLfloat u2, GLint ustride, GLint uorder,
71 GLfloat v1, GLfloat v2, GLint vstride, GLint vorder,
72 const GLfloat *points );
73
74 extern void
75 _mesa_Map1d( GLenum target, GLdouble u1, GLdouble u2, GLint stride,
76 GLint order, const GLdouble *points );
77
78 extern void
79 _mesa_Map2d( GLenum target,
80 GLdouble u1, GLdouble u2, GLint ustride, GLint uorder,
81 GLdouble v1, GLdouble v2, GLint vstride, GLint vorder,
82 const GLdouble *points );
83
84 extern void
85 _mesa_MapGrid1f( GLint un, GLfloat u1, GLfloat u2 );
86
87 extern void
88 _mesa_MapGrid1d( GLint un, GLdouble u1, GLdouble u2 );
89
90 extern void
91 _mesa_MapGrid2f( GLint un, GLfloat u1, GLfloat u2,
92 GLint vn, GLfloat v1, GLfloat v2 );
93
94 extern void
95 _mesa_MapGrid2d( GLint un, GLdouble u1, GLdouble u2,
96 GLint vn, GLdouble v1, GLdouble v2 );
97
98 extern void
99 _mesa_GetMapdv( GLenum target, GLenum query, GLdouble *v );
100
101 extern void
102 _mesa_GetMapfv( GLenum target, GLenum query, GLfloat *v );
103
104 extern void
105 _mesa_GetMapiv( GLenum target, GLenum query, GLint *v );
106
107
108 #endif