From: Jaeun Choi Date: Tue, 21 Aug 2018 12:43:22 +0000 (+0900) Subject: lottie: add APIs in lottieplayer to get frame rate and total frame number X-Git-Tag: submit/tizen/20180917.042405~77 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=25784d646ac8be4d1a6931a94d349e03b0c244d4;p=platform%2Fcore%2Fuifw%2Flottie-player.git lottie: add APIs in lottieplayer to get frame rate and total frame number Change-Id: Ib81eed03adf520927b3b434b67425168b07f13b1 --- 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);