Pencil2D Animation
Download Community News Docs Contribute
  • Overview
  • Articles
  • Code
  •  
  • Class List
  • Class Index
  • Class Hierarchy
  • Class Members
  • File List
Loading...
Searching...
No Matches
Signals | Public Member Functions | Public Attributes | Private Member Functions | Private Attributes | List of all members
SelectionManager Class Reference
+ Inheritance diagram for SelectionManager:
Inheritance graph
[legend]
+ Collaboration diagram for SelectionManager:
Collaboration graph
[legend]

Signals

void selectionChanged ()
 
void selectionReset ()
 
void needDeleteSelection ()
 

Public Member Functions

 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)
 
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)
 
MoveMode getMoveMode () const
 
void setMoveMode (const MoveMode moveMode)
 
bool somethingSelected () const
 
void adjustSelection (const QPointF &currentPoint, const QPointF &offset, qreal rotationOffset, int rotationIncrement=0)
 
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
 
QPointF mapFromLocalSpace (const QPointF &point) const
 
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.
 
- Public Member Functions inherited from BaseManager
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 *)
 
- Public Member Functions inherited from QObject
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 interval, Qt::TimerType timerType)
 
int startTimer (std::chrono::milliseconds 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 &regExp, 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 &regExp)
 
 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
 

Public Attributes

VectorSelection vectorSelection
 
- Public Attributes inherited from QObject
typedef QObjectList
 

Private Member Functions

QPointF alignPositionToAxis (QPointF currentPoint) const
 Aligns the input position to the nearest axis.
 
int constrainRotationToAngle (const qreal rotatedAngle, const int rotationIncrement) const
 

Private Attributes

bool mAspectRatioFixed = false
 
bool mLockAxis = false
 
QPolygonF mSelectionPolygon
 
QRectF mOriginalRect
 
qreal mScaleX
 
qreal mScaleY
 
QPointF mTranslation
 
qreal mRotatedAngle = 0.0
 
QList< int > mClosestCurves
 
QList< VertexRef > mClosestVertices
 
QPointF mDragOrigin
 
MoveMode mMoveMode = MoveMode::NONE
 
QTransform mSelectionTransform
 
const qreal mSelectionTolerance = 10.0
 
QPointF mAnchorPoint
 

Additional Inherited Members

- Static Public Member Functions inherited from QObject
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)
 
- Protected Member Functions inherited from BaseManager
 BaseManager (Editor *editor, const QString &name)
 
- Protected Member Functions inherited from QObject
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)
 
- Properties inherited from QObject
 objectName
 

Detailed Description

Definition at line 32 of file selectionmanager.h.

Constructor & Destructor Documentation

◆ SelectionManager()

SelectionManager::SelectionManager ( Editor *  editor)
explicit

Definition at line 27 of file selectionmanager.cpp.

◆ ~SelectionManager()

SelectionManager::~SelectionManager ( )
override

Definition at line 31 of file selectionmanager.cpp.

Member Function Documentation

◆ adjustSelection()

void SelectionManager::adjustSelection ( const QPointF &  currentPoint,
const QPointF &  offset,
qreal  rotationOffset,
int  rotationIncrement = 0 
)

Definition at line 150 of file selectionmanager.cpp.

◆ alignPositionToAxis() [1/2]

void SelectionManager::alignPositionToAxis ( bool  state)
inline

Locks movement either horizontally or vertically depending on drag direction.

Parameters
state

Definition at line 55 of file selectionmanager.h.

◆ alignPositionToAxis() [2/2]

QPointF SelectionManager::alignPositionToAxis ( QPointF  currentPoint) const
private

Aligns the input position to the nearest axis.

Eg. draggin along the x axis, will keep the selection to that axis.

Parameters
currentPositionthe position of the cursor
Returns
A point that is either horizontally or vertically aligned with the current position.

Definition at line 313 of file selectionmanager.cpp.

◆ angleFromPoint()

qreal SelectionManager::angleFromPoint ( const QPointF &  point,
const QPointF &  anchorPoint 
) const

Definition at line 268 of file selectionmanager.cpp.

◆ calculateSelectionTransformation()

void SelectionManager::calculateSelectionTransformation ( )

This should be called to update the selection transform.

Definition at line 299 of file selectionmanager.cpp.

◆ clearCurves()

void SelectionManager::clearCurves ( )
inline

Definition at line 113 of file selectionmanager.h.

◆ clearVertices()

void SelectionManager::clearVertices ( )
inline

Definition at line 114 of file selectionmanager.h.

◆ closestCurves()

const QList< int > SelectionManager::closestCurves ( ) const
inline

Definition at line 120 of file selectionmanager.h.

◆ closestVertices()

const QList< VertexRef > SelectionManager::closestVertices ( ) const
inline

Definition at line 121 of file selectionmanager.h.

◆ constrainRotationToAngle()

int SelectionManager::constrainRotationToAngle ( const qreal  rotatedAngle,
const int  rotationIncrement 
) const
private

Definition at line 263 of file selectionmanager.cpp.

◆ currentTransformAnchor()

QPointF SelectionManager::currentTransformAnchor ( ) const
inline

Definition at line 85 of file selectionmanager.h.

◆ deleteSelection()

void SelectionManager::deleteSelection ( )

Definition at line 75 of file selectionmanager.cpp.

◆ flipSelection()

void SelectionManager::flipSelection ( bool  flipVertical)

ScribbleArea::flipSelection flip selection along the X or Y axis.

Definition at line 328 of file selectionmanager.cpp.

◆ getMoveMode()

MoveMode SelectionManager::getMoveMode ( ) const
inline

Definition at line 58 of file selectionmanager.h.

◆ getSelectionAnchorPoint()

QPointF SelectionManager::getSelectionAnchorPoint ( ) const

Definition at line 85 of file selectionmanager.cpp.

◆ init()

bool SelectionManager::init ( )
overridevirtual

Implements BaseManager.

Definition at line 35 of file selectionmanager.cpp.

◆ isOutsideSelectionArea()

bool SelectionManager::isOutsideSelectionArea ( const QPointF &  point) const

Definition at line 70 of file selectionmanager.cpp.

◆ load()

Status SelectionManager::load ( Object *  )
overridevirtual

Implements BaseManager.

Definition at line 40 of file selectionmanager.cpp.

◆ maintainAspectRatio()

void SelectionManager::maintainAspectRatio ( bool  state)
inline

Definition at line 51 of file selectionmanager.h.

◆ mapFromLocalSpace() [1/2]

QPointF SelectionManager::mapFromLocalSpace ( const QPointF &  point) const
inline

Definition at line 103 of file selectionmanager.h.

◆ mapFromLocalSpace() [2/2]

QPolygonF SelectionManager::mapFromLocalSpace ( const QPolygonF &  polygon) const
inline

Definition at line 105 of file selectionmanager.h.

◆ mapToSelection() [1/2]

QPointF SelectionManager::mapToSelection ( const QPointF &  point) const
inline

Definition at line 102 of file selectionmanager.h.

◆ mapToSelection() [2/2]

QPolygonF SelectionManager::mapToSelection ( const QPolygonF &  polygon) const
inline

Definition at line 104 of file selectionmanager.h.

◆ myRotation()

const qreal & SelectionManager::myRotation ( ) const
inline

Definition at line 91 of file selectionmanager.h.

◆ myScaleX()

const qreal & SelectionManager::myScaleX ( ) const
inline

Definition at line 92 of file selectionmanager.h.

◆ myScaleY()

const qreal & SelectionManager::myScaleY ( ) const
inline

Definition at line 93 of file selectionmanager.h.

◆ mySelectionRect()

const QRectF & SelectionManager::mySelectionRect ( ) const
inline

Definition at line 90 of file selectionmanager.h.

◆ myTranslation()

const QPointF & SelectionManager::myTranslation ( ) const
inline

Definition at line 94 of file selectionmanager.h.

◆ resetSelectionProperties()

void SelectionManager::resetSelectionProperties ( )

Definition at line 343 of file selectionmanager.cpp.

◆ resetSelectionTransform()

void SelectionManager::resetSelectionTransform ( )

Definition at line 65 of file selectionmanager.cpp.

◆ resetSelectionTransformProperties()

void SelectionManager::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.

Definition at line 55 of file selectionmanager.cpp.

◆ rotate()

void SelectionManager::rotate ( qreal  angle,
qreal  lockedAngle 
)

Definition at line 228 of file selectionmanager.cpp.

◆ save()

Status SelectionManager::save ( Object *  )
overridevirtual

Implements BaseManager.

Definition at line 46 of file selectionmanager.cpp.

◆ scale()

void SelectionManager::scale ( qreal  sX,
qreal  sY 
)

Definition at line 237 of file selectionmanager.cpp.

◆ selectionHeight()

qreal SelectionManager::selectionHeight ( ) const
inline

Definition at line 83 of file selectionmanager.h.

◆ selectionTolerance()

qreal SelectionManager::selectionTolerance ( ) const

Definition at line 80 of file selectionmanager.cpp.

◆ selectionTransform()

QTransform SelectionManager::selectionTransform ( ) const
inline

Definition at line 65 of file selectionmanager.h.

◆ selectionWidth()

qreal SelectionManager::selectionWidth ( ) const
inline

Definition at line 82 of file selectionmanager.h.

◆ setCurves()

void SelectionManager::setCurves ( const QList< int > &  curves)
inline

Definition at line 110 of file selectionmanager.h.

◆ setDragOrigin()

void SelectionManager::setDragOrigin ( const QPointF  point)
inline

The point from where the dragging will be based of inside the selection area.

Not to be confused with the selection origin

Definition at line 118 of file selectionmanager.h.

◆ setMoveMode()

void SelectionManager::setMoveMode ( const MoveMode  moveMode)
inline

Definition at line 59 of file selectionmanager.h.

◆ setMoveModeForAnchorInRange()

void SelectionManager::setMoveModeForAnchorInRange ( const QPointF &  point)

Definition at line 112 of file selectionmanager.cpp.

◆ setRotation()

void SelectionManager::setRotation ( const qreal &  rotation)
inline

Definition at line 96 of file selectionmanager.h.

◆ setScale()

void SelectionManager::setScale ( const qreal  scaleX,
const qreal  scaleY 
)
inline

Definition at line 97 of file selectionmanager.h.

◆ setSelection()

void SelectionManager::setSelection ( QRectF  rect,
bool  roundPixels = false 
)

Definition at line 273 of file selectionmanager.cpp.

◆ setSelectionTransform()

void SelectionManager::setSelectionTransform ( const QTransform &  transform)
inline

Definition at line 66 of file selectionmanager.h.

◆ setTransformAnchor()

void SelectionManager::setTransformAnchor ( const QPointF &  point)

Definition at line 289 of file selectionmanager.cpp.

◆ setTranslation()

void SelectionManager::setTranslation ( const QPointF &  translation)
inline

Definition at line 98 of file selectionmanager.h.

◆ setVertices()

void SelectionManager::setVertices ( const QList< VertexRef > &  vertices)
inline

Definition at line 111 of file selectionmanager.h.

◆ somethingSelected()

bool SelectionManager::somethingSelected ( ) const
inline

Definition at line 61 of file selectionmanager.h.

◆ translate()

void SelectionManager::translate ( QPointF  point)

Definition at line 223 of file selectionmanager.cpp.

◆ workingLayerChanged()

void SelectionManager::workingLayerChanged ( Layer *  )
overridevirtual

Reimplemented from BaseManager.

Definition at line 51 of file selectionmanager.cpp.

Member Data Documentation

◆ mAnchorPoint

QPointF SelectionManager::mAnchorPoint
private

Definition at line 159 of file selectionmanager.h.

◆ mAspectRatioFixed

bool SelectionManager::mAspectRatioFixed = false
private

Definition at line 140 of file selectionmanager.h.

◆ mClosestCurves

QList<int> SelectionManager::mClosestCurves
private

Definition at line 150 of file selectionmanager.h.

◆ mClosestVertices

QList<VertexRef> SelectionManager::mClosestVertices
private

Definition at line 151 of file selectionmanager.h.

◆ mDragOrigin

QPointF SelectionManager::mDragOrigin
private

Definition at line 153 of file selectionmanager.h.

◆ mLockAxis

bool SelectionManager::mLockAxis = false
private

Definition at line 141 of file selectionmanager.h.

◆ mMoveMode

MoveMode SelectionManager::mMoveMode = MoveMode::NONE
private

Definition at line 155 of file selectionmanager.h.

◆ mOriginalRect

QRectF SelectionManager::mOriginalRect
private

Definition at line 143 of file selectionmanager.h.

◆ mRotatedAngle

qreal SelectionManager::mRotatedAngle = 0.0
private

Definition at line 148 of file selectionmanager.h.

◆ mScaleX

qreal SelectionManager::mScaleX
private

Definition at line 145 of file selectionmanager.h.

◆ mScaleY

qreal SelectionManager::mScaleY
private

Definition at line 146 of file selectionmanager.h.

◆ mSelectionPolygon

QPolygonF SelectionManager::mSelectionPolygon
private

Definition at line 142 of file selectionmanager.h.

◆ mSelectionTolerance

const qreal SelectionManager::mSelectionTolerance = 10.0
private

Definition at line 157 of file selectionmanager.h.

◆ mSelectionTransform

QTransform SelectionManager::mSelectionTransform
private

Definition at line 156 of file selectionmanager.h.

◆ mTranslation

QPointF SelectionManager::mTranslation
private

Definition at line 147 of file selectionmanager.h.

◆ vectorSelection

VectorSelection SelectionManager::vectorSelection

Definition at line 108 of file selectionmanager.h.


The documentation for this class was generated from the following files:
  • core_lib/src/managers/selectionmanager.h
  • core_lib/src/managers/selectionmanager.cpp
Generated on Thu May 8 2025 04:47:54 for Pencil2D by doxygen 1.9.6 based on revision 4513250b1d5b1a3676ec0e67b06b7a885ceaae39