7#ifndef __TIMELINE_FRAMES_MODEL_H
8#define __TIMELINE_FRAMES_MODEL_H
11#include <QScopedPointer>
14#include "kritaanimationdocker_export.h"
39 return reinterpret_cast<quint64
>(key.
channel) *
reinterpret_cast<quint64
>(key.
keyframe.data()) * key.
time;
61 bool hasConnectionToCanvas()
const;
67 bool canDropFrameData(
const QMimeData *data,
const QModelIndex &index);
68 bool insertOtherLayer(
int index,
int dstRow);
69 int activeLayerRow()
const;
72 bool copyFrame(
const QModelIndex &dstIndex);
75 bool insertFrames(
int dstColumn,
const QList<int> &dstRows,
int count,
int timing = 1);
76 bool insertHoldFrames(
const QModelIndexList &selectedIndexes,
int insertCount);
78 QString audioChannelFileName()
const;
79 void setAudioChannelFileName(
const QFileInfo &fileName);
81 bool isAudioMuted()
const;
82 void setAudioMuted(
bool value);
84 qreal audioVolume()
const;
85 void setAudioVolume(qreal
value);
87 void setDocumentClipRangeStart(
int column);
88 void setDocumentClipRangeEnd(
int column);
90 void clearEntireCache();
91 void setActiveLayerSelectedTimes(
const QSet<int>& times);
93 void setLastClickedIndex(
const QModelIndex &index);
95 int rowCount(
const QModelIndex &parent = QModelIndex())
const override;
96 QVariant
data(
const QModelIndex &index,
int role)
const override;
97 bool setData(
const QModelIndex &index,
const QVariant &
value,
int role)
override;
98 QVariant
headerData(
int section, Qt::Orientation orientation,
int role)
const override;
99 bool setHeaderData(
int section, Qt::Orientation orientation,
const QVariant &
value,
int role)
override;
101 Qt::DropActions supportedDragActions()
const override;
102 Qt::DropActions supportedDropActions()
const override;
105 QMimeData *mimeDataExtended(
const QModelIndexList &indexes,
const QModelIndex &baseIndex, MimeCopyPolicy copyPolicy)
const;
106 bool dropMimeData(
const QMimeData *data, Qt::DropAction action,
int row,
int column,
const QModelIndex &parent)
override;
107 bool dropMimeDataExtended(
const QMimeData *data, Qt::DropAction action,
const QModelIndex &parent,
bool *dataMoved = 0);
109 Qt::ItemFlags flags(
const QModelIndex &index)
const override;
111 bool insertRows(
int row,
int count,
const QModelIndex &parent)
override;
112 bool removeRows(
int row,
int count,
const QModelIndex &parent)
override;
120 FrameColorLabelIndexRole
145 QMap<QString, KisKeyframeChannel *>
channelsAt(QModelIndex index)
const override;
150 void slotImageContentChanged();
151 void processUpdateQueue();
154 void slotCurrentNodeChanged(
KisNodeSP node);
165 const QScopedPointer<Private>
m_d;
float value(const T *src, size_t ch)
uint qHash(const TimelineSelectionEntry &key)
bool operator==(const TimelineSelectionEntry &lhs, const TimelineSelectionEntry &rhs)
void requestCurrentNodeChanged(KisNodeSP node)
void sigInfiniteTimelineUpdateNeeded()
void requestTransferSelectionBetweenRows(int rowFrom, int rowTo)
TimelineNodeListKeeper::OtherLayer OtherLayer
const QScopedPointer< Private > m_d
void sigFullClipRangeChanged()
void sigEnsureRowVisible(int row)
TimelineNodeListKeeper::OtherLayersList OtherLayersList
KisBaseNode::PropertyList PropertyList
KisBaseNode::Property Property
The KisCanvasAnimationState class stores all of the canvas-specific animation state.
KisKeyframeChannel stores and manages KisKeyframes. Maps units of time to virtual keyframe values....
The KisRasterKeyframeChannel is a concrete KisKeyframeChannel subclass that stores and manages KisRas...
bool setData(const QModelIndex &index, const QVariant &value, int role) override
QVariant headerData(int section, Qt::Orientation orientation, int role) const override
virtual KisNodeSP nodeAt(QModelIndex index) const =0
virtual KisKeyframeChannel * channelByID(QModelIndex index, const QString &id) const =0
QVariant data(const QModelIndex &index, int role) const override
bool setHeaderData(int section, Qt::Orientation orientation, const QVariant &value, int role) override
virtual QMap< QString, KisKeyframeChannel * > channelsAt(QModelIndex index) const =0
void slotDummyChanged(KisNodeDummy *dummy)
virtual KisLayerSP addPaintLayer() const =0
virtual ~NodeManipulationInterface()
virtual void removeNode(KisNodeSP node) const =0
virtual bool setNodeProperties(KisNodeSP node, KisImageSP image, KisBaseNode::PropertyList properties) const =0
KisRasterKeyframeSP keyframe
KisRasterKeyframeChannel * channel