From: subhransu mohanty Date: Tue, 17 Jul 2018 04:58:17 +0000 (+0900) Subject: lottie/example: updated evasapp to handle keyevent propagation. X-Git-Tag: submit/tizen/20180917.042405~243 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=refs%2Fchanges%2F91%2F184291%2F1;p=platform%2Fcore%2Fuifw%2Flottie-player.git lottie/example: updated evasapp to handle keyevent propagation. Change-Id: Iecc3479ef011e64e113a50f3914676e0a6341f49 --- diff --git a/example/demo.cpp b/example/demo.cpp index fcf544b..e56e395 100644 --- a/example/demo.cpp +++ b/example/demo.cpp @@ -5,7 +5,7 @@ using namespace std; static void -onExitCb(void *data) +onExitCb(void *data, void *extra) { LottieView *view = (LottieView *)data; delete view; diff --git a/example/evasapp.cpp b/example/evasapp.cpp index 4f4762e..1463a61 100644 --- a/example/evasapp.cpp +++ b/example/evasapp.cpp @@ -8,7 +8,7 @@ _on_resize(Ecore_Evas *ee) ecore_evas_geometry_get(ee, NULL, NULL, &w, &h); app->resize(w, h); if (app->mResizeCb) - app->mResizeCb(app->mResizeData); + app->mResizeCb(app->mResizeData, nullptr); } static void @@ -16,12 +16,24 @@ _on_delete(Ecore_Evas *ee) { EvasApp *app = (EvasApp *)ecore_evas_data_get(ee, "app"); if (app->mExitCb) - app->mExitCb(app->mExitData); + app->mExitCb(app->mExitData, nullptr); ecore_main_loop_quit(); ecore_evas_free(ee); } +static Eina_Bool +on_key_down(void *data, int type, void *event) +{ + Ecore_Event_Key *keyData = (Ecore_Event_Key *)event; + + EvasApp *app = (EvasApp *) data; + if (app && app->mKeyCb) + app->mKeyCb(app->mKeyData, (void *)keyData->key); + + return false; +} + EvasApp::EvasApp(int w, int h) { if (!ecore_evas_init()) @@ -39,6 +51,7 @@ EvasApp::setup() ecore_evas_data_set(mEcoreEvas, "app", this); ecore_evas_callback_resize_set(mEcoreEvas, _on_resize); ecore_evas_callback_delete_request_set(mEcoreEvas, _on_delete); + ecore_event_handler_add(ECORE_EVENT_KEY_DOWN, on_key_down, this); ecore_evas_show(mEcoreEvas); mEvas = ecore_evas_get(mEcoreEvas); diff --git a/example/evasapp.h b/example/evasapp.h index c7d18cf..ddb9615 100644 --- a/example/evasapp.h +++ b/example/evasapp.h @@ -14,8 +14,9 @@ #include #include #include +#include -typedef void (*appCb)(void *userData); +typedef void (*appCb)(void *userData, void *extra); class EvasApp { public: @@ -30,6 +31,7 @@ public: Efl_VG * root() const {return mRoot;} void addExitCb(appCb exitcb, void *data) {mExitCb = exitcb; mExitData = data;} void addResizeCb(appCb resizecb, void *data) {mResizeCb = resizecb; mResizeData = data;} + void addKeyCb(appCb keycb, void *data) {mKeyCb = keycb; mKeyData = data;} public: int mw; int mh; @@ -42,5 +44,7 @@ public: void *mResizeData; appCb mExitCb; void *mExitData; + appCb mKeyCb; + void *mKeyData; }; #endif //EVASAPP_H diff --git a/example/lottieviewtest.cpp b/example/lottieviewtest.cpp index f11e280..6fc6e94 100644 --- a/example/lottieviewtest.cpp +++ b/example/lottieviewtest.cpp @@ -88,7 +88,7 @@ public: }; static void -onExitCb(void *data) +onExitCb(void *data, void *extra) { LottieViewTest *view = (LottieViewTest *)data; delete view;