lottie/example: add support for renderPost callback in evasapp class. 34/195634/1
authorsubhransu mohanty <sub.mohanty@samsung.com>
Mon, 17 Dec 2018 03:03:14 +0000 (12:03 +0900)
committersubhransu mohanty <sub.mohanty@samsung.com>
Mon, 17 Dec 2018 03:03:14 +0000 (12:03 +0900)
Change-Id: I0632a881c7291ac0b87886bd713ff7216bac2ad5

example/evasapp.cpp
example/evasapp.h

index 0c18666..caeed16 100644 (file)
@@ -43,6 +43,14 @@ on_pre_render(Ecore_Evas *ee)
         app->mRenderPreCb(app->mRenderPreData, nullptr);
 }
 
+static void
+on_post_render(Ecore_Evas *ee)
+{
+    EvasApp *app = (EvasApp *)ecore_evas_data_get(ee, "app");
+    if (app && app->mRenderPostCb)
+        app->mRenderPostCb(app->mRenderPostData, nullptr);
+}
+
 EvasApp::EvasApp(int w, int h)
 {
     if (!ecore_evas_init())
@@ -62,6 +70,7 @@ EvasApp::setup()
     ecore_evas_callback_delete_request_set(mEcoreEvas, _on_delete);
     ecore_event_handler_add(ECORE_EVENT_KEY_DOWN, on_key_down, this);
     ecore_evas_callback_pre_render_set(mEcoreEvas, on_pre_render);
+    ecore_evas_callback_post_render_set(mEcoreEvas, on_post_render);
 
     ecore_evas_show(mEcoreEvas);
     mEvas = ecore_evas_get(mEcoreEvas);
index 1c3e765..a21ae77 100644 (file)
@@ -35,6 +35,7 @@ public:
     void addResizeCb(appCb resizecb, void *data) {mResizeCb = resizecb; mResizeData = data;}
     void addKeyCb(appCb keycb, void *data) {mKeyCb = keycb; mKeyData = data;}
     void addRenderPreCb(appCb renderPrecb, void *data) {mRenderPreCb = renderPrecb; mRenderPreData = data;}
+    void addRenderPostCb(appCb renderPostcb, void *data) {mRenderPostCb = renderPostcb; mRenderPostData = data;}
     static std::vector<std::string> jsonFiles(const std::string &dir, bool recurse=false);
 public:
     int           mw;
@@ -50,5 +51,7 @@ public:
     void        *mKeyData;
     appCb        mRenderPreCb;
     void        *mRenderPreData;
+    appCb        mRenderPostCb;
+    void        *mRenderPostData;
 };
 #endif //EVASAPP_H