13#include <QPainterPath>
27 , coordinates(rhs.coordinates)
28 , contentCoordinates(rhs.contentCoordinates)
29 , maskRect(rhs.maskRect)
30 , extraShapeTransform(rhs.extraShapeTransform)
32 Q_FOREACH (
KoShape *shape, rhs.shapes) {
36 shapes << clonedShape;
49 QRectF maskRect = QRectF(-0.1, -0.1, 1.2, 1.2);
83 return m_d->coordinates;
93 return m_d->contentCoordinates;
103 return m_d->maskRect;
123 return m_d->shapes.isEmpty();
134 const QTransform t = QTransform::fromTranslate(
value.x(),
value.y());
150 QPainterPath clipPathInShapeSpace;
154 clipPathInShapeSpace.addPolygon(relativeToShape.map(
m_d->maskRect));
156 clipPathInShapeSpace.addRect(
m_d->maskRect);
157 clipPathInShapeSpace =
m_d->extraShapeTransform.map(clipPathInShapeSpace);
160 painter->setClipPath(clipPathInShapeSpace, Qt::IntersectClip);
165 painter->setTransform(relativeToShape,
true);
167 painter->setTransform(
m_d->extraShapeTransform,
true);
float value(const T *src, size_t ch)
void setShapes(const QList< KoShape * > &shapes)
virtual QRectF outlineRect() const
void applyAbsoluteTransformation(const QTransform &matrix)
virtual KoShape * cloneShape() const
creates a deep copy of the shape or shape's subtree
#define KIS_ASSERT_RECOVER(cond)
QTransform mapToRect(const QRectF &rect)
QList< KoShape * > shapes
QTransform extraShapeTransform
KoFlake::CoordinateSystem coordinates
void drawMask(QPainter *painter, KoShape *shape)
KoFlake::CoordinateSystem contentCoordinates
QSharedDataPointer< Private > m_d
void setContentCoordinates(KoFlake::CoordinateSystem value)
KoClipMask * clone() const
void setShapes(const QList< KoShape * > &value)
void setExtraShapeOffset(const QPointF &value)
Private(const Private &rhs)
void setCoordinates(KoFlake::CoordinateSystem value)
void setMaskRect(const QRectF &value)
KoClipMask & operator=(const KoClipMask &)