From 99cb586c13879434edb2e52a60821b7afeab47ba Mon Sep 17 00:00:00 2001 From: raster Date: Wed, 23 Mar 2011 13:29:26 +0000 Subject: [PATCH] listen to move events and track on override-redirect windows. git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/elementary@58032 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33 --- src/lib/elm_win.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/src/lib/elm_win.c b/src/lib/elm_win.c index bf23098..845f5bd 100644 --- a/src/lib/elm_win.c +++ b/src/lib/elm_win.c @@ -287,6 +287,22 @@ _elm_win_obj_intercept_show(void *data __UNUSED__, Evas_Object *obj) } static void +_elm_win_obj_callback_move(void *data, Evas *e __UNUSED__, Evas_Object *obj, void *event_info __UNUSED__) +{ + Elm_Win *win = data; + + if (ecore_evas_override_get(win->ee)) + { + Evas_Coord x, y; + + evas_object_geometry_get(obj, &x, &y, NULL, NULL); + win->screen.x = x; + win->screen.y = y; + evas_object_smart_callback_call(win->win_obj, "moved", NULL); + } +} + +static void _elm_win_delete_request(Ecore_Evas *ee) { Evas_Object *obj = ecore_evas_object_associate_get(ee); @@ -1078,6 +1094,8 @@ elm_win_add(Evas_Object *parent, const char *name, Elm_Win_Type type) _elm_win_obj_callback_show, win); evas_object_event_callback_add(win->win_obj, EVAS_CALLBACK_DEL, _elm_win_obj_callback_del, win); + evas_object_event_callback_add(win->win_obj, EVAS_CALLBACK_MOVE, + _elm_win_obj_callback_move, win); ecore_evas_name_class_set(win->ee, name, _elm_appname); ecore_evas_callback_delete_request_set(win->ee, _elm_win_delete_request); -- 2.7.4