9#ifndef KOSHAPEMANAGER_H
10#define KOSHAPEMANAGER_H
17#include "kritaflake_export.h"
71 void setShapes(
const QList<KoShape *> &shapes, Repaint repaint = PaintShapeOnAdd);
106 PaintJob(QRectF _docUpdateRect, QRect _viewUpdateRect)
107 : docUpdateRect(_docUpdateRect),
108 viewUpdateRect(_viewUpdateRect)
113 return shapes.isEmpty();
130 uncroppedViewUpdateRect = QRect();
134 return jobs.isEmpty();
145 void explicitlyIssueShapeChangedSignals();
160 void preparePaintJobs(PaintJobsOrder &jobsOrder,
KoShape *excludeRoot);
181 void paint(QPainter &painter);
199 QList<KoShape *> shapesAt(
const QRectF &
rect,
bool omitHiddenShapes =
true,
bool containedMode =
false);
213 void update(
const QRectF &
rect,
const KoShape *shape = 0,
bool selectionHandles =
false);
219 void setUpdatesBlocked(
bool value);
233 void notifyShapeChanged(
KoShape *shape);
239 static void renderSingleShape(
KoShape *shape, QPainter &painter);
253 void notifyShapeDestructed(
KoShape *shape);
278 Q_PRIVATE_SLOT(d,
void updateTree())
279 Q_PRIVATE_SLOT(d,
void forwardCompressedUpdate())
float value(const T *src, size_t ch)
@ PaintShapeOnAdd
Causes each shapes 'update()' to be called after being added to the shapeManager.
ShapeInterface * shapeInterface()
QList< KoShape * > shapes() const
returns the list of maintained shapes
bool updatesBlocked() const
KoSelection * selection() const
return the selection shapes for this shapeManager
void selectionContentChanged()
emitted when an object in the selection is changed (moved/rotated etc)
void selectionChanged()
emitted when the selection is changed
void forwardUpdate()
Emitted upon update and used to update the canvas.
void contentChanged()
emitted when any object changed (moved/rotated etc)
@ ShapeOnTop
return the shape highest z-ordering, regardless of selection.
std::vector< std::unique_ptr< KoShape > > ShapesStorage
SharedSafeStorage allClonedShapes
std::shared_ptr< ShapesStorage > SharedSafeStorage
PaintJob(QRectF _docUpdateRect, QRect _viewUpdateRect)
QList< KoShape * > shapes
QRect uncroppedViewUpdateRect