16 #include <librevenge/librevenge.h> 29 virtual void writeOut(librevenge::RVNGPropertyListVector &vec)
const = 0;
32 virtual std::unique_ptr<CDRPathElement>
clone() = 0;
39 CDRPath() : m_elements(), m_isClosed(false) {}
45 void appendMoveTo(
double x,
double y);
46 void appendLineTo(
double x,
double y);
47 void appendCubicBezierTo(
double x1,
double y1,
double x2,
double y2,
double x,
double y);
48 void appendQuadraticBezierTo(
double x1,
double y1,
double x,
double y);
49 void appendSplineTo(
const std::vector<std::pair<double, double> > &points);
50 void appendArcTo(
double rx,
double ry,
double rotation,
bool longAngle,
bool sweep,
double x,
double y);
51 void appendClosePath();
52 void appendPath(
const CDRPath &path);
54 void writeOut(librevenge::RVNGPropertyListVector &vec)
const override;
55 void writeOut(librevenge::RVNGString &path, librevenge::RVNGString &viewBox,
double &width)
const;
58 std::unique_ptr<CDRPathElement>
clone()
override;
62 bool isClosed()
const;
virtual std::unique_ptr< CDRPathElement > clone()=0
virtual ~CDRPathElement()
Definition: CDRPath.h:28
CDRPath()
Definition: CDRPath.h:39
virtual void transform(const CDRTransforms &trafos)=0
Definition: CDRCollector.h:24
std::vector< std::unique_ptr< CDRPathElement > > m_elements
Definition: CDRPath.h:65
CDRPathElement()
Definition: CDRPath.h:27
bool m_isClosed
Definition: CDRPath.h:66
virtual void writeOut(librevenge::RVNGPropertyListVector &vec) const =0