From 7346cda225ece68bd53b2f9bea2b7e2d0b41e63a Mon Sep 17 00:00:00 2001 From: subhransu mohanty Date: Mon, 17 Dec 2018 12:03:14 +0900 Subject: [PATCH] lottie/example: add support for renderPost callback in evasapp class. Change-Id: I0632a881c7291ac0b87886bd713ff7216bac2ad5 --- example/evasapp.cpp | 9 +++++++++ example/evasapp.h | 3 +++ 2 files changed, 12 insertions(+) diff --git a/example/evasapp.cpp b/example/evasapp.cpp index 0c18666..caeed16 100644 --- a/example/evasapp.cpp +++ b/example/evasapp.cpp @@ -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); diff --git a/example/evasapp.h b/example/evasapp.h index 1c3e765..a21ae77 100644 --- a/example/evasapp.h +++ b/example/evasapp.h @@ -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 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 -- 2.7.4