From: Godly Date: Fri, 3 Apr 2020 16:22:01 +0000 (+0530) Subject: Eext_Popup: Handle object activation/deactivation on a private surface object X-Git-Tag: submit/tizen_5.5/20200412.215108~8^2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=f31400b3e793084fe511a0667b43f98ef02d17b9;p=platform%2Fcore%2Fuifw%2Fefl-ext.git Eext_Popup: Handle object activation/deactivation on a private surface object Change-Id: I029a16c862aa91b595ac44b932febe15f27136ae Signed-off-by: Godly --- diff --git a/src/wearable/efl_extension_popup.c b/src/wearable/efl_extension_popup.c index 3461ccf..37f28b1 100644 --- a/src/wearable/efl_extension_popup.c +++ b/src/wearable/efl_extension_popup.c @@ -18,17 +18,32 @@ #include "efl_extension_private.h" static const char SIGNAL_ACTIVATED[] = "rotary,activated"; +static const char SIGNAL_DEACTIVATED[] = "rotary,deactivated"; static void _rotary_activated_cb(void *data, Evas_Object *obj, void *event_info) { + EEXT_CIRCLE_OBJECT_GET(data, circle_obj) return; + eext_rotary_object_event_activated_set(data, EINA_TRUE); + //In private surfaces object activation will not be done in circle surface layer + circle_obj->is_active = EINA_TRUE; +} + +static void +_rotary_deactivated_cb(void *data, Evas_Object *obj, void *event_info) +{ + EEXT_CIRCLE_OBJECT_GET(data, circle_obj) return; + + //In private surfaces object deactivation will not be done in circle surface layer + circle_obj->is_active = EINA_FALSE; } static void _eext_popup_del_cb(void *data, Evas *e, Evas_Object *obj, void *event_info) { evas_object_smart_callback_del(obj, SIGNAL_ACTIVATED, _rotary_activated_cb); + evas_object_smart_callback_del(obj, SIGNAL_DEACTIVATED, _rotary_activated_cb); } EAPI Evas_Object * @@ -82,6 +97,7 @@ eext_popup_add(Evas_Object *parent) } evas_object_smart_callback_add(obj, SIGNAL_ACTIVATED, _rotary_activated_cb, circle_scr); + evas_object_smart_callback_add(obj, SIGNAL_DEACTIVATED, _rotary_deactivated_cb, circle_scr); evas_object_event_callback_add(obj, EVAS_CALLBACK_DEL, _eext_popup_del_cb, NULL); return obj;