|
| | SelectionManager (Editor *editor) |
| |
| bool | init () override |
| |
| Status | load (Object *) override |
| |
| Status | save (Object *) override |
| |
| void | workingLayerChanged (Layer *) override |
| |
| void | flipSelection (bool flipVertical) |
| | ScribbleArea::flipSelection flip selection along the X or Y axis.
|
| |
| void | setSelection (QRectF rect, bool roundPixels=false) |
| | Defines the selection area.
|
| |
| void | translate (QPointF point) |
| |
| void | rotate (qreal angle, qreal lockedAngle) |
| |
| void | scale (qreal sX, qreal sY) |
| |
| void | maintainAspectRatio (bool state) |
| |
| void | alignPositionToAxis (bool state) |
| | Locks movement either horizontally or vertically depending on drag direction.
|
| |
| void | setMoveModeForAnchorInRange (const QPointF &point) |
| | Checks if the point is over a handle (corner) or body and sets the MoveMode accordingly.
|
| |
| MoveMode | getMoveMode () const |
| |
| void | setMoveMode (const MoveMode moveMode) |
| |
| bool | somethingSelected () const |
| |
| void | adjustSelection (const QPointF ¤tPoint, const QPointF &offset, qreal rotationOffset, int rotationIncrement=0) |
| | Updates the selection transform (move, scale, rotate) based on input delta.
|
| |
| QTransform | selectionTransform () const |
| |
| void | setSelectionTransform (const QTransform &transform) |
| |
| void | resetSelectionTransform () |
| |
| void | resetSelectionTransformProperties () |
| | SelectionManager::resetSelectionTransformProperties should be used whenever translate, rotate, transform, scale has been applied to a selection, but don't want to reset size nor position.
|
| |
| void | resetSelectionProperties () |
| |
| void | deleteSelection () |
| |
| bool | isOutsideSelectionArea (const QPointF &point) const |
| |
| qreal | selectionTolerance () const |
| |
| qreal | selectionWidth () const |
| |
| qreal | selectionHeight () const |
| |
| QPointF | currentTransformAnchor () const |
| |
| QPointF | getSelectionAnchorPoint () const |
| |
| void | setTransformAnchor (const QPointF &point) |
| |
| const QRectF & | mySelectionRect () const |
| |
| const qreal & | myRotation () const |
| |
| const qreal & | myScaleX () const |
| |
| const qreal & | myScaleY () const |
| |
| const QPointF & | myTranslation () const |
| |
| void | setRotation (const qreal &rotation) |
| |
| void | setScale (const qreal scaleX, const qreal scaleY) |
| |
| void | setTranslation (const QPointF &translation) |
| |
| qreal | angleFromPoint (const QPointF &point, const QPointF &anchorPoint) const |
| |
| QPointF | mapToSelection (const QPointF &point) const |
| | Maps a point from Canvas/Layer space INTO the Selection's transformed space.
|
| |
| QPointF | mapFromLocalSpace (const QPointF &point) const |
| | Maps a point FROM the Selection's transformed space BACK to Canvas/Layer space.
|
| |
| QPolygonF | mapToSelection (const QPolygonF &polygon) const |
| |
| QPolygonF | mapFromLocalSpace (const QPolygonF &polygon) const |
| |
| void | setCurves (const QList< int > &curves) |
| |
| void | setVertices (const QList< VertexRef > &vertices) |
| |
| void | clearCurves () |
| |
| void | clearVertices () |
| |
| void | setDragOrigin (const QPointF point) |
| | The point from where the dragging will be based of inside the selection area.
|
| |
| const QList< int > | closestCurves () const |
| |
| const QList< VertexRef > | closestVertices () const |
| |
| void | calculateSelectionTransformation () |
| | This should be called to update the selection transform.
|
| |
| Editor * | editor () const |
| |
| Object * | object () const |
| |
|
virtual bool | init ()=0 |
| |
|
virtual Status | load (Object *o)=0 |
| |
|
virtual Status | save (Object *o)=0 |
| |
| virtual void | workingLayerChanged (Layer *) |
| |
|
virtual const QMetaObject * | metaObject () const const |
| |
|
| QObject (QObject *parent) |
| |
| virtual bool | event (QEvent *e) |
| |
| virtual bool | eventFilter (QObject *watched, QEvent *event) |
| |
|
QString | objectName () const const |
| |
|
void | setObjectName (const QString &name) |
| |
|
bool | isWidgetType () const const |
| |
|
bool | isWindowType () const const |
| |
|
bool | signalsBlocked () const const |
| |
|
bool | blockSignals (bool block) |
| |
|
QThread * | thread () const const |
| |
|
void | moveToThread (QThread *targetThread) |
| |
|
int | startTimer (int time, Qt::TimerType timerType) |
| |
|
void | killTimer (int id) |
| |
|
T | findChild (const QString &name, Qt::FindChildOptions options) const const |
| |
|
QList< T > | findChildren (const QString &name, Qt::FindChildOptions options) const const |
| |
|
QList< T > | findChildren (const QRegExp ®Exp, Qt::FindChildOptions options) const const |
| |
|
QList< T > | findChildren (const QRegularExpression &re, Qt::FindChildOptions options) const const |
| |
|
const QObjectList & | children () const const |
| |
|
void | setParent (QObject *parent) |
| |
|
void | installEventFilter (QObject *filterObj) |
| |
|
void | removeEventFilter (QObject *obj) |
| |
|
QMetaObject::Connection | connect (const QObject *sender, const char *signal, const char *method, Qt::ConnectionType type) const const |
| |
|
bool | disconnect (const char *signal, const QObject *receiver, const char *method) const const |
| |
|
bool | disconnect (const QObject *receiver, const char *method) const const |
| |
|
void | dumpObjectTree () |
| |
|
void | dumpObjectInfo () |
| |
|
void | dumpObjectTree () const const |
| |
|
void | dumpObjectInfo () const const |
| |
|
bool | setProperty (const char *name, const QVariant &value) |
| |
|
QVariant | property (const char *name) const const |
| |
|
QList< QByteArray > | dynamicPropertyNames () const const |
| |
|
void | destroyed (QObject *obj) |
| |
|
void | objectNameChanged (const QString &objectName) |
| |
|
QObject * | parent () const const |
| |
|
bool | inherits (const char *className) const const |
| |
|
void | deleteLater () |
| |
|
| Q_DISABLE_COPY (Class) |
| |
|
| Q_DISABLE_MOVE (Class) |
| |
|
| Q_DISABLE_COPY_MOVE (Class) |
| |
|
T | qobject_cast (QObject *object) |
| |
|
T | qobject_cast (const QObject *object) |
| |
|
T | qFindChild (const QObject *obj, const QString &name) |
| |
|
QList< T > | qFindChildren (const QObject *obj, const QString &name) |
| |
|
QList< T > | qFindChildren (const QObject *obj, const QRegExp ®Exp) |
| |
|
| Q_CLASSINFO (Name, Value) |
| |
|
| Q_INTERFACES (...) |
| |
|
| Q_PROPERTY (...) |
| |
|
| Q_ENUMS (...) |
| |
|
| Q_FLAGS (...) |
| |
|
| Q_ENUM (...) |
| |
|
| Q_FLAG (...) |
| |
|
| Q_ENUM_NS (...) |
| |
|
| Q_FLAG_NS (...) |
| |
|
| Q_OBJECT Q_OBJECT |
| |
|
| Q_GADGET Q_GADGET |
| |
|
| Q_NAMESPACE Q_NAMESPACE |
| |
|
| Q_NAMESPACE_EXPORT (EXPORT_MACRO) |
| |
|
| Q_SIGNALS Q_SIGNALS |
| |
|
| Q_SIGNAL Q_SIGNAL |
| |
|
| Q_SLOTS Q_SLOTS |
| |
|
| Q_SLOT Q_SLOT |
| |
|
| Q_EMIT Q_EMIT |
| |
|
| Q_INVOKABLE Q_INVOKABLE |
| |
|
| Q_REVISION Q_REVISION |
| |
|
| Q_SET_OBJECT_NAME (Object) |
| |
|
| QT_NO_NARROWING_CONVERSIONS_IN_CONNECT QT_NO_NARROWING_CONVERSIONS_IN_CONNECT |
| |
|
|
QString | tr (const char *sourceText, const char *disambiguation, int n) |
| |
|
QString | trUtf8 (const char *sourceText, const char *disambiguation, int n) |
| |
|
QMetaObject::Connection | connect (const QObject *sender, const char *signal, const QObject *receiver, const char *method, Qt::ConnectionType type) |
| |
|
QMetaObject::Connection | connect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method, Qt::ConnectionType type) |
| |
|
QMetaObject::Connection | connect (const QObject *sender, PointerToMemberFunction signal, const QObject *receiver, PointerToMemberFunction method, Qt::ConnectionType type) |
| |
|
QMetaObject::Connection | connect (const QObject *sender, PointerToMemberFunction signal, Functor functor) |
| |
|
QMetaObject::Connection | connect (const QObject *sender, PointerToMemberFunction signal, const QObject *context, Functor functor, Qt::ConnectionType type) |
| |
|
bool | disconnect (const QObject *sender, const char *signal, const QObject *receiver, const char *method) |
| |
|
bool | disconnect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method) |
| |
|
bool | disconnect (const QMetaObject::Connection &connection) |
| |
|
bool | disconnect (const QObject *sender, PointerToMemberFunction signal, const QObject *receiver, PointerToMemberFunction method) |
| |
| | BaseManager (Editor *editor, const QString &name) |
| |
|
QObject * | sender () const const |
| |
|
int | senderSignalIndex () const const |
| |
|
int | receivers (const char *signal) const const |
| |
|
bool | isSignalConnected (const QMetaMethod &signal) const const |
| |
| virtual void | timerEvent (QTimerEvent *event) |
| |
| virtual void | childEvent (QChildEvent *event) |
| |
|
virtual void | customEvent (QEvent *event) |
| |
|
virtual void | connectNotify (const QMetaMethod &signal) |
| |
|
virtual void | disconnectNotify (const QMetaMethod &signal) |
| |
|
| objectName |
| |
The SelectionManager class acts as the "Brain" of the selection system.
It is responsible for:
- Storing the "Truth" of the selection:
- The original shape (mOriginalRect)
- The current transformation state (mSelectionTransform) including position, rotation, and scale.
- Performing the Math:
- Calculates new transformations based on user input from the SelectTool.
- Handles complex matrix operations for rotation and scaling.
- Coordinate Space Management:
- Converts points between "Screen Space" (mouse coordinates) and "Selection Space" (drawing coordinates).
- Maps operations from the UI (SelectTool) to the underlying data.
The SelectTool (the "Hand") delegates all state tracking and heavy calculation to this manager.
Definition at line 50 of file selectionmanager.h.