23#include "camerafieldoption.h"
24#include "cameraeasingtype.h"
36 void loadImageAtFrame(
int frame, qreal dx, qreal dy, qreal rotate, qreal scale, CameraEasingType easing,
const QPointF& pathPoint,
bool pathMoved);
39 void loadDomElement(
const QDomElement& element,
QString dataDirPath, ProgressCallback progressStep)
override;
42 bool removeKeyFrame(
int position)
override;
44 Camera* getCameraAtFrame(
int frameNumber)
const;
45 Camera* getLastCameraAtFrame(
int frameNumber,
int increment)
const;
46 QTransform getViewAtFrame(
int frameNumber)
const;
48 QRect getViewRect()
const;
49 QSize getViewSize()
const;
50 void setViewRect(
QRect newViewRect);
53 void setShowCameraPath(
bool show) { mShowPath = show; }
54 bool getShowCameraPath()
const {
return mShowPath; }
55 void setCameraEasingAtFrame(CameraEasingType type,
int frame)
const;
56 void resetCameraAtFrame(CameraFieldOption type,
int frame)
const;
57 void updateDotColor(DotColorType color);
58 QColor getDotColor()
const {
return mDotColor; }
59 DotColorType getDotColorType()
const {
return mDotColorType; }
61 QString getInterpolationTextAtFrame(
int frame)
const;
62 QPointF getPathControlPointAtFrame(
int frame)
const;
63 bool hasSameTranslation(
int frame1,
int frame2)
const;
65 QPointF getCenteredPathPoint(
int frame)
const;
66 void updatePathControlPointAtFrame(
const QPointF& point,
int frame)
const;
67 void setPathMovedAtFrame(
int frame,
bool moved)
const;
69 void splitControlPointIfNeeded(
int frame)
const;
70 void mergeControlPointIfNeeded(
int frame)
const;
74 KeyFrame* createKeyFrame(
int position)
override;
77 void linearInterpolateTransform(
Camera*);
78 qreal getInterpolationPercent(CameraEasingType type, qreal percent)
const;
85 bool mShowPath =
false;
87 DotColorType mDotColorType = DotColorType::RED;
89 const int mControlPointMergeThreshold = 2000;
bool addKeyFrame(int position, KeyFrame *pKeyFrame) override
Adds a keyframe at the given position, unless one already exists.