55 int id() {
return mId; }
57 LAYER_TYPE type() {
return meType; }
58 Object* object() {
return mObject; }
60 void setName( QString name ) { mName = name; }
61 QString name() {
return mName; }
63 void switchVisibility() { mVisible = !mVisible; }
65 bool visible() {
return mVisible; }
68 int getMaxKeyFramePosition();
69 int firstKeyFramePosition();
72 virtual void loadDomElement( QDomElement element, QString dataDirPath ) = 0;
73 virtual QDomElement createDomElement( QDomDocument& doc ) = 0;
75 bool keyExists(
int position );
76 int getPreviousKeyFramePosition(
int position );
77 int getNextKeyFramePosition(
int position );
78 int getPreviousFrameNumber(
int position,
bool isAbsolute );
79 int getNextFrameNumber(
int position,
bool isAbsolute );
81 int keyFrameCount() {
return static_cast< int >( mKeyFrames.size() ); }
83 bool addNewEmptyKeyAt(
int position );
84 bool addKeyFrame(
int position,
KeyFrame* );
85 bool removeKeyFrame(
int position);
86 bool swapKeyFrames(
int position1,
int position2 );
87 bool moveKeyFrameForward(
int position );
88 bool moveKeyFrameBackward(
int position );
90 KeyFrame* getKeyFrameAt(
int position );
91 KeyFrame* getLastKeyFrameAtPosition(
int position );
92 bool keyExistsWhichCovers(
int frameNumber);
93 KeyFrame *getKeyFrameWhichCovers(
int frameNumber);
95 void foreachKeyFrame( std::function<
void(
KeyFrame* )> );
97 void setModified(
int position,
bool isModified );
100 bool isFrameSelected(
int position );
101 void setFrameSelected(
int position,
bool isSelected);
102 void toggleFrameSelected(
int position,
bool allowMultiple =
false );
103 void extendSelectionTo(
int position );
104 void selectAllFramesAfter(
int position );
107 bool moveSelectedFrames(
int offset );
109 Status save( QString dataFolder );
112 void paintTrack(QPainter& painter,
TimeLineCells* cells,
int x,
int y,
int width,
int height,
bool selected,
int frameSize);
113 void paintFrames( QPainter& painter,
TimeLineCells* cells,
int y,
int height,
bool selected,
int frameSize );
114 void paintLabel(QPainter& painter,
TimeLineCells* cells,
int x,
int y,
int height,
int width,
bool selected,
int allLayers);
115 virtual void paintSelection(QPainter& painter,
int x,
int y,
int height,
int width);
117 void mousePress(QMouseEvent*,
int frameNumber);
118 void mouseMove(QMouseEvent*,
int frameNumber);
119 void mouseRelease(QMouseEvent*,
int frameNumber);
120 void mouseDoubleClick(QMouseEvent*,
int frameNumber);
122 virtual void editProperties();
127 void setId(
int LayerId ) { mId = LayerId; }
130 LAYER_TYPE meType = UNDEFINED;
131 Object* mObject =
nullptr;
134 std::map<int, KeyFrame*, std::greater<int>> mKeyFrames;
144 bool isLayerPaintable(
Layer* );