summaryrefslogtreecommitdiffstats
path: root/src/animation/frontend/qclipanimator.cpp
diff options
context:
space:
mode:
authorSean Harmer <sean.harmer@kdab.com>2017-01-28 15:22:19 +0000
committerPaul Lemire <paul.lemire@kdab.com>2017-01-29 13:59:24 +0000
commit9efbf9abd5452dd2c05250449efe1abf5887f481 (patch)
tree8ee8731491f9de28e451935cbc00034e372bf94c /src/animation/frontend/qclipanimator.cpp
parentddc85a1244c49fbe1873fa2c83e74dfb485d3598 (diff)
Add loops property to ClipAnimator and implement logic for it
Change-Id: Ied67635f202e01c626177b4869b77db5bd3e80d4 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
Diffstat (limited to 'src/animation/frontend/qclipanimator.cpp')
-rw-r--r--src/animation/frontend/qclipanimator.cpp18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/animation/frontend/qclipanimator.cpp b/src/animation/frontend/qclipanimator.cpp
index 485f13091..e6c06c989 100644
--- a/src/animation/frontend/qclipanimator.cpp
+++ b/src/animation/frontend/qclipanimator.cpp
@@ -51,6 +51,7 @@ QClipAnimatorPrivate::QClipAnimatorPrivate()
, m_clip(nullptr)
, m_mapper(nullptr)
, m_running(false)
+ , m_loops(1)
{
}
@@ -86,6 +87,12 @@ QChannelMapper *QClipAnimator::channelMapper() const
return d->m_mapper;
}
+int QClipAnimator::loops() const
+{
+ Q_D(const QClipAnimator);
+ return d->m_loops;
+}
+
void QClipAnimator::setClip(QAnimationClip *clip)
{
Q_D(QClipAnimator);
@@ -134,6 +141,16 @@ void QClipAnimator::setChannelMapper(QChannelMapper *mapping)
emit channelMapperChanged(mapping);
}
+void QClipAnimator::setLoops(int loops)
+{
+ Q_D(QClipAnimator);
+ if (d->m_loops == loops)
+ return;
+
+ d->m_loops = loops;
+ emit loopsChanged(loops);
+}
+
Qt3DCore::QNodeCreatedChangeBasePtr QClipAnimator::createNodeCreationChange() const
{
auto creationChange = Qt3DCore::QNodeCreatedChangePtr<QClipAnimatorData>::create(this);
@@ -142,6 +159,7 @@ Qt3DCore::QNodeCreatedChangeBasePtr QClipAnimator::createNodeCreationChange() co
data.clipId = Qt3DCore::qIdForNode(d->m_clip);
data.mapperId = Qt3DCore::qIdForNode(d->m_mapper);
data.running = d->m_running;
+ data.loops = d->m_loops;
return creationChange;
}