svgpathparser.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
#ifndef __SVGPATHPARSER_H__
00021
#define __SVGPATHPARSER_H__
00022
00023
class QString;
00024
00036 class SVGPathParser
00037 {
00038
public:
00039
void parseSVG(
const QString &d,
bool process =
false );
00040
00041
protected:
00042
virtual void svgMoveTo(
double x1,
double y1,
bool abs =
true ) = 0;
00043
virtual void svgLineTo(
double x1,
double y1,
bool abs =
true ) = 0;
00044
virtual void svgLineToHorizontal(
double x,
bool abs =
true );
00045
virtual void svgLineToVertical(
double y,
bool abs =
true );
00046
virtual void svgCurveToCubic(
double x1,
double y1,
double x2,
double y2,
double x,
double y,
bool abs =
true ) = 0;
00047
virtual void svgCurveToCubicSmooth(
double x,
double y,
double x2,
double y2,
bool abs =
true );
00048
virtual void svgCurveToQuadratic(
double x,
double y,
double x1,
double y1,
bool abs =
true );
00049
virtual void svgCurveToQuadraticSmooth(
double x,
double y,
bool abs =
true );
00050
virtual void svgArcTo(
double x,
double y,
double r1,
double r2,
double angle,
bool largeArcFlag,
bool sweepFlag,
bool abs =
true );
00051
virtual void svgClosePath() = 0;
00052
00053
private:
00054
const char *getCoord(
const char *,
double & );
00055
void calculateArc(
bool relative,
double &curx,
double &cury,
double angle,
double x,
double y,
double r1,
double r2,
bool largeArcFlag,
bool sweepFlag );
00056 };
00057
00058
#endif
This file is part of the documentation for lib Library Version 1.3.5.