From f305448d2b06813b28fe8d00b59189bce074023a Mon Sep 17 00:00:00 2001 From: devilhorns Date: Mon, 28 May 2012 12:19:17 +0000 Subject: [PATCH] Ecore_Evas (wayland_shm): Add support for ecore_evas_move_resize engine function. git-svn-id: http://svn.enlightenment.org/svn/e/trunk/ecore@71452 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33 --- src/lib/ecore_evas/ecore_evas_wayland_shm.c | 27 ++++++++++++++++++++------- 1 file changed, 20 insertions(+), 7 deletions(-) diff --git a/src/lib/ecore_evas/ecore_evas_wayland_shm.c b/src/lib/ecore_evas/ecore_evas_wayland_shm.c index f43b708..4d2f313 100644 --- a/src/lib/ecore_evas/ecore_evas_wayland_shm.c +++ b/src/lib/ecore_evas/ecore_evas_wayland_shm.c @@ -54,6 +54,7 @@ static void _ecore_evas_wl_callback_mouse_in_set(Ecore_Evas *ee, void (*func)(Ec static void _ecore_evas_wl_callback_mouse_out_set(Ecore_Evas *ee, void (*func)(Ecore_Evas *ee)); static void _ecore_evas_wl_move(Ecore_Evas *ee, int x, int y); static void _ecore_evas_wl_resize(Ecore_Evas *ee, int w, int h); +static void _ecore_evas_wl_move_resize(Ecore_Evas *ee, int x, int y, int w, int h); static void _ecore_evas_wl_show(Ecore_Evas *ee); static void _ecore_evas_wl_hide(Ecore_Evas *ee); static void _ecore_evas_wl_raise(Ecore_Evas *ee); @@ -119,7 +120,7 @@ static Ecore_Evas_Engine_Func _ecore_wl_engine_func = _ecore_evas_wl_move, NULL, // managed_move _ecore_evas_wl_resize, - NULL, // move_resize + _ecore_evas_wl_move_resize, NULL, // rotation_set NULL, // shaped_set _ecore_evas_wl_show, @@ -147,12 +148,12 @@ static Ecore_Evas_Engine_Func _ecore_wl_engine_func = _ecore_evas_wl_ignore_events_set, _ecore_evas_wl_alpha_set, _ecore_evas_wl_transparent_set, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, + NULL, // window group set + NULL, // aspect set + NULL, // urgent set + NULL, // modal set + NULL, // demand attention set + NULL, // focus skip set _ecore_evas_wl_render, _ecore_evas_wl_screen_geometry_get }; @@ -524,6 +525,18 @@ _ecore_evas_wl_resize(Ecore_Evas *ee, int w, int h) } } +static void +_ecore_evas_wl_move_resize(Ecore_Evas *ee, int x, int y, int w, int h) +{ + LOGFN(__FILE__, __LINE__, __FUNCTION__); + + if (!ee) return; + if ((ee->x != x) || (ee->y != y)) + _ecore_evas_wl_move(ee, x, y); + if ((ee->w != w) || (ee->h != h)) + _ecore_evas_wl_resize(ee, w, h); +} + static void _ecore_evas_wl_ensure_pool_size(Ecore_Evas *ee, int w, int h) { -- 2.7.4