lottianimation: fix incorrect animation in time stretch.

Instead of applying startFrame at frameAtPos() 
but applied it at update() in generic way.

This change could make apis useful at both raw frame control 
and normalized frame controls.

This fixes "cue" animation sample.

Change-Id: I0adfd73410291cdee95455b18ef8720482c81090
This commit is contained in:
Hermet Park
2018-11-05 17:04:07 +09:00
committed by Hermet Park
parent 5fedd3479d
commit 83b433d4e4
2 changed files with 3 additions and 2 deletions

View File

@@ -39,6 +39,8 @@ const std::vector<LOTNode *> &AnimationImpl::renderList(size_t frameNo, const VS
bool AnimationImpl::update(size_t frameNo, const VSize &size)
{
frameNo += mModel->startFrame();
if (frameNo > mModel->endFrame())
frameNo = mModel->endFrame();

View File

@@ -333,8 +333,7 @@ public:
size_t frameAtPos(double pos) const {
if (pos < 0) pos = 0;
if (pos > 1) pos = 1;
return isStatic() ? startFrame() :
startFrame() + pos * frameDuration();
return isStatic() ? 0 : pos * frameDuration();
}
long frameAtTime(double timeInSec) const {
return isStatic() ? startFrame() : frameAtPos(timeInSec / duration());