Start think at a AGG renderer abstraction
This commit is contained in:
parent
7598763314
commit
7e984ca41f
@ -219,6 +219,28 @@ bool write_ppm(const unsigned char* buf,
|
|||||||
typedef agg::rgba8 color_type;
|
typedef agg::rgba8 color_type;
|
||||||
|
|
||||||
|
|
||||||
|
//////////////////////////////////////////////////////////////////////////////////
|
||||||
|
// Start of AGG abstraction for SVG render ...
|
||||||
|
|
||||||
|
typedef agg::renderer_base<agg::pixfmt_rgba32> rendererBase_t;
|
||||||
|
typedef agg::renderer_scanline_aa_solid<renderer_base> rendererSolid_t;
|
||||||
|
class Renderer {
|
||||||
|
private:
|
||||||
|
char * m_buffer;
|
||||||
|
public:
|
||||||
|
Renderer(uint32_t width, uint32_t height);
|
||||||
|
~Renderer(void);
|
||||||
|
uint32_t m_sizeX;
|
||||||
|
uint32_t m_sizeY;
|
||||||
|
rendererSolid_t * m_renderArea;
|
||||||
|
agg::rasterizer_scanline_aa<> m_rasterizer; //!< AGG renderer system
|
||||||
|
agg::scanline_p8 m_scanLine; //!<
|
||||||
|
agg::trans_affine m_basicMatrix; //!< specific render of the curent element
|
||||||
|
};
|
||||||
|
|
||||||
|
//////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
|
||||||
agg::rasterizer_scanline_aa<> g_rasterizer;
|
agg::rasterizer_scanline_aa<> g_rasterizer;
|
||||||
agg::scanline_p8 g_scanline;
|
agg::scanline_p8 g_scanline;
|
||||||
agg::path_storage g_path;
|
agg::path_storage g_path;
|
||||||
@ -248,10 +270,10 @@ double g_skew_x = 0;
|
|||||||
double g_skew_y = 0;
|
double g_skew_y = 0;
|
||||||
int g_nclick = 0;
|
int g_nclick = 0;
|
||||||
|
|
||||||
|
|
||||||
typedef agg::renderer_base<agg::pixfmt_rgba32> renderer_base;
|
typedef agg::renderer_base<agg::pixfmt_rgba32> renderer_base;
|
||||||
typedef agg::renderer_scanline_aa_solid<renderer_base> renderer_solid;
|
typedef agg::renderer_scanline_aa_solid<renderer_base> renderer_solid;
|
||||||
|
|
||||||
|
|
||||||
static char g_lion[] =
|
static char g_lion[] =
|
||||||
"f2cc99\n"
|
"f2cc99\n"
|
||||||
"M 69,18 L 82,8 L 99,3 L 118,5 L 135,12 L 149,21 L 156,13 L 165,9 L 177,13 L 183,28 L 180,50 L 164,91 L 155,107 L 154,114 L 151,121 L 141,127 L 139,136 L 155,206 L 157,251 L 126,342 L 133,357 L 128,376 L 83,376 L 75,368 L 67,350 L 61,350 L 53,369 L 4,369 L 2,361 L 5,354 L 12,342 L 16,321 L 4,257 L 4,244 L 7,218 L 9,179 L 26,127 L 43,93 L 32,77 L 30,70 L 24,67 L 16,49 L 17,35 L 18,23 L 30,12 L 40,7 L 53,7 L 62,12 L 69,18 L 69,18 L 69,18\n"
|
"M 69,18 L 82,8 L 99,3 L 118,5 L 135,12 L 149,21 L 156,13 L 165,9 L 177,13 L 183,28 L 180,50 L 164,91 L 155,107 L 154,114 L 151,121 L 141,127 L 139,136 L 155,206 L 157,251 L 126,342 L 133,357 L 128,376 L 83,376 L 75,368 L 67,350 L 61,350 L 53,369 L 4,369 L 2,361 L 5,354 L 12,342 L 16,321 L 4,257 L 4,244 L 7,218 L 9,179 L 26,127 L 43,93 L 32,77 L 30,70 L 24,67 L 16,49 L 17,35 L 18,23 L 30,12 L 40,7 L 53,7 L 62,12 L 69,18 L 69,18 L 69,18\n"
|
||||||
@ -530,7 +552,6 @@ void svg::Parser::GenerateTestFile(void)
|
|||||||
mtx2 *= agg::trans_affine_translation(width*0.7, height/2);
|
mtx2 *= agg::trans_affine_translation(width*0.7, height/2);
|
||||||
|
|
||||||
agg::conv_transform<agg::path_storage, agg::trans_affine> trans2(g_path2, mtx2);
|
agg::conv_transform<agg::path_storage, agg::trans_affine> trans2(g_path2, mtx2);
|
||||||
//g_rasterizer.add_path(trans2);
|
|
||||||
agg::render_all_paths(g_rasterizer, g_scanline, r, trans2, &g_colorsList2[0], &g_pathLdxList2[0], g_pathLdxList2.Size());
|
agg::render_all_paths(g_rasterizer, g_scanline, r, trans2, &g_colorsList2[0], &g_pathLdxList2[0], g_pathLdxList2.Size());
|
||||||
|
|
||||||
// Creating a rounded rectangle
|
// Creating a rounded rectangle
|
||||||
|
Loading…
x
Reference in New Issue
Block a user