generate output in an agg image

This commit is contained in:
Edouard DUPIN 2012-08-22 18:21:14 +02:00
parent 2037fb3efc
commit ec38558a10
2 changed files with 17 additions and 0 deletions

View File

@ -295,6 +295,21 @@ void svg::Parser::GenerateAnImage(int32_t sizeX, int32_t sizeY)
*/ */
} }
void svg::Parser::GenerateAnImage(Vector2D<int32_t> size, draw::Image& output)
{
GenerateAnImage(size.x, size.y);
output.Resize(size);
draw::Color tmpp(0,0,0,0);
output.SetFillColor(tmpp);
output.Clear();
if(NULL != m_renderedElement) {
uint8_t* pointerOnData = m_renderedElement->GetDataPointer();
int32_t sizeData = m_renderedElement->GetDataSize();
uint8_t* tmpOut = (uint8_t*)output.GetTextureDataPointer();
memcpy(tmpOut, pointerOnData, sizeData);
}
}
uint8_t* svg::Parser::GetPointerOnData(void) uint8_t* svg::Parser::GetPointerOnData(void)
{ {
if(NULL == m_renderedElement) { if(NULL == m_renderedElement) {

View File

@ -28,6 +28,7 @@
#include <etk/File.h> #include <etk/File.h>
#include <etk/Vector.h> #include <etk/Vector.h>
#include <parserSVG/Base.h> #include <parserSVG/Base.h>
#include <draw/Image.h>
namespace svg namespace svg
{ {
@ -49,6 +50,7 @@ namespace svg
void DisplayDebug(void); void DisplayDebug(void);
void GenerateTestFile(void); void GenerateTestFile(void);
void GenerateAnImage(int32_t sizeX, int32_t sizeY); void GenerateAnImage(int32_t sizeX, int32_t sizeY);
void GenerateAnImage(Vector2D<int32_t> size, draw::Image& output);
virtual void AggDraw(svg::Renderer& myRenderer, agg::trans_affine& basicTrans); virtual void AggDraw(svg::Renderer& myRenderer, agg::trans_affine& basicTrans);
uint8_t* GetPointerOnData(void); uint8_t* GetPointerOnData(void);
uint32_t GetSizeOnData(void); uint32_t GetSizeOnData(void);