From: JunsuChoi Date: Fri, 18 Oct 2019 02:39:43 +0000 (+0900) Subject: Example: Change findFrameAtMarker return type. X-Git-Tag: submit/tizen/20191111.211104~16 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=20360fc0f2d03a5c3500007aca7ac1e3b7a9a81b;p=platform%2Fcore%2Fuifw%2Flottie-player.git Example: Change findFrameAtMarker return type. --- diff --git a/example/lottieview.cpp b/example/lottieview.cpp index 7519595..05d4bc7 100644 --- a/example/lottieview.cpp +++ b/example/lottieview.cpp @@ -172,12 +172,11 @@ void LottieView::play() void LottieView::play(const std::string &marker) { size_t totalframe = getTotalFrame(); - size_t stframe = mRenderDelegate->findFrameAtMarker(marker); - size_t drframe = mRenderDelegate->findDurationFrameAtMarker(marker); + auto frame = mRenderDelegate->findFrameAtMarker(marker); - setMinProgress((float)stframe / (float)totalframe); - if (drframe != 0) - setMaxProgress((float)drframe / (float)totalframe); + setMinProgress((float)std::get<0>(frame) / (float)totalframe); + if (std::get<1>(frame) != 0) + setMaxProgress((float)std::get<1>(frame) / (float)totalframe); this->play(); } @@ -185,12 +184,12 @@ void LottieView::play(const std::string &marker) void LottieView::play(const std::string &startmarker, const std::string endmarker) { size_t totalframe = getTotalFrame(); - size_t stframe = mRenderDelegate->findFrameAtMarker(startmarker); - size_t edframe = mRenderDelegate->findFrameAtMarker(endmarker); + auto stframe = mRenderDelegate->findFrameAtMarker(startmarker); + auto edframe = mRenderDelegate->findFrameAtMarker(endmarker); - setMinProgress((float)stframe / (float)totalframe); - if (edframe != 0) - setMaxProgress((float)edframe / (float)totalframe); + setMinProgress((float)std::get<0>(stframe) / (float)totalframe); + if (std::get<0>(edframe) != 0) + setMaxProgress((float)std::get<0>(edframe) / (float)totalframe); this->play(); } diff --git a/example/lottieview.h b/example/lottieview.h index f37faf7..5ad3a95 100644 --- a/example/lottieview.h +++ b/example/lottieview.h @@ -66,8 +66,8 @@ public: } virtual void resize(int width, int height) = 0; virtual void setPos(int x, int y) {evas_object_move(renderObject(), x, y);} - virtual size_t findFrameAtMarker(const std::string &markerName) = 0; - virtual size_t findDurationFrameAtMarker(const std::string &markerName) = 0; + typedef std::tuple MarkerFrame; + virtual MarkerFrame findFrameAtMarker(const std::string &markerName) = 0; void show() {evas_object_show(_renderObject);} void hide() {evas_object_hide(_renderObject);} void addCallback(); @@ -118,7 +118,7 @@ public: return mPlayer->frameAtPos(pos); } - size_t findFrameAtMarker(const std::string &markerName) + MarkerFrame findFrameAtMarker(const std::string &markerName) { auto markerList = mPlayer->markers(); auto marker = std::find_if(markerList.begin(), markerList.end() @@ -126,21 +126,10 @@ public: return std::get<0>(e) == markerName; }); if (marker == markerList.end()) - return 0; - return std::get<1>(*marker); + return std::make_tuple(0, 0); + return std::make_tuple(std::get<1>(*marker), std::get<2>(*marker)); } - size_t findDurationFrameAtMarker(const std::string &markerName) - { - auto markerList = mPlayer->markers(); - auto marker = std::find_if(markerList.begin(), markerList.end() - , [&markerName](const auto& e) { - return std::get<0>(e) == markerName; - }); - if (marker == markerList.end()) - return 0; - return std::get<2>(*marker); - } protected: std::unique_ptr mPlayer; }; @@ -259,16 +248,10 @@ public: double duration() { return lottie_animation_get_duration(mPlayer); } - size_t findFrameAtMarker(const std::string &markerName) - { - printf("Can't not [%s] marker, CAPI isn't implements yet\n", markerName.c_str()); - return 0; - } - - size_t findDurationFrameAtMarker(const std::string &markerName) + MarkerFrame findFrameAtMarker(const std::string &markerName) { printf("Can't not [%s] marker, CAPI isn't implements yet\n", markerName.c_str()); - return 0; + return std::make_tuple(0, 0); } bool renderRequest(int frame) {