22#include <klocalizedstring.h>
30 , m_canvas(tool->canvas())
34 Q_FOREACH (
KoShape *shape, selectedShapes) {
57 if (modifiers & Qt::ShiftModifier) {
86 shape->
updateAbsolute(oldDirtyRect | oldDirtyRect.translated(delta));
virtual void clipToDocument(const KoShape *shape, QPointF &move) const
KoToolBase * tool() const
const QList< KoShape * > selectedEditableShapes() const
virtual void proposeMove(KoShape *shape, QPointF &move)
KoShapeContainerModel * model
The undo / redo command for shape moving.
QPointF absolutePosition(KoFlake::AnchorPosition anchor=KoFlake::Center) const
virtual QRectF boundingRect() const
Get the bounding box of the shape.
KoShapeContainer * parent() const
static QList< KoShape * > linearizeSubtree(const QList< KoShape * > &shapes)
virtual void updateAbsolute(const QRectF &rect) const
void setAbsolutePosition(const QPointF &newPosition, KoFlake::AnchorPosition anchor=KoFlake::Center)
void reset()
Resets the snap guide.
QPointF snap(const QPointF &mousePosition, Qt::KeyboardModifiers modifiers)
snaps the mouse position, returns if mouse was snapped
void paint(QPainter &painter, const KoViewConverter &converter) override
void moveSelection(const QPointF &diff)
QList< QPointF > m_newPositions
ShapeMoveStrategy(KoToolBase *tool, KoSelection *selection, const QPointF &clicked)
QList< QPointF > m_previousPositions
void finishInteraction(Qt::KeyboardModifiers modifiers) override
void handleMouseMove(const QPointF &mouseLocation, Qt::KeyboardModifiers modifiers) override
KUndo2Command * createCommand() override
QList< KoShape * > m_selectedShapes
QPointer< KoCanvasBase > m_canvas
PointType snapToClosestAxis(PointType P)