30 qreal scaleX, qreal scaleY,
31 const QPointF &absoluteStillPoint,
34 const QTransform &postScalingCoveringTransform,
36 : SkipFirstRedoBase(false,
kundo2_i18n(
"Resize"), parent),
43 m_d->useGlobalMode = useGLobalMode;
80 m_d->absoluteStillPoint,
83 m_d->postScalingCoveringTransform);
89 for (
int i = 0; i <
m_d->shapes.size(); i++) {
107 other->
m_d->absoluteStillPoint !=
m_d->absoluteStillPoint ||
108 other->
m_d->shapes !=
m_d->shapes ||
109 other->
m_d->useGlobalMode !=
m_d->useGlobalMode ||
110 other->
m_d->usePostScaling !=
m_d->usePostScaling) {
116 if (
m_d->useGlobalMode && !
m_d->usePostScaling) {
125 m_d->scaleX *= other->
m_d->scaleX;
126 m_d->scaleY *= other->
m_d->scaleY;
static void bulkShapesUpdate(const UpdatesList &updates)
virtual QSizeF size() const
Get the size of the shape in pt.
void setTransformation(const QTransform &matrix)
QTransform transformation() const
Returns the shapes local transformation matrix.
virtual void setSize(const QSizeF &size)
Resize the shape.
KUndo2MagicString kundo2_i18n(const char *text)
KRITAFLAKE_EXPORT Qt::Orientation significantScaleOrientation(qreal scaleX, qreal scaleY)
KRITAFLAKE_EXPORT void resizeShapeCommon(KoShape *shape, qreal scaleX, qreal scaleY, const QPointF &absoluteStillPoint, bool useGlobalMode, bool usePostScaling, const QTransform &postScalingCoveringTransform)
bool mergeWith(const KUndo2Command *command) override
QList< KoShape * > shapes
QTransform postScalingCoveringTransform
QList< QTransform > oldTransforms
KoShapeResizeCommand(const QList< KoShape * > &shapes, qreal scaleX, qreal scaleY, const QPointF &absoluteStillPoint, bool useGLobalMode, bool usePostScaling, const QTransform &postScalingCoveringTransform, KUndo2Command *parent=0)
~KoShapeResizeCommand() override
void replaceResizeAction(qreal scaleX, qreal scaleY, const QPointF &absoluteStillPoint)
QScopedPointer< Private > const m_d
QPointF absoluteStillPoint