29 #ifndef GNASH_RENDER_HANDLER_OVG_H
30 #define GNASH_RENDER_HANDLER_OVG_H
35 #include <boost/scoped_array.hpp>
36 #include <boost/scoped_ptr.hpp>
49 # ifdef HAVE_VG_VGEXT_H
50 # include <VG/vgext.h>
53 #include <VG/openvg.h>
83 void init(
float x,
float y);
84 CachedBitmap *createCachedBitmap(std::auto_ptr<image::GnashImage> im);
89 void world_to_pixel(
int&
x,
int&
y,
float world_x,
float world_y)
const;
96 void begin_display(
const gnash::rgba&,
int,
int,
float,
99 void drawLine(
const std::vector<point>& coords,
const rgba&
fill,
102 const SWFRect* bounds,
bool smooth);
103 void draw_poly(
const std::vector<point>& corners,
112 void set_antialiased(
bool enable);
113 void begin_submit_mask();
114 void end_submit_mask();
118 void set_scale(
float xscale,
float yscale);
123 void endInternalRender();
125 unsigned int getBitsPerPixel();
130 void printVGParams();
131 void printVGHardware();
132 static void printVGPath(VGPath
path);
133 static void printVGMatrix(VGfloat *mat);
134 static void printVGMatrix(
const SWFMatrix &mat);
136 static const char *getErrorString(VGErrorCode error);
140 void add_paths(
const PathVec& path_vec);
141 Path reverse_path(
const Path& cur_path);
142 const Path* find_connecting_path(
const Path& to_connect,
143 std::list<const Path*> path_refs);
149 void analyze_paths(
const PathVec &paths,
bool& have_shape,
158 std::list<PathPtrVec> get_contours(
const PathPtrVec &paths);
160 std::vector<PathVec::const_iterator> find_subshapes(
const PathVec& path_vec);
161 void apply_matrix_to_paths(std::vector<Path>& paths,
const SWFMatrix& mat);
165 const std::vector<FillStyle>& fill_styles,
166 const std::vector<LineStyle>& line_styles);
167 void draw_mask(
const PathVec& path_vec);
177 float _display_width;
178 float _display_height;
180 std::vector<PathVec> _masks;
182 #ifdef OPENVG_VERSION_1_1
183 VGMaskLayer _mask_layer;
191 VGPaint _strokepaint;
201 double _aspect_ratio;
220 #endif // __RENDER_HANDLER_OVG_H__