|
Krita Source Code Documentation
|
#include <SvgTextChangeTransformsOnRange.h>
Inheritance diagram for SvgTextChangeTransformsOnRange:Public Types | |
| enum | OffsetType { OffsetAll , ScaleAndRotate , ScaleOnly , RotateOnly } |
Public Member Functions | |
| int | id () const override |
| bool | mergeWith (const KUndo2Command *other) override |
| void | redo () override |
| SvgTextChangeTransformsOnRange (KoSvgTextShape *shape, int startPos, int endPos, QPointF delta, OffsetType type, bool calculateDeltaPositions, KUndo2Command *parentCommand=nullptr) | |
| SvgTextChangeTransformsOnRange (KoSvgTextShape *shape, int startPos, int endPos, QVector< QPointF > positions, QVector< qreal > rotations, bool calculateDeltaPositions, KUndo2Command *parentCommand=nullptr) | |
| void | undo () override |
| ~SvgTextChangeTransformsOnRange ()=default | |
Public Member Functions inherited from KUndo2Command | |
| QString | actionText () const |
| virtual bool | canAnnihilateWith (const KUndo2Command *other) const |
| const KUndo2Command * | child (int index) const |
| int | childCount () const |
| virtual QTime | endTime () const |
| KUndo2CommandExtraData * | extraData () const |
| bool | hasParent () const |
| virtual bool | isMerged () const |
| KUndo2Command (const KUndo2MagicString &text, KUndo2Command *parent=0) | |
| KUndo2Command (KUndo2Command *parent=0) | |
| virtual QVector< KUndo2Command * > | mergeCommandsVector () const |
| virtual void | redoMergedCommands () |
| void | setEndTime () |
| virtual void | setEndTime (const QTime &time) |
| void | setExtraData (KUndo2CommandExtraData *data) |
| void | setText (const KUndo2MagicString &text) |
| void | setTime () |
| virtual void | setTime (const QTime &time) |
| virtual void | setTimedID (int timedID) |
| KUndo2MagicString | text () const |
| virtual QTime | time () const |
| virtual int | timedId () const |
| virtual bool | timedMergeWith (KUndo2Command *other) |
| virtual void | undoMergedCommands () |
| virtual | ~KUndo2Command () |
Static Public Member Functions | |
| static QTransform | getTransformForOffset (KoSvgTextShape *shape, int startPos, int endPos, QPointF delta, OffsetType type) |
| getTransformForOffset Function to get the expected transform, so we can test this command better. | |
Private Attributes | |
| bool | m_calculateDeltaPositions = false |
| int | m_endPos = -1 |
| QVector< QPointF > | m_positions |
| QVector< qreal > | m_rotations |
| int | m_startPos = -1 |
| KoSvgTextShapeMementoSP | m_textData |
| KoSvgTextShape * | m_textShape = nullptr |
Definition at line 14 of file SvgTextChangeTransformsOnRange.h.
| Enumerator | |
|---|---|
| OffsetAll | |
| ScaleAndRotate | |
| ScaleOnly | |
| RotateOnly | |
Definition at line 19 of file SvgTextChangeTransformsOnRange.h.
| SvgTextChangeTransformsOnRange::SvgTextChangeTransformsOnRange | ( | KoSvgTextShape * | shape, |
| int | startPos, | ||
| int | endPos, | ||
| QVector< QPointF > | positions, | ||
| QVector< qreal > | rotations, | ||
| bool | calculateDeltaPositions, | ||
| KUndo2Command * | parentCommand = nullptr ) |
Definition at line 10 of file SvgTextChangeTransformsOnRange.cpp.
References kundo2_i18n(), and KUndo2Command::setText().
| SvgTextChangeTransformsOnRange::SvgTextChangeTransformsOnRange | ( | KoSvgTextShape * | shape, |
| int | startPos, | ||
| int | endPos, | ||
| QPointF | delta, | ||
| OffsetType | type, | ||
| bool | calculateDeltaPositions, | ||
| KUndo2Command * | parentCommand = nullptr ) |
Definition at line 23 of file SvgTextChangeTransformsOnRange.cpp.
References KoSvgTextCharacterInfo::finalPos, KoSvgTextShape::getPositionsAndRotationsForRange(), getTransformForOffset(), kundo2_i18n(), m_positions, m_rotations, OffsetAll, KoSvgTextCharacterInfo::rotateDeg, RotateOnly, ScaleOnly, and KUndo2Command::setText().
|
default |
|
static |
getTransformForOffset Function to get the expected transform, so we can test this command better.
Definition at line 115 of file SvgTextChangeTransformsOnRange.cpp.
References KoSvgTextCharacterInfo::advance, KoSvgTextCharacterInfo::finalPos, KoSvgTextShape::getPositionsAndRotationsForRange(), KoSvgTextShape::lineEnd(), OffsetAll, KoSvgTextCharacterInfo::rotateDeg, and KoSvgTextCharacterInfo::visualLessThan().
|
overridevirtual |
Returns the ID of this command.
A command ID is used in command compression. It must be an integer unique to this command's class, or -1 if the command doesn't support compression.
If the command supports compression this function must be overridden in the derived class to return the correct ID. The base implementation returns -1.
KUndo2QStack::push() will only try to merge two commands if they have the same ID, and the ID is not -1.
Reimplemented from KUndo2Command.
Definition at line 98 of file SvgTextChangeTransformsOnRange.cpp.
References KisCommandUtils::SvgTextChangeTransformsOnRangeCommandId.
|
overridevirtual |
Attempts to merge this command with command. Returns true on success; otherwise returns false.
If this function returns true, calling this command's redo() must have the same effect as redoing both this command and command. Similarly, calling this command's undo() must have the same effect as undoing command and this command.
KUndo2QStack will only try to merge two commands if they have the same id, and the id is not -1.
The default implementation returns false.
Reimplemented from KUndo2Command.
Definition at line 103 of file SvgTextChangeTransformsOnRange.cpp.
References m_calculateDeltaPositions, m_endPos, m_positions, m_rotations, m_startPos, and m_textShape.
|
overridevirtual |
Applies a change to the document. This function must be implemented in the derived class. Calling KUndo2QStack::push(), KUndo2QStack::undo() or KUndo2QStack::redo() from this function leads to undefined behavior.
The default implementation calls redo() on all child commands.
Reimplemented from KUndo2Command.
Definition at line 84 of file SvgTextChangeTransformsOnRange.cpp.
References KoShapeBulkActionLock::bulkShapesUpdate(), KoSvgTextShape::indexForPos(), m_calculateDeltaPositions, m_endPos, m_positions, m_rotations, m_startPos, m_textShape, KoSvgTextShape::notifyCursorPosChanged(), KoSvgTextShape::posForIndex(), KoSvgTextShape::setCharacterTransformsOnRange(), and KoShapeBulkActionLock::unlock().
|
overridevirtual |
Reverts a change to the document. After undo() is called, the state of the document should be the same as before redo() was called. This function must be implemented in the derived class. Calling KUndo2QStack::push(), KUndo2QStack::undo() or KUndo2QStack::redo() from this function leads to undefined behavior.
The default implementation calls undo() on all child commands in reverse order.
Reimplemented from KUndo2Command.
Definition at line 72 of file SvgTextChangeTransformsOnRange.cpp.
References KoShapeBulkActionLock::bulkShapesUpdate(), m_endPos, m_startPos, m_textData, m_textShape, KoSvgTextShape::notifyCursorPosChanged(), KoSvgTextShape::setMemento(), and KoShapeBulkActionLock::unlock().
|
private |
Definition at line 44 of file SvgTextChangeTransformsOnRange.h.
|
private |
Definition at line 41 of file SvgTextChangeTransformsOnRange.h.
|
private |
Definition at line 42 of file SvgTextChangeTransformsOnRange.h.
|
private |
Definition at line 43 of file SvgTextChangeTransformsOnRange.h.
|
private |
Definition at line 40 of file SvgTextChangeTransformsOnRange.h.
|
private |
Definition at line 45 of file SvgTextChangeTransformsOnRange.h.
|
private |
Definition at line 39 of file SvgTextChangeTransformsOnRange.h.