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 Types | Signals | 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 Types

enum  ActionType {
  RESET_PATH , RESET_FIELD , RESET_ROTATION , RESET_TRANSLATION ,
  RESET_SCALING
}
 

Signals

void pathColorChanged (DotColorType colorType)
 
void cameraPathEnabledChanged (bool enabled)
 
- Signals inherited from BaseTool
bool isActiveChanged (ToolType, bool)
 

Public Member Functions

 CameraTool (QObject *object)
 
QCursor cursor () override
 
ToolType type () const override
 
bool isActive () const override
 Check if the tool is active.
 
void paint (QPainter &painter, const QRect &) override
 
ToolProperties & toolProperties () override
 
const CameraToolProperties & settings () const
 
void loadSettings () override
 
void pointerPressEvent (PointerEvent *event) override
 
void pointerReleaseEvent (PointerEvent *event) override
 
void pointerMoveEvent (PointerEvent *event) override
 
void setCameraPathEnabled (bool enabled)
 
void resetCameraPath ()
 
void setPathDotColorType (DotColorType pathDotColor)
 
void resetTransform (CameraFieldOption option)
 
void transformView (LayerCamera *layerCamera, CameraMoveType mode, const QPointF &point, const QPointF &offset, qreal angle, int frameNumber) const
 
void performAction (ActionType actionType)
 
- Public Member Functions inherited from BaseTool
QString typeName ()
 
void initialize (Editor *editor)
 
virtual ToolType type () const =0
 
virtual ToolProperties & toolProperties ()=0
 
virtual void loadSettings ()=0
 
void saveSettings ()
 
void resetSettings ()
 
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 bool isActive () const
 Check if the tool is active.
 
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 (int rawType)
 
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 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
 
CameraToolProperties mSettings
 

Additional Inherited Members

- 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 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< int, QSet< Layer::LAYER_TYPE > > mPropertyUsed
 
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.

Member Enumeration Documentation

◆ ActionType

enum CameraTool::ActionType

Definition at line 52 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 43 of file cameratool.cpp.

Member Function Documentation

◆ constrainedRotation()

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

Definition at line 321 of file cameratool.cpp.

◆ cursor()

QCursor CameraTool::cursor ( )
overridevirtual

Reimplemented from BaseTool.

Definition at line 126 of file cameratool.cpp.

◆ getAngleBetween()

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

Definition at line 373 of file cameratool.cpp.

◆ getCameraMoveMode()

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

Definition at line 378 of file cameratool.cpp.

◆ getPathMoveMode()

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

Definition at line 411 of file cameratool.cpp.

◆ isActive()

bool CameraTool::isActive ( ) const
inlineoverridevirtual

Check if the tool is active.

An active tool is definied as one which is actively modifying the buffer. This is used to check if an full frame cache can be used instead of redrawing with CanvasPainter.

Returns
Returns true if the tool is currently active, else returns false.

Reimplemented from BaseTool.

Definition at line 62 of file cameratool.h.

◆ loadSettings()

void CameraTool::loadSettings ( )
overridevirtual

Implements BaseTool.

Definition at line 48 of file cameratool.cpp.

◆ localRotationHandlePoint()

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

Definition at line 435 of file cameratool.cpp.

◆ paint()

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

Reimplemented from BaseTool.

Definition at line 488 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 640 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 517 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 586 of file cameratool.cpp.

◆ performAction()

void CameraTool::performAction ( ActionType  actionType)

Definition at line 218 of file cameratool.cpp.

◆ pointerMoveEvent()

void CameraTool::pointerMoveEvent ( PointerEvent *  event)
overridevirtual

Implements BaseTool.

Definition at line 335 of file cameratool.cpp.

◆ pointerPressEvent()

void CameraTool::pointerPressEvent ( PointerEvent *  event)
overridevirtual

Implements BaseTool.

Definition at line 326 of file cameratool.cpp.

◆ pointerReleaseEvent()

void CameraTool::pointerReleaseEvent ( PointerEvent *  event)
overridevirtual

Implements BaseTool.

Definition at line 356 of file cameratool.cpp.

◆ resetCameraPath()

void CameraTool::resetCameraPath ( )

Definition at line 269 of file cameratool.cpp.

◆ resetTransform()

void CameraTool::resetTransform ( CameraFieldOption  option)

Definition at line 279 of file cameratool.cpp.

◆ setCameraPathEnabled()

void CameraTool::setCameraPathEnabled ( bool  enabled)

Definition at line 245 of file cameratool.cpp.

◆ setPathDotColorType()

void CameraTool::setPathDotColorType ( DotColorType  pathDotColor)

Definition at line 257 of file cameratool.cpp.

◆ settings()

const CameraToolProperties & CameraTool::settings ( ) const
inline

Definition at line 67 of file cameratool.h.

◆ toolProperties()

ToolProperties & CameraTool::toolProperties ( )
inlineoverridevirtual

Implements BaseTool.

Definition at line 66 of file cameratool.h.

◆ transformCamera()

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

Definition at line 292 of file cameratool.cpp.

◆ transformCameraPath()

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

Definition at line 312 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 448 of file cameratool.cpp.

◆ type()

ToolType CameraTool::type ( ) const
inlineoverridevirtual

Implements BaseTool.

Definition at line 61 of file cameratool.h.

◆ updateMoveMode()

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

Definition at line 177 of file cameratool.cpp.

◆ updateProperties()

void CameraTool::updateProperties ( )
private

Definition at line 101 of file cameratool.cpp.

◆ updateSettings()

void CameraTool::updateSettings ( const SETTING  setting)
private

Definition at line 111 of file cameratool.cpp.

◆ updateUIAssists()

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

Definition at line 80 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 443 of file cameratool.cpp.

Member Data Documentation

◆ mCameraPolygon

QPolygonF CameraTool::mCameraPolygon
private

Definition at line 117 of file cameratool.h.

◆ mCameraRect

QRectF CameraTool::mCameraRect
private

Definition at line 116 of file cameratool.h.

◆ mCamMoveMode

CameraMoveType CameraTool::mCamMoveMode = CameraMoveType::NONE
private

Definition at line 112 of file cameratool.h.

◆ mCurrentAngle

qreal CameraTool::mCurrentAngle = 0
private

Definition at line 121 of file cameratool.h.

◆ mDotWidth

const int CameraTool::mDotWidth = 6
private

Definition at line 123 of file cameratool.h.

◆ mDragPathFrame

int CameraTool::mDragPathFrame = 1
private

Definition at line 113 of file cameratool.h.

◆ mHandleColor

QColor CameraTool::mHandleColor
private

Definition at line 128 of file cameratool.h.

◆ mHandleDisabledColor

QColor CameraTool::mHandleDisabledColor
private

Definition at line 129 of file cameratool.h.

◆ mHandlePen

QPen CameraTool::mHandlePen
private

Definition at line 127 of file cameratool.h.

◆ mHandleTextColor

QColor CameraTool::mHandleTextColor
private

Definition at line 130 of file cameratool.h.

◆ mHandleWidth

const int CameraTool::mHandleWidth = 12
private

Definition at line 124 of file cameratool.h.

◆ mRotationHandleOffsetPercentage

const qreal CameraTool::mRotationHandleOffsetPercentage = 0.05
private

Definition at line 125 of file cameratool.h.

◆ mRotationHandlePoint

QPointF CameraTool::mRotationHandlePoint
private

Definition at line 118 of file cameratool.h.

◆ mRotationIncrement

int CameraTool::mRotationIncrement = 0
private

Definition at line 114 of file cameratool.h.

◆ mSettings

CameraToolProperties CameraTool::mSettings
private

Definition at line 132 of file cameratool.h.

◆ mStartAngle

qreal CameraTool::mStartAngle = 0
private

Definition at line 120 of file cameratool.h.

◆ mTransformOffset

QPointF CameraTool::mTransformOffset
private

Definition at line 111 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 Wed Dec 24 2025 23:46:02 for Pencil2D by doxygen 1.9.6 based on revision 1be63043db1f7fc0545528fc3b6d5098a552755b