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

Public Member Functions

 CameraTool (QObject *object)
 
QCursor cursor () override
 
ToolType type () override
 
void paint (QPainter &painter, const QRect &) override
 
void loadSettings () override
 
void saveSettings () override
 
void pointerPressEvent (PointerEvent *event) override
 
void pointerReleaseEvent (PointerEvent *event) override
 
void pointerMoveEvent (PointerEvent *event) override
 
void setShowCameraPath (const bool showCameraPath) override
 
void resetCameraPath () override
 
void setPathDotColorType (const DotColorType pathDotColor) override
 
void resetTransform (CameraFieldOption option)
 
void transformView (LayerCamera *layerCamera, CameraMoveType mode, const QPointF &point, const QPointF &offset, qreal angle, int frameNumber) const
 
- Public Member Functions inherited from BaseTool
QString typeName ()
 
void initialize (Editor *editor)
 
virtual ToolType type ()=0
 
virtual void loadSettings ()=0
 
virtual void saveSettings ()=0
 
virtual QCursor cursor ()
 
virtual void pointerPressEvent (PointerEvent *)=0
 
virtual void pointerMoveEvent (PointerEvent *)=0
 
virtual void pointerReleaseEvent (PointerEvent *)=0
 
virtual void pointerDoubleClickEvent (PointerEvent *)
 
virtual bool keyPressEvent (QKeyEvent *)
 
virtual bool keyReleaseEvent (QKeyEvent *)
 
virtual bool enterEvent (QEnterEvent *)
 
virtual bool leaveEvent (QEvent *)
 
virtual void clearToolData ()
 
virtual void resetToDefault ()
 
virtual bool isActive () const
 Check if the tool is active.
 
virtual void setWidth (const qreal width)
 
virtual void setFeather (const qreal feather)
 
virtual void setInvisibility (const bool invisibility)
 
virtual void setBezier (const bool bezier_state)
 
virtual void setClosedPath (const bool closed)
 
virtual void setPressure (const bool pressure)
 
virtual void setUseFeather (const bool usingFeather)
 
virtual void setPreserveAlpha (const bool preserveAlpha)
 
virtual void setVectorMergeEnabled (const bool vectorMergeEnabled)
 
virtual void setAA (const int useAA)
 
virtual void setFillMode (const int mode)
 
virtual void setStabilizerLevel (const int level)
 
virtual void setTolerance (const int tolerance)
 
virtual void setToleranceEnabled (const bool enabled)
 
virtual void setFillExpand (const int fillExpandValue)
 
virtual void setFillExpandEnabled (const bool enabled)
 
virtual void setFillReferenceMode (int referenceMode)
 
virtual void setUseFillContour (const bool useFillContour)
 
virtual void setShowSelectionInfo (const bool b)
 
virtual void setShowCameraPath (const bool showCameraPath)
 
virtual void setPathDotColorType (const DotColorType dotColorType)
 
virtual void resetCameraPath ()
 
virtual void paint (QPainter &painter, const QRect &blitRect)
 
virtual bool leavingThisTool ()
 Will clean up active connections.
 
virtual bool enteringThisTool ()
 Setup active connections here that should only emit while tool is active leavingThisTool will handle the cleanup of active connections.
 
bool isPropertyEnabled (ToolPropertyType t)
 
bool isDrawingTool ()
 BaseTool::isDrawingTool - A drawing tool is anything that applies something to the canvas.
 
- 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
 

Private Member Functions

QPointF localRotationHandlePoint (const QPoint &origin, const QTransform &localT, const qreal objectScale, float worldScale) const
 
QPointF worldRotationHandlePoint (const QPoint &origin, const QTransform &localT, const qreal objectScale, const QTransform &worldT, float worldScale) const
 
void paintHandles (QPainter &painter, const QTransform &worldTransform, const QTransform &camTransform, const QRect &cameraRect, const QPointF translation, const qreal scale, const qreal rotation, bool hollowHandles) const
 
void paintInterpolations (QPainter &painter, const QTransform &worldTransform, int currentFrame, const LayerCamera *cameraLayer, const Camera *keyframe, bool isPlaying) const
 
void paintControlPoint (QPainter &painter, const QTransform &worldTransform, const LayerCamera *cameraLayer, const int frameIndex, const QPointF &pathPoint, bool hollowHandle) const
 
void updateMoveMode (const QPointF &pos)
 
void transformCamera (const QPointF &pos, Qt::KeyboardModifiers keyMod)
 
void transformCameraPath (const QPointF &pos)
 
void updateSettings (const SETTING setting)
 
int constrainedRotation (const qreal rotatedAngle, const int rotationIncrement) const
 
void updateProperties ()
 
void updateUIAssists (const Layer *layer)
 
qreal getAngleBetween (const QPointF &pos1, const QPointF &pos2) const
 
CameraMoveType getCameraMoveMode (const QPointF &point, qreal tolerance) const
 
CameraMoveType getPathMoveMode (const LayerCamera *layerCamera, int frameNumber, const QPointF &point, qreal tolerance) const
 

Private Attributes

QPointF mTransformOffset
 
CameraMoveType mCamMoveMode = CameraMoveType::NONE
 
int mDragPathFrame = 1
 
int mRotationIncrement = 0
 
QRectF mCameraRect
 
QPolygonF mCameraPolygon
 
QPointF mRotationHandlePoint
 
qreal mStartAngle = 0
 
qreal mCurrentAngle = 0
 
const int mDotWidth = 6
 
const int mHandleWidth = 12
 
const qreal mRotationHandleOffsetPercentage = 0.05
 
QPen mHandlePen
 
QColor mHandleColor
 
QColor mHandleDisabledColor
 
QColor mHandleTextColor
 

Additional Inherited Members

- Signals inherited from BaseTool
bool isActiveChanged (ToolType, bool)
 
- Static Public Member Functions inherited from BaseTool
static QString TypeName (ToolType)
 
- 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)
 
- Public Attributes inherited from BaseTool
Properties properties
 
- Public Attributes inherited from QObject
typedef QObjectList
 
- Protected Member Functions inherited from BaseTool
 BaseTool (QObject *parent)
 
Editor * editor ()
 
- 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)
 
- Protected Attributes inherited from BaseTool
QHash< ToolPropertyType, bool > mPropertyEnabled
 
Editor * mEditor = nullptr
 
ScribbleArea * mScribbleArea = nullptr
 
QList< QMetaObject::Connection > mActiveConnections
 
- Properties inherited from QObject
 objectName
 

Detailed Description

Definition at line 44 of file cameratool.h.

Constructor & Destructor Documentation

◆ CameraTool()

CameraTool::CameraTool ( QObject *  object)
explicit

Definition at line 39 of file cameratool.cpp.

◆ ~CameraTool()

CameraTool::~CameraTool ( )
override

Definition at line 44 of file cameratool.cpp.

Member Function Documentation

◆ constrainedRotation()

int CameraTool::constrainedRotation ( const qreal  rotatedAngle,
const int  rotationIncrement 
) const
private

Definition at line 279 of file cameratool.cpp.

◆ cursor()

QCursor CameraTool::cursor ( )
overridevirtual

Reimplemented from BaseTool.

Definition at line 118 of file cameratool.cpp.

◆ getAngleBetween()

qreal CameraTool::getAngleBetween ( const QPointF &  pos1,
const QPointF &  pos2 
) const
private

Definition at line 331 of file cameratool.cpp.

◆ getCameraMoveMode()

CameraMoveType CameraTool::getCameraMoveMode ( const QPointF &  point,
qreal  tolerance 
) const
private

Definition at line 336 of file cameratool.cpp.

◆ getPathMoveMode()

CameraMoveType CameraTool::getPathMoveMode ( const LayerCamera *  layerCamera,
int  frameNumber,
const QPointF &  point,
qreal  tolerance 
) const
private

Definition at line 369 of file cameratool.cpp.

◆ loadSettings()

void CameraTool::loadSettings ( )
overridevirtual

Implements BaseTool.

Definition at line 49 of file cameratool.cpp.

◆ localRotationHandlePoint()

QPointF CameraTool::localRotationHandlePoint ( const QPoint &  origin,
const QTransform &  localT,
const qreal  objectScale,
float  worldScale 
) const
private

Definition at line 393 of file cameratool.cpp.

◆ paint()

void CameraTool::paint ( QPainter &  painter,
const QRect &   
)
overridevirtual

Reimplemented from BaseTool.

Definition at line 446 of file cameratool.cpp.

◆ paintControlPoint()

void CameraTool::paintControlPoint ( QPainter &  painter,
const QTransform &  worldTransform,
const LayerCamera *  cameraLayer,
const int  frameIndex,
const QPointF &  pathPoint,
bool  hollowHandle 
) const
private

Definition at line 598 of file cameratool.cpp.

◆ paintHandles()

void CameraTool::paintHandles ( QPainter &  painter,
const QTransform &  worldTransform,
const QTransform &  camTransform,
const QRect &  cameraRect,
const QPointF  translation,
const qreal  scale,
const qreal  rotation,
bool  hollowHandles 
) const
private

Definition at line 475 of file cameratool.cpp.

◆ paintInterpolations()

void CameraTool::paintInterpolations ( QPainter &  painter,
const QTransform &  worldTransform,
int  currentFrame,
const LayerCamera *  cameraLayer,
const Camera *  keyframe,
bool  isPlaying 
) const
private

Definition at line 544 of file cameratool.cpp.

◆ pointerMoveEvent()

void CameraTool::pointerMoveEvent ( PointerEvent *  event)
overridevirtual

Implements BaseTool.

Definition at line 293 of file cameratool.cpp.

◆ pointerPressEvent()

void CameraTool::pointerPressEvent ( PointerEvent *  event)
overridevirtual

Implements BaseTool.

Definition at line 284 of file cameratool.cpp.

◆ pointerReleaseEvent()

void CameraTool::pointerReleaseEvent ( PointerEvent *  event)
overridevirtual

Implements BaseTool.

Definition at line 314 of file cameratool.cpp.

◆ resetCameraPath()

void CameraTool::resetCameraPath ( )
overridevirtual

Reimplemented from BaseTool.

Definition at line 228 of file cameratool.cpp.

◆ resetTransform()

void CameraTool::resetTransform ( CameraFieldOption  option)

Definition at line 237 of file cameratool.cpp.

◆ saveSettings()

void CameraTool::saveSettings ( )
overridevirtual

Implements BaseTool.

Definition at line 68 of file cameratool.cpp.

◆ setPathDotColorType()

void CameraTool::setPathDotColorType ( const DotColorType  pathDotColor)
overridevirtual

Reimplemented from BaseTool.

Definition at line 220 of file cameratool.cpp.

◆ setShowCameraPath()

void CameraTool::setShowCameraPath ( const bool  showCameraPath)
overridevirtual

Reimplemented from BaseTool.

Definition at line 210 of file cameratool.cpp.

◆ transformCamera()

void CameraTool::transformCamera ( const QPointF &  pos,
Qt::KeyboardModifiers  keyMod 
)
private

Definition at line 250 of file cameratool.cpp.

◆ transformCameraPath()

void CameraTool::transformCameraPath ( const QPointF &  pos)
private

Definition at line 270 of file cameratool.cpp.

◆ transformView()

void CameraTool::transformView ( LayerCamera *  layerCamera,
CameraMoveType  mode,
const QPointF &  point,
const QPointF &  offset,
qreal  angle,
int  frameNumber 
) const

Definition at line 406 of file cameratool.cpp.

◆ type()

ToolType CameraTool::type ( )
inlineoverridevirtual

Implements BaseTool.

Definition at line 52 of file cameratool.h.

◆ updateMoveMode()

void CameraTool::updateMoveMode ( const QPointF &  pos)
private

Definition at line 169 of file cameratool.cpp.

◆ updateProperties()

void CameraTool::updateProperties ( )
private

Definition at line 93 of file cameratool.cpp.

◆ updateSettings()

void CameraTool::updateSettings ( const SETTING  setting)
private

Definition at line 103 of file cameratool.cpp.

◆ updateUIAssists()

void CameraTool::updateUIAssists ( const Layer *  layer)
private

Definition at line 72 of file cameratool.cpp.

◆ worldRotationHandlePoint()

QPointF CameraTool::worldRotationHandlePoint ( const QPoint &  origin,
const QTransform &  localT,
const qreal  objectScale,
const QTransform &  worldT,
float  worldScale 
) const
private

Definition at line 401 of file cameratool.cpp.

Member Data Documentation

◆ mCameraPolygon

QPolygonF CameraTool::mCameraPolygon
private

Definition at line 99 of file cameratool.h.

◆ mCameraRect

QRectF CameraTool::mCameraRect
private

Definition at line 98 of file cameratool.h.

◆ mCamMoveMode

CameraMoveType CameraTool::mCamMoveMode = CameraMoveType::NONE
private

Definition at line 94 of file cameratool.h.

◆ mCurrentAngle

qreal CameraTool::mCurrentAngle = 0
private

Definition at line 103 of file cameratool.h.

◆ mDotWidth

const int CameraTool::mDotWidth = 6
private

Definition at line 105 of file cameratool.h.

◆ mDragPathFrame

int CameraTool::mDragPathFrame = 1
private

Definition at line 95 of file cameratool.h.

◆ mHandleColor

QColor CameraTool::mHandleColor
private

Definition at line 110 of file cameratool.h.

◆ mHandleDisabledColor

QColor CameraTool::mHandleDisabledColor
private

Definition at line 111 of file cameratool.h.

◆ mHandlePen

QPen CameraTool::mHandlePen
private

Definition at line 109 of file cameratool.h.

◆ mHandleTextColor

QColor CameraTool::mHandleTextColor
private

Definition at line 112 of file cameratool.h.

◆ mHandleWidth

const int CameraTool::mHandleWidth = 12
private

Definition at line 106 of file cameratool.h.

◆ mRotationHandleOffsetPercentage

const qreal CameraTool::mRotationHandleOffsetPercentage = 0.05
private

Definition at line 107 of file cameratool.h.

◆ mRotationHandlePoint

QPointF CameraTool::mRotationHandlePoint
private

Definition at line 100 of file cameratool.h.

◆ mRotationIncrement

int CameraTool::mRotationIncrement = 0
private

Definition at line 96 of file cameratool.h.

◆ mStartAngle

qreal CameraTool::mStartAngle = 0
private

Definition at line 102 of file cameratool.h.

◆ mTransformOffset

QPointF CameraTool::mTransformOffset
private

Definition at line 93 of file cameratool.h.


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