7#ifndef KARBONCALLIGRAPHICSHAPE_H
8#define KARBONCALLIGRAPHICSHAPE_H
13#define KarbonCalligraphicShapeId "KarbonCalligraphicShape"
60 dbg.nospace() <<
"(" << pt.
point() <<
", a: " << pt.
angle() <<
", w: " << pt.
width() <<
")";
97 void appendPoint(
const QPointF &
p1, qreal angle, qreal width);
104 void setSize(
const QSizeF &newSize)
override;
119 const QPointF &point,
120 Qt::KeyboardModifiers modifiers = Qt::NoModifier)
override;
142 static int ccw(
const QPointF &
p1,
const QPointF &
p2,
const QPointF &
p3);
145 void addCap(
int index1,
int index2,
int pointIndex,
bool inverted =
false);
148 QSharedDataPointer<Private>
s;
QDebug operator<<(QDebug dbg, const KarbonCalligraphicPoint &pt)
bool operator==(const KarbonCalligraphicPoint &rhs) const
KarbonCalligraphicPoint()=default
KarbonCalligraphicPoint(const QPointF &point, qreal angle, qreal width)
KarbonCalligraphicPoint(const KarbonCalligraphicPoint &rhs)=default
void setPoint(const QPointF &point)
void setAngle(qreal angle)
KarbonCalligraphicShape(qreal caps=0.0)
void setSize(const QSizeF &newSize) override
Resize the shape.
KoShape * cloneShape() const override
creates a deep copy of the shape or shape's subtree
void appendPointsToPathAux(const QPointF &p1, const QPointF &p2)
void appendPoint(const QPointF &p1, qreal angle, qreal width)
~KarbonCalligraphicShape() override
const QRectF lastPieceBoundingRect()
static int ccw(const QPointF &p1, const QPointF &p2, const QPointF &p3)
void smoothPoint(const int index)
bool flipDetected(const QPointF &p1, const QPointF &p2)
void updatePath(const QSizeF &size) override
Update the path of the parameter shape.
QString pathShapeId() const override
void addCap(int index1, int index2, int pointIndex, bool inverted=false)
void appendPointToPath(const KarbonCalligraphicPoint &p)
QPointF normalize() override
Normalizes the path data.
void moveHandleAction(int handleId, const QPointF &point, Qt::KeyboardModifiers modifiers=Qt::NoModifier) override
Updates the internal state of a KoParameterShape.
QSharedDataPointer< Private > s
QSizeF size() const override
reimplemented
static bool qFuzzyCompare(half p1, half p2)