mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2026-02-02 00:51:10 +00:00
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:
@@ -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();
|
||||
|
||||
|
||||
@@ -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());
|
||||
|
||||
Reference in New Issue
Block a user