From 25784d646ac8be4d1a6931a94d349e03b0c244d4 Mon Sep 17 00:00:00 2001 From: Jaeun Choi Date: Tue, 21 Aug 2018 21:43:22 +0900 Subject: [PATCH] lottie: add APIs in lottieplayer to get frame rate and total frame number Change-Id: Ib81eed03adf520927b3b434b67425168b07f13b1 --- inc/lotplayer.h | 4 ++++ src/lottie/lottieplayer.cpp | 17 +++++++++++++++++ 2 files changed, 21 insertions(+) diff --git a/inc/lotplayer.h b/inc/lotplayer.h index 66fabf8..144d74c 100644 --- a/inc/lotplayer.h +++ b/inc/lotplayer.h @@ -24,6 +24,10 @@ public: float pos() const; + float getFrameRate() const; + + long getTotalFrame() const; + const std::vector &renderList(float pos) const; // TODO: Consider correct position... diff --git a/src/lottie/lottieplayer.cpp b/src/lottie/lottieplayer.cpp index da90742..c1215ab 100644 --- a/src/lottie/lottieplayer.cpp +++ b/src/lottie/lottieplayer.cpp @@ -19,6 +19,8 @@ public: VSize size() const; float playTime() const; float pos(); + float getFrameRate() const { return mFrameRate; } + long getTotalFrame() const { return mTotalFrame; } const std::vector &renderList(float pos); bool render(float pos, const LOTBuffer &buffer, bool forceRender); @@ -29,6 +31,8 @@ private: VSize mSize; std::atomic mRenderInProgress; float mPos = 0.0; + float mFrameRate; + long mTotalFrame; }; void LOTPlayerPrivate::setSize(const VSize &sz) @@ -124,6 +128,8 @@ bool LOTPlayerPrivate::setFilePath(std::string path) if (loader.load(path)) { mModel = loader.model(); mCompItem = std::make_unique(mModel.get()); + mTotalFrame = mModel->frameDuration(); + mFrameRate = mModel->frameRate(); return true; } return false; @@ -256,6 +262,17 @@ float LOTPlayer::pos() const return d->pos(); } +float LOTPlayer::getFrameRate() const +{ + return d->getFrameRate(); +} + +long LOTPlayer::getTotalFrame() const +{ + return d->getTotalFrame(); +} + + const std::vector &LOTPlayer::renderList(float pos) const { return d->renderList(pos); -- 2.7.4