10#ifndef IWORKPATH_H_INCLUDED
11#define IWORKPATH_H_INCLUDED
19#include <librevenge/librevenge.h>
54 void computeBoundingBox(
double &minX,
double &minY,
double &maxX,
double &maxY,
double factor=1)
const;
66 const std::string
str()
const;
70 void write(librevenge::RVNGPropertyListVector &vec,
double deltaX=0,
double deltaY=0)
const;
bool m_isSpline
Definition IWORKPath.h:95
boost::optional< IWORKPosition > m_positions[3]
Definition IWORKPath.h:93
boost::optional< IWORKSize > m_size
Definition IWORKPath.h:94
IWORKPathPtr_t getPath() const
Definition IWORKPath.h:29
void write(librevenge::RVNGPropertyListVector &vec, double deltaX=0, double deltaY=0) const
Create librevenge representation of this path.
void appendMoveTo(double x, double y)
void appendQCurveTo(double x1, double y1, double x, double y)
void appendLineTo(double x, double y)
std::shared_ptr< Impl > m_impl
Definition IWORKPath.h:72
IWORKPath(const IWORKPath &other)
const std::string str() const
void computeBoundingBox(double &minX, double &minY, double &maxX, double &maxY, double factor=1) const
IWORKPath(const std::string &path)
friend bool approxEqual(const IWORKPath &left, const IWORKPath &right, const double eps)
void operator*=(const glm::dmat3 &tr)
Transform all elements of the path.
void appendCCurveTo(double x1, double y1, double x2, double y2, double x, double y)
IWORKPath & operator=(const IWORKPath &other)
void closePath(bool closeOnlyIsSamePoint=true)
void swap(IWORKPath &other)
#define ETONYEK_EPSILON
Definition libetonyek_utils.h:26
@ y
Definition IWORKToken.h:643
@ path
Definition IWORKToken.h:365
@ left
Definition IWORKToken.h:575
@ x
Definition IWORKToken.h:641
@ right
Definition IWORKToken.h:604
@ tr
Definition KEY1Token.h:206
Definition IWORKBezierElement.cpp:21
IWORKPath operator*(const IWORKPath &path, const glm::dmat3 &tr)
Create a transformed path.
bool operator==(const IWORKPath &left, const IWORKPath &right)
bool approxEqual(const IWORKPath &left, const IWORKPath &right, double eps=ETONYEK_EPSILON)
bool operator!=(const IWORKPath &left, const IWORKPath &right)
std::shared_ptr< IWORKPath > IWORKPathPtr_t
Definition IWORKPath_fwd.h:22
Definition IWORKPath.cpp:79
Definition IWORKPath.h:34