18#ifndef TIMELINECELLS_H
19#define TIMELINECELLS_H
23#include "layercamera.h"
26enum class LayerVisibility;
37enum class TIMELINE_CELL_TYPE
51 static int getOffsetX() {
return mOffsetX; }
52 static int getOffsetY() {
return mOffsetY; }
53 int getLayerHeight()
const {
return mLayerHeight; }
55 int getFrameLength()
const {
return mFrameLength; }
56 int getFrameSize()
const {
return mFrameSize; }
58 void setFrameLength(
int n) { mFrameLength = n; }
59 void setFrameSize(
int size);
60 void clearCache() {
delete mCache; mCache =
nullptr; }
62 bool didDetachLayer()
const;
67 void mouseMovedY(
int);
68 void lengthChanged(
int);
69 void offsetChanged(
int);
70 void selectionChanged();
71 void insertNewKeyFrame();
75 void updateFrame(
int frameNumber);
76 void hScrollChange(
int);
77 void vScrollChange(
int);
78 void setMouseMoveY(
int x);
81 bool event(
QEvent *event)
override;
86 void mouseReleaseEvent(
QMouseEvent* event)
override;
87 void mouseDoubleClickEvent(
QMouseEvent* event)
override;
90 void loadSetting(SETTING setting);
93 int getLayerNumber(
int y)
const;
94 int getInbetweenLayerNumber(
int y)
const;
95 int getLayerY(
int layerNumber)
const;
96 int getFrameX(
int frameNumber)
const;
97 int getFrameNumber(
int x)
const;
99 void onDidLeaveWidget();
101 bool trackScrubber();
104 void paintOnionSkin(
QPainter& painter)
const;
105 void paintLayerGutter(
QPainter& painter)
const;
108 void paintCurrentFrameBorder(
QPainter& painter,
int recLeft,
int recTop,
int recWidth,
int recHeight)
const;
109 void paintFrameCursorOnCurrentLayer(
QPainter& painter,
int recTop,
int recWidth,
int recHeight)
const;
110 void paintSelectedFrames(
QPainter& painter,
const Layer* layer,
const int layerIndex)
const;
111 void paintLabel(
QPainter& painter,
const Layer* layer,
int x,
int y,
int height,
int width,
bool selected, LayerVisibility layerVisibility)
const;
113 void paintHighlightedFrame(
QPainter& painter,
int framePos,
int recTop,
int recWidth,
int recHeight)
const;
115 void editLayerProperties(
Layer* layer)
const;
116 void editLayerProperties(
LayerCamera *layer)
const;
117 void editLayerName(
Layer* layer)
const;
123 TIMELINE_CELL_TYPE mType;
126 bool mRedrawContent =
false;
127 bool mDrawFrameNumber =
true;
128 bool mbShortScrub =
false;
129 int mFrameLength = 1;
132 bool mScrubbing =
false;
133 bool mHighlightFrameEnabled =
false;
134 int mHighlightedFrame = -1;
135 int mLayerHeight = 20;
139 int mCurrentLayerNumber = 0;
140 int mLastScrubFrame = 0;
144 int mStartLayerNumber = -1;
145 int mStartFrameNumber = 0;
146 int mLastFrameNumber = -1;
151 int mFrameOffset = 0;
152 int mLayerOffset = 0;
155 bool mCanMoveFrame =
false;
156 bool mMovingFrames =
false;
158 bool mCanBoxSelect =
false;
159 bool mBoxSelecting =
false;
161 bool mClickSelecting =
false;
163 int mFramePosMoveX = 0;
164 int mLayerPosMoveY = 0;
167 int mMousePressX = 0;
169 const static int mOffsetX = 0;
170 const static int mOffsetY = 20;
171 const static int mLayerDetachThreshold = 5;
QObject * parent() const const