From 5d7eb4f9d9e3fda9cd5717fd2f29fb6bdccaf299 Mon Sep 17 00:00:00 2001 From: Sungtaek Hong Date: Fri, 24 Jun 2016 14:40:15 +0900 Subject: [PATCH] [Hoversel] rearrange hoversel when its parent is resized Summary: Hoversel will be rearranged when its parent is resized. This patch was written by @godlytalias on tizen side. Change-Id: Ie289cdfc879322b5ee1897250b011dfba855910d Signed-off-by: Sungtaek Hong origin: upstream --- src/lib/elc_hoversel.c | 27 +++++++++++++++++++++++---- 1 file changed, 23 insertions(+), 4 deletions(-) diff --git a/src/lib/elc_hoversel.c b/src/lib/elc_hoversel.c index 6e232ec..31e4830 100644 --- a/src/lib/elc_hoversel.c +++ b/src/lib/elc_hoversel.c @@ -536,6 +536,17 @@ _on_move_resize(void * data, _resizing_eval(obj, sd); } +static void +_on_parent_resize(void *data, + Evas *e EINA_UNUSED, + Evas_Object *parent_obj EINA_UNUSED, + void *event_info EINA_UNUSED) +{ + Evas_Object *obj = (Evas_Object *)data; + ELM_HOVERSEL_DATA_GET(obj, sd); + _on_move_resize(sd, NULL, obj, NULL); +} + EOLIAN static void _elm_hoversel_evas_object_smart_add(Eo *obj, Elm_Hoversel_Data *priv) { @@ -623,13 +634,21 @@ EOLIAN static void _elm_hoversel_hover_parent_set(Eo *obj, Elm_Hoversel_Data *sd, Evas_Object *parent) { if (sd->hover_parent) - evas_object_event_callback_del_full - (sd->hover_parent, EVAS_CALLBACK_DEL, _on_parent_del, obj); + { + evas_object_event_callback_del_full + (sd->hover_parent, EVAS_CALLBACK_DEL, _on_parent_del, obj); + evas_object_event_callback_del_full + (sd->hover_parent, EVAS_CALLBACK_RESIZE, _on_parent_resize, obj); + } sd->hover_parent = parent; if (sd->hover_parent) - evas_object_event_callback_add - (sd->hover_parent, EVAS_CALLBACK_DEL, _on_parent_del, obj); + { + evas_object_event_callback_add + (sd->hover_parent, EVAS_CALLBACK_DEL, _on_parent_del, obj); + evas_object_event_callback_add + (sd->hover_parent, EVAS_CALLBACK_RESIZE, _on_parent_resize, obj); + } } EOLIAN static Evas_Object* -- 2.7.4