24#include "camerafieldoption.h"
25#include "preferencemanager.h"
29enum class CameraMoveType {
61 ToolType type()
const override {
return ToolType::CAMERA; }
62 bool isActive()
const override {
return true; }
66 ToolProperties& toolProperties()
override {
return mSettings.toolProperties(); }
69 void loadSettings()
override;
75 void setCameraPathEnabled(
bool enabled);
76 void resetCameraPath();
77 void setPathDotColorType(DotColorType pathDotColor);
78 void resetTransform(CameraFieldOption option);
80 void transformView(
LayerCamera* layerCamera, CameraMoveType mode,
const QPointF& point,
const QPointF& offset, qreal angle,
int frameNumber)
const;
82 void performAction(ActionType actionType);
85 void pathColorChanged(DotColorType colorType);
86 void cameraPathEnabledChanged(
bool enabled);
90 QPointF localRotationHandlePoint(
const QPoint& origin,
const QTransform& localT,
const qreal objectScale,
float worldScale)
const;
93 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;
94 void paintInterpolations(
QPainter& painter,
const QTransform& worldTransform,
int currentFrame,
const LayerCamera* cameraLayer,
const Camera* keyframe,
bool isPlaying)
const;
95 void paintControlPoint(
QPainter& painter,
const QTransform& worldTransform,
const LayerCamera* cameraLayer,
const int frameIndex,
const QPointF& pathPoint,
bool hollowHandle)
const;
97 void updateMoveMode(
const QPointF& pos);
99 void transformCameraPath(
const QPointF& pos);
100 void updateSettings(
const SETTING setting);
101 int constrainedRotation(
const qreal rotatedAngle,
const int rotationIncrement)
const;
103 void updateProperties();
104 void updateUIAssists(
const Layer* layer);
106 qreal getAngleBetween(
const QPointF& pos1,
const QPointF& pos2)
const;
108 CameraMoveType getCameraMoveMode(
const QPointF& point, qreal tolerance)
const;
109 CameraMoveType getPathMoveMode(
const LayerCamera* layerCamera,
int frameNumber,
const QPointF& point, qreal tolerance)
const;
112 CameraMoveType mCamMoveMode = CameraMoveType::NONE;
113 int mDragPathFrame = 1;
114 int mRotationIncrement = 0;
120 qreal mStartAngle = 0;
121 qreal mCurrentAngle = 0;
123 const int mDotWidth = 6;
124 const int mHandleWidth = 12;
125 const qreal mRotationHandleOffsetPercentage = 0.05;
129 QColor mHandleDisabledColor;
virtual bool event(QEvent *e)
typedef KeyboardModifiers