From 1d9fef8da6fb4f679113d9dc4f57f1520fd31936 Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Mon, 11 Mar 2019 15:46:12 +0100 Subject: [PATCH] efl.ui.focus.object: add geometry to focus_geometry,changed event Summary: ref T7571 Reviewers: segfaultxavi Reviewed By: segfaultxavi Subscribers: cedric, #reviewers, #committers Tags: #efl_api Maniphest Tasks: T7571 Differential Revision: https://phab.enlightenment.org/D8287 --- src/lib/elementary/efl_ui_focus_composition.c | 5 +++-- src/lib/elementary/efl_ui_focus_object.eo | 2 +- src/lib/elementary/elm_main.c | 3 ++- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/lib/elementary/efl_ui_focus_composition.c b/src/lib/elementary/efl_ui_focus_composition.c index c4117f4b0d..62fd45c740 100644 --- a/src/lib/elementary/efl_ui_focus_composition.c +++ b/src/lib/elementary/efl_ui_focus_composition.c @@ -232,9 +232,10 @@ _canvas_object_deleted(void *data, const Efl_Event *ev EINA_UNUSED) } static void -_new_geom(void *data, const Efl_Event *event) +_new_geom(void *data, const Efl_Event *event EINA_UNUSED) { - efl_event_callback_call(data, EFL_UI_FOCUS_OBJECT_EVENT_FOCUS_GEOMETRY_CHANGED, event->info); + Eina_Rect rect = efl_gfx_entity_geometry_get(data); + efl_event_callback_call(data, EFL_UI_FOCUS_OBJECT_EVENT_FOCUS_GEOMETRY_CHANGED, &rect); } EFL_CALLBACKS_ARRAY_DEFINE(canvas_obj, diff --git a/src/lib/elementary/efl_ui_focus_object.eo b/src/lib/elementary/efl_ui_focus_object.eo index 5a5fc1e590..62c3f8b5ac 100644 --- a/src/lib/elementary/efl_ui_focus_object.eo +++ b/src/lib/elementary/efl_ui_focus_object.eo @@ -81,6 +81,6 @@ mixin Efl.Ui.Focus.Object focus_parent,changed: Efl.Ui.Focus.Object; [[Emitted when a new logical parent should be used.]] child_focus,changed: bool; [[Emitted if child_focus has changed.]] - focus_geometry,changed: void; [[Emitted if focus geometry of this object has changed.]] + focus_geometry,changed: Eina.Rect; [[Emitted if focus geometry of this object has changed.]] } } diff --git a/src/lib/elementary/elm_main.c b/src/lib/elementary/elm_main.c index 50aa58c3a8..1769634d21 100644 --- a/src/lib/elementary/elm_main.c +++ b/src/lib/elementary/elm_main.c @@ -46,7 +46,8 @@ EAPI Elm_Version *elm_version = &_version; static void _focus_ev_redirect_cb(void *data, const Efl_Event *ev EINA_UNUSED) { - efl_event_callback_call(data, EFL_UI_FOCUS_OBJECT_EVENT_FOCUS_GEOMETRY_CHANGED, NULL); + Eina_Rect rect = efl_gfx_entity_geometry_get(data); + efl_event_callback_call(data, EFL_UI_FOCUS_OBJECT_EVENT_FOCUS_GEOMETRY_CHANGED, &rect); } void