19 #ifndef GNASH_RENDER_HANDLER_OGL_H
20 #define GNASH_RENDER_HANDLER_OGL_H
22 #if defined(NOT_SGI_GL) || defined(__APPLE_CC__)
27 #include <OpenGL/gl.h>
28 #include <OpenGL/glu.h>
29 #include <OpenGL/glext.h>
30 # if defined(__APPLE_CC__) && (__APPLE_CC__ >= 5465)
31 # define GLUCALLBACKTYPE GLvoid (*)()
33 # define GLUCALLBACKTYPE GLvoid (*)(...)
36 # define GLUCALLBACKTYPE void (*)()
39 # define GL_CLAMP_TO_EDGE 0x812F
42 # ifdef OSMESA_TESTING
43 # include <GL/osmesa.h>
44 # endif // OSMESA_TESTING
83 typedef std::map<const Path*, std::vector<oglVertex> >
PathPointMap;
93 void feed(std::vector<oglVertex>& vertices);
105 static void combine(GLdouble coords [3],
void *vertex_data[4],
106 GLfloat weight[4],
void **outData,
void* userdata);
111 std::vector<GLdouble*> _vertices;
112 GLUtesselator* _tessobj;
121 refs.push_back(&new_path);
123 shape.push_back(refs);
129 refs.push_back(&add_path);
135 PathRefs new_refs(pathrefs.begin(), pathrefs.end());
137 shape.push_back(new_refs);
141 const std::vector<PathRefs>&
get()
const
147 std::vector<PathRefs> shape;
void feed(std::vector< oglVertex > &vertices)
Definition: Renderer_ogl.cpp:479
void endContour()
Definition: Renderer_ogl.cpp:489
GLdouble _z
Definition: Renderer_ogl.h:80
void addPath(const Path &add_path)
Definition: Renderer_ogl.h:126
void addPathRefs(const PathRefs &pathrefs)
Definition: Renderer_ogl.h:132
void rememberVertex(GLdouble *v)
Definition: Renderer_ogl.cpp:508
void newPath(const Path &new_path)
Definition: Renderer_ogl.h:118
Definition: Renderer_ogl.h:67
void tesselate()
Definition: Renderer_ogl.cpp:495
2D Point class
Definition: Point2d.h:38
GLdouble _y
Definition: Renderer_ogl.h:79
Base class for render handlers.
Definition: Renderer.h:190
oglVertex(const point &p)
Definition: Renderer_ogl.h:73
std::vector< const Path * > PathRefs
Definition: Renderer_ogl.h:65
Renderer * create_handler(bool init)
Definition: Renderer_ogl.cpp:1849
A subset of a shape, a series of edges sharing a single set of styles.
Definition: Geometry.h:166
tuple v
Definition: test.py:11
Tesselator()
Definition: Renderer_ogl.cpp:436
boost::int32_t x
Definition: BitmapData_as.cpp:434
#define DSOEXPORT
Definition: dsodefs.h:55
~Tesselator()
Definition: Renderer_ogl.cpp:462
Definition: Renderer_ogl.h:115
Definition: Renderer_ogl.h:85
boost::int32_t y
Definition: BitmapData_as.cpp:435
GLdouble _x
Definition: Renderer_ogl.h:78
Definition: GnashKey.h:162
void beginContour()
Definition: Renderer_ogl.cpp:473
oglVertex(double x, double y, double z=0.0)
Definition: Renderer_ogl.h:68
Definition: GnashKey.h:172
static void error(GLenum error)
Definition: Renderer_ogl.cpp:515
void beginPolygon()
Definition: Renderer_ogl.cpp:468
std::map< const Path *, std::vector< oglVertex > > PathPointMap
Definition: Renderer_ogl.h:83
static void combine(GLdouble coords[3], void *vertex_data[4], GLfloat weight[4], void **outData, void *userdata)
Definition: Renderer_ogl.cpp:522