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);
128 PathRefs& refs = shape.back();
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:478
void endContour()
Definition: Renderer_ogl.cpp:488
GLdouble _z
Definition: Renderer_ogl.h:80
void addPath(const Path &add_path)
Definition: Renderer_ogl.h:126
Anonymous namespace for callbacks, local functions, event handlers etc.
Definition: dbus_ext.cpp:40
void addPathRefs(const PathRefs &pathrefs)
Definition: Renderer_ogl.h:132
void rememberVertex(GLdouble *v)
Definition: Renderer_ogl.cpp:506
void newPath(const Path &new_path)
Definition: Renderer_ogl.h:118
Definition: Renderer_ogl.h:67
void tesselate()
Definition: Renderer_ogl.cpp:494
2D Point class
Definition: Point2d.h:38
GLdouble _y
Definition: Renderer_ogl.h:79
Base class for render handlers.
Definition: Renderer.h:188
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:1836
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:435
std::int32_t x
Definition: BitmapData_as.cpp:434
#define DSOEXPORT
Definition: dsodefs.h:55
~Tesselator()
Definition: Renderer_ogl.cpp:461
Definition: Renderer_ogl.h:115
Definition: Renderer_ogl.h:85
std::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:472
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:513
void beginPolygon()
Definition: Renderer_ogl.cpp:467
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:520