[DEV] generate the svg image at the native size

This commit is contained in:
Edouard DUPIN 2013-04-14 14:02:03 +02:00
parent b8287243a8
commit 928deb22ee
2 changed files with 18 additions and 15 deletions

View File

@ -110,16 +110,13 @@ svg::Parser::Parser(etk::UString fileName) : m_renderedElement(NULL)
m_version = version;
}
// parse ...
etk::Vector2D<float> pos;
vec2 pos(0,0);
ParseTransform(root);
ParsePosition(root, pos, m_size);
ParsePaintAttr(root);
SVG_VERBOSE("parsed .ROOT trans : (" << m_transformMatrix.sx << "," << m_transformMatrix.shy << "," << m_transformMatrix.shx << "," << m_transformMatrix.sy << "," << m_transformMatrix.tx << "," << m_transformMatrix.ty << ")");
vec2 maxSize(0,0);
vec2 size;
vec2 size(0,0);
// parse all sub node :
for(TiXmlNode * child = root->FirstChild(); NULL != child; child = child->NextSibling() ) {
svg::Base *elementParser = NULL;
@ -299,7 +296,12 @@ void svg::Parser::GenerateAnImage(int32_t sizeX, int32_t sizeY)
*/
}
void svg::Parser::GenerateAnImage(etk::Vector2D<int32_t> size, draw::Image& output)
void svg::Parser::GenerateAnImage(draw::Image& output)
{
GenerateAnImage(ivec2(m_size.x(),m_size.y()), output);
}
void svg::Parser::GenerateAnImage(ivec2 size, draw::Image& output)
{
GenerateAnImage(size.x(), size.y());
output.Resize(size);

View File

@ -38,13 +38,13 @@ namespace svg
class Parser : public svg::Base
{
private:
etk::UString m_fileName;
bool m_loadOK;
etk::UString m_version;
etk::UString m_title;
etk::Vector<svg::Base *> m_subElementList;
etk::Vector2D<float> m_size;
svg::Renderer* m_renderedElement;
etk::UString m_fileName;
bool m_loadOK;
etk::UString m_version;
etk::UString m_title;
etk::Vector<svg::Base *> m_subElementList;
vec2 m_size;
svg::Renderer* m_renderedElement;
public:
Parser(etk::UString fileName);
@ -53,11 +53,12 @@ namespace svg
void DisplayDebug(void);
void GenerateTestFile(void);
void GenerateAnImage(int32_t sizeX, int32_t sizeY);
void GenerateAnImage(etk::Vector2D<int32_t> size, draw::Image& output);
void GenerateAnImage(ivec2 size, draw::Image& output);
void GenerateAnImage(draw::Image& output);
virtual void AggDraw(svg::Renderer& myRenderer, agg::trans_affine& basicTrans);
uint8_t* GetPointerOnData(void);
uint32_t GetSizeOnData(void);
etk::Vector2D<float> GetDefinedSize(void) { return m_size;};
vec2 GetDefinedSize(void) { return m_size;};
};
};