2 #include "lottieview.h"
9 * To check the frame rate with rendermode off run
10 * ECORE_EVAS_FPS_DEBUG=1 ./lottieviewTest --disable-render
12 * To check the frame rate with render backend
13 * ECORE_EVAS_FPS_DEBUG=1 ./lottieviewTest
20 LottieViewTest(EvasApp *app, bool renderMode) {
22 mRenderMode = renderMode;
23 ecore_animator_frametime_set(1.0/120.0);
26 void show(int numberOfImage) {
27 auto resource = EvasApp::jsonFiles(std::string(DEMO_DIR));
29 if (resource.empty()) return;
31 int count = numberOfImage;
32 int colums = (int) ceil(sqrt(count));
34 int vw = (mApp->width() - (2 * offset * colums))/colums;
38 int resourceSize = resource.size();
39 for (int i = 0 ; i < numberOfImage; i++) {
40 int index = i % resourceSize;
41 std::unique_ptr<LottieView> view(new LottieView(mApp->evas(), mRenderMode));
42 view->setFilePath(resource[index].c_str());
43 view->setPos(posx, posy);
44 view->setSize(vw, vh);
48 //view->setRepeatMode(LottieView::RepeatMode::Reverse);
51 if ((mApp->width() - posx) < vw) {
53 posy = posy + vh + offset;
55 mViews.push_back(std::move(view));
60 //auto clock = std::chrono::high_resolution_clock::now();
61 for (auto &i : mViews) {
64 //double d = std::chrono::duration<double, std::milli>(std::chrono::high_resolution_clock::now()-clock).count();
65 //printf("total time taken = %f\n", d);
70 bool mRenderMode = false;
71 std::vector<std::unique_ptr<LottieView>> mViews;
75 onExitCb(void *data, void *extra)
77 LottieViewTest *view = (LottieViewTest *)data;
82 onRenderPreCb(void *data, void *extra)
84 LottieViewTest *view = (LottieViewTest *)data;
89 main(int argc, char **argv)
91 EvasApp *app = new EvasApp(800, 800);
94 bool renderMode = true;
96 if (!strcmp(argv[1],"--disable-render"))
99 LottieViewTest *view = new LottieViewTest(app, renderMode);
102 app->addExitCb(onExitCb, view);
103 app->addRenderPreCb(onRenderPreCb, view);