22 #ifndef OE_SVGPARSER_H
23 #define OE_SVGPARSER_H
25 #include "xml/tinyxml.h"
27 #include "OE_document.h"
52 static float sqr(
float x);
53 static float vmag(
float x,
float y);
54 static float vecrat(
float ux,
float uy,
float vx,
float vy);
55 static float vecang(
float ux,
float uy,
float vx,
float vy);
56 static void xformPoint(
float* dx,
float* dy,
float x,
float y,
float* t);
57 static void xformVec(
float* dx,
float* dy,
float x,
float y,
float* t);
62 const char* parseNumber(
const char* s,
char* it,
const int size);
63 const char* getNextPathItem(
const char* s,
char* it);
66 int getArgsPerElement(
char cmd);
67 void pathMoveTo(
OE_pointcurve* curve,
float* cpx,
float* cpy,
float* args,
int rel);
68 void pathLineTo(
OE_pointcurve* curve,
float* cpx,
float* cpy,
float* args,
int rel);
69 void pathHLineTo(
OE_pointcurve* curve,
float* cpx,
float* cpy,
float* args,
int rel);
70 void pathVLineTo(
OE_pointcurve* curve,
float* cpx,
float* cpy,
float* args,
int rel);
71 void pathCubicBezTo(
OE_pointcurve* curve,
float* cpx,
float* cpy,
float* cpx2,
float* cpy2,
float* args,
int rel);
72 void pathCubicBezShortTo(
OE_pointcurve* curve,
float* cpx,
float* cpy,
float* cpx2,
float* cpy2,
float* args,
int rel);
73 void pathQuadBezTo(
OE_pointcurve* curve,
float* cpx,
float* cpy,
float* cpx2,
float* cpy2,
float* args,
int rel);
74 void pathQuadBezShortTo(
OE_pointcurve* curve,
float* cpx,
float* cpy,
float* cpx2,
float* cpy2,
float* args,
int rel);
75 void pathArcTo(
OE_pointcurve* curve,
float* cpx,
float* cpy,
float* args,
int rel);
78 bool parsePath(TiXmlElement *input);
79 bool parseSvg(TiXmlElement *input);
85 #endif // OE_SVGPARSER_H
Definition: OE_pointcurve.h:30
OE_svgParser()
Definition: OE_svgParser.cpp:31
Definition: OE_svgParser.h:29
OE_document * ParseFile(const std::string filename, const char *units, float dpi)
Definition: OE_svgParser.cpp:464
Definition: OE_document.h:32
virtual ~OE_svgParser()
Definition: OE_svgParser.cpp:40