|
Krita Source Code Documentation
|
#include <KisTimeBasedItemModel.h>
Inheritance diagram for KisTimeBasedItemModel:Classes | |
| struct | Private |
Public Types | |
| enum | ItemDataRole { ActiveFrameRole = Qt::UserRole + 101 , ScrubToRole , CloneOfActiveFrame , CloneCount , FrameExistsRole , SpecialKeyframeExists , FrameCachedRole , FrameEditableRole , FramesPerSecondRole , FrameHasContent , WithinClipRange , UserRole } |
Public Member Functions | |
| int | columnCount (const QModelIndex &parent=QModelIndex()) const override |
| int | currentTime () const |
| QVariant | data (const QModelIndex &index, int role) const override |
| KisDocument * | document () const |
| QVariant | headerData (int section, Qt::Orientation orientation, int role) const override |
| bool | isFrameCached (const int frame) |
| bool | isPlaybackActive () const |
| bool | isPlaybackPaused () const |
| bool | isScrubbing () |
| KisTimeBasedItemModel (QObject *parent) | |
| bool | mirrorFrames (QModelIndexList indexes) |
| bool | removeFrames (const QModelIndexList &indexes) |
| bool | removeFramesAndOffset (QModelIndexList indicesToRemove) |
| void | scrubHorizontalHeaderUpdate (int activeHeader) |
| void | setAnimationPlayer (KisCanvasAnimationState *player) |
| bool | setData (const QModelIndex &index, const QVariant &value, int role) override |
| void | setDocument (class KisDocument *document) |
| void | setFrameCache (KisAnimationFrameCacheSP cache) |
| bool | setHeaderData (int section, Qt::Orientation orientation, const QVariant &value, int role) override |
| void | setImage (KisImageWSP image) |
| void | setLastVisibleFrame (int time) |
| void | setPlaybackRange (const KisTimeSpan &range) |
| void | setScrubState (bool active) |
| void | stopPlayback () const |
| ~KisTimeBasedItemModel () override | |
Protected Slots | |
| void | slotCurrentTimeChanged (int time) |
Protected Member Functions | |
| virtual KisKeyframeChannel * | channelByID (QModelIndex index, const QString &id) const =0 |
| virtual QMap< QString, KisKeyframeChannel * > | channelsAt (QModelIndex index) const =0 |
| int | cloneCount (const QModelIndex &index) const |
| bool | cloneOfActiveFrame (const QModelIndex &index) const |
| KUndo2Command * | createOffsetFramesCommand (QModelIndexList srcIndexes, const QPoint &offset, bool copyFrames, bool moveEmptyFrames, KUndo2Command *parentCommand=0) |
| KisImageWSP | image () const |
| virtual KisNodeSP | nodeAt (QModelIndex index) const =0 |
Private Slots | |
| void | slotCacheChanged () |
| void | slotFramerateChanged () |
| void | slotPlaybackFrameChanged () |
| void | slotPlaybackRangeChanged () |
| void | slotPlaybackStateChanged (PlaybackState state) |
Private Attributes | |
| const QScopedPointer< Private > | m_d |
Definition at line 22 of file KisTimeBasedItemModel.h.
Definition at line 63 of file KisTimeBasedItemModel.h.
| KisTimeBasedItemModel::KisTimeBasedItemModel | ( | QObject * | parent | ) |
Definition at line 93 of file KisTimeBasedItemModel.cpp.
References KisSignalCompressor::FIRST_ACTIVE, m_d, scrubHorizontalHeaderUpdate(), and void().
|
override |
Definition at line 108 of file KisTimeBasedItemModel.cpp.
|
protectedpure virtual |
Implemented in KisAnimCurvesModel, and KisAnimTimelineFramesModel.
|
protectedpure virtual |
Implemented in KisAnimCurvesModel, and KisAnimTimelineFramesModel.
|
protected |
Definition at line 649 of file KisTimeBasedItemModel.cpp.
References channelByID(), KisRasterKeyframeChannel::clonesOf(), and KisKeyframeChannel::Raster.
|
protected |
Definition at line 641 of file KisTimeBasedItemModel.cpp.
References KisKeyframeChannel::activeKeyframeTime(), KisRasterKeyframeChannel::areClones(), channelByID(), m_d, and KisKeyframeChannel::Raster.
|
override |
Definition at line 213 of file KisTimeBasedItemModel.cpp.
References m_d.
|
protected |
Definition at line 372 of file KisTimeBasedItemModel.cpp.
References channelsAt(), KisAnimUtils::createMoveKeyframesCommand(), KisKeyframeChannel::id(), KisKeyframeChannel::keyframeAt(), KIS_SAFE_ASSERT_RECOVER_RETURN_VALUE, nodeAt(), and KisAnimUtils::sortPointsForSafeMove().
| int KisTimeBasedItemModel::currentTime | ( | ) | const |
Definition at line 636 of file KisTimeBasedItemModel.cpp.
References m_d.
|
override |
Definition at line 219 of file KisTimeBasedItemModel.cpp.
References ActiveFrameRole, CloneCount, cloneCount(), CloneOfActiveFrame, cloneOfActiveFrame(), m_d, and WithinClipRange.
| KisDocument * KisTimeBasedItemModel::document | ( | ) | const |
Definition at line 188 of file KisTimeBasedItemModel.cpp.
References m_d.
|
override |
Definition at line 254 of file KisTimeBasedItemModel.cpp.
References ActiveFrameRole, FrameCachedRole, FramesPerSecondRole, m_d, and WithinClipRange.
|
protected |
Definition at line 658 of file KisTimeBasedItemModel.cpp.
References m_d.
| bool KisTimeBasedItemModel::isFrameCached | ( | const int | frame | ) |
Definition at line 154 of file KisTimeBasedItemModel.cpp.
References KisAnimationFrameCache::Cached, and m_d.
| bool KisTimeBasedItemModel::isPlaybackActive | ( | ) | const |
Definition at line 622 of file KisTimeBasedItemModel.cpp.
| bool KisTimeBasedItemModel::isPlaybackPaused | ( | ) | const |
Definition at line 627 of file KisTimeBasedItemModel.cpp.
| bool KisTimeBasedItemModel::isScrubbing | ( | ) |
Definition at line 554 of file KisTimeBasedItemModel.cpp.
References m_d.
| bool KisTimeBasedItemModel::mirrorFrames | ( | QModelIndexList | indexes | ) |
Definition at line 453 of file KisTimeBasedItemModel.cpp.
References KisStrokeJobData::BARRIER, channelsAt(), KisStrokeJobData::EXCLUSIVE, KisKeyframeChannel::insertKeyframe(), KisKeyframeChannel::keyframeAt(), KIS_SAFE_ASSERT_RECOVER_RETURN_VALUE, kundo2_i18n(), m_d, KisKeyframeChannel::removeKeyframe(), KisProcessingApplicator::runSingleCommandStroke(), and KisKeyframeChannel::swapKeyframes().
|
protectedpure virtual |
Implemented in KisAnimCurvesModel, and KisAnimTimelineFramesModel.
| bool KisTimeBasedItemModel::removeFrames | ( | const QModelIndexList & | indexes | ) |
Definition at line 348 of file KisTimeBasedItemModel.cpp.
References channelsAt(), KisKeyframeChannel::id(), KisKeyframeChannel::keyframeAt(), m_d, KisKeyframeChannel::node(), and KisAnimUtils::removeKeyframes().
| bool KisTimeBasedItemModel::removeFramesAndOffset | ( | QModelIndexList | indicesToRemove | ) |
Definition at line 414 of file KisTimeBasedItemModel.cpp.
References KisStrokeJobData::BARRIER, columnCount(), createOffsetFramesCommand(), KisStrokeJobData::EXCLUSIVE, kundo2_i18np(), m_d, and KisProcessingApplicator::runSingleCommandStroke().
| void KisTimeBasedItemModel::scrubHorizontalHeaderUpdate | ( | int | activeHeader | ) |
| void KisTimeBasedItemModel::setAnimationPlayer | ( | KisCanvasAnimationState * | player | ) |
Definition at line 159 of file KisTimeBasedItemModel.cpp.
References KisFrameDisplayProxy::activeFrame(), ActiveFrameRole, connect(), KisCanvasAnimationState::displayProxy(), m_d, ScrubToRole, SEEK_NONE, setHeaderData(), slotPlaybackFrameChanged(), and slotPlaybackStateChanged().
|
override |
Definition at line 238 of file KisTimeBasedItemModel.cpp.
References ActiveFrameRole, ScrubToRole, setHeaderData(), and value().
| void KisTimeBasedItemModel::setDocument | ( | class KisDocument * | document | ) |
Definition at line 181 of file KisTimeBasedItemModel.cpp.
References document(), and m_d.
| void KisTimeBasedItemModel::setFrameCache | ( | KisAnimationFrameCacheSP | cache | ) |
Definition at line 139 of file KisTimeBasedItemModel.cpp.
References connect(), m_d, and slotCacheChanged().
|
override |
Optimization Hack Alert:
ideally, we should Q_EMIT all four signals, but... The point is this code is used in a tight loop during playback, so it should run as fast as possible. To tell the story short, commenting out these three lines makes playback run 15% faster ;)
Definition at line 272 of file KisTimeBasedItemModel.cpp.
References ActiveFrameRole, KisPart::instance(), isFrameCached(), m_d, KisPart::playbackEngine, KisPart::prioritizeFrameForCache(), ScrubToRole, and value().
| void KisTimeBasedItemModel::setImage | ( | KisImageWSP | image | ) |
Definition at line 111 of file KisTimeBasedItemModel.cpp.
References KisImage::animationInterface(), connect(), KisImageAnimationInterface::image(), m_d, slotCurrentTimeChanged(), slotFramerateChanged(), and slotPlaybackRangeChanged().
| void KisTimeBasedItemModel::setLastVisibleFrame | ( | int | time | ) |
Definition at line 193 of file KisTimeBasedItemModel.cpp.
References m_d.
| void KisTimeBasedItemModel::setPlaybackRange | ( | const KisTimeSpan & | range | ) |
Definition at line 614 of file KisTimeBasedItemModel.cpp.
References KisImage::animationInterface(), KisImageAnimationInterface::image(), m_d, and KisImageAnimationInterface::setActivePlaybackRange().
| void KisTimeBasedItemModel::setScrubState | ( | bool | active | ) |
Definition at line 526 of file KisTimeBasedItemModel.cpp.
|
privateslot |
Definition at line 587 of file KisTimeBasedItemModel.cpp.
References KisAnimationFrameCache::Cached, columnCount(), and m_d.
|
protectedslot |
Definition at line 560 of file KisTimeBasedItemModel.cpp.
References ActiveFrameRole, m_d, and setHeaderData().
|
privateslot |
Definition at line 567 of file KisTimeBasedItemModel.cpp.
References columnCount().
|
privateslot |
Definition at line 601 of file KisTimeBasedItemModel.cpp.
References ActiveFrameRole, m_d, PLAYING, and setHeaderData().
|
privateslot |
Definition at line 572 of file KisTimeBasedItemModel.cpp.
References columnCount(), image(), and m_d.
|
privateslot |
Definition at line 607 of file KisTimeBasedItemModel.cpp.
References ActiveFrameRole, m_d, setHeaderData(), and STOPPED.
| void KisTimeBasedItemModel::stopPlayback | ( | ) | const |
Definition at line 632 of file KisTimeBasedItemModel.cpp.
References KisPart::instance(), and KisPart::playbackEngine.
|
private |
Definition at line 104 of file KisTimeBasedItemModel.h.