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
00025 #include <koffice_export.h>
00037 class KOPAINTER_EXPORT SVGPathParser
00038 {
00039 public:
00040 void parseSVG( const QString &d, bool process = false );
00041
00042 protected:
00043 virtual void svgMoveTo( double x1, double y1, bool abs = true ) = 0;
00044 virtual void svgLineTo( double x1, double y1, bool abs = true ) = 0;
00045 virtual void svgLineToHorizontal( double x, bool abs = true );
00046 virtual void svgLineToVertical( double y, bool abs = true );
00047 virtual void svgCurveToCubic( double x1, double y1, double x2, double y2, double x, double y, bool abs = true ) = 0;
00048 virtual void svgCurveToCubicSmooth( double x, double y, double x2, double y2, bool abs = true );
00049 virtual void svgCurveToQuadratic( double x, double y, double x1, double y1, bool abs = true );
00050 virtual void svgCurveToQuadraticSmooth( double x, double y, bool abs = true );
00051 virtual void svgArcTo( double x, double y, double r1, double r2, double angle, bool largeArcFlag, bool sweepFlag, bool abs = true );
00052 virtual void svgClosePath() = 0;
00053
00054 private:
00055 const char *getCoord( const char *, double & );
00056 void calculateArc( bool relative, double &curx, double &cury, double angle, double x, double y, double r1, double r2, bool largeArcFlag, bool sweepFlag );
00057 };
00058
00059 #endif
This file is part of the documentation for lib Library Version 1.4.2.