4 #ifndef EFL_BETA_API_SUPPORT
5 #define EFL_BETA_API_SUPPORT
8 #ifndef EFL_EO_API_SUPPORT
9 #define EFL_EO_API_SUPPORT
16 #include <Ecore_Evas.h>
22 enum class RepeatMode {
26 LottieView(Evas *evas, bool renderMode = true, bool asyncRender = true);
28 Evas_Object *getImage();
29 void setSize(int w, int h);
30 void setPos(int x, int y);
31 void setFilePath(const char *filePath);
35 void setSpeed(float speed) { mSpeed = speed;}
36 void setRepeatCount(int count);
37 void setRepeatMode(LottieView::RepeatMode mode);
38 float getFrameRate() const { return mFrameRate; }
39 long getTotalFrame() const { return mTotalFrame; }
48 void initializeBufferObject(Evas *evas);
50 void createVgNode(LOTNode *node, Efl_VG *parent);
51 void update(const std::vector<LOTNode *> &);
60 LottieView::RepeatMode mRepeatMode;
61 lottieplayer::LOTPlayer *mPlayer;
62 Ecore_Animator *mAnimator{nullptr};
76 std::future<bool> mRenderTask;