51 lines
1.1 KiB
C++
51 lines
1.1 KiB
C++
/**
|
|
* @author Edouard DUPIN
|
|
*
|
|
* @copyright 2011, Edouard DUPIN, all right reserved
|
|
*
|
|
* @license BSD v3 (see license file)
|
|
*/
|
|
|
|
#ifndef __SVG_PARSER_H__
|
|
#define __SVG_PARSER_H__
|
|
|
|
#include <etk/types.h>
|
|
#include <etk/Vector.h>
|
|
#include <etk/math/Vector2D.h>
|
|
#include <etk/os/FSNode.h>
|
|
|
|
#include <parserSVG/Base.h>
|
|
#include <draw/Image.h>
|
|
|
|
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;
|
|
vec2 m_size;
|
|
svg::Renderer* m_renderedElement;
|
|
|
|
public:
|
|
Parser(etk::UString _fileName);
|
|
~Parser(void);
|
|
bool IsLoadOk(void) { return m_loadOK; };
|
|
void DisplayDebug(void);
|
|
void GenerateTestFile(void);
|
|
void GenerateAnImage(int32_t _sizeX, int32_t _sizeY);
|
|
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);
|
|
vec2 GetDefinedSize(void) { return m_size;};
|
|
};
|
|
};
|
|
|
|
#endif
|
|
|