Ecore_Evas (wayland_shm): Add support for ecore_evas_move_resize
authordevilhorns <devilhorns@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Mon, 28 May 2012 12:19:17 +0000 (12:19 +0000)
committerdevilhorns <devilhorns@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Mon, 28 May 2012 12:19:17 +0000 (12:19 +0000)
engine function.

git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/ecore@71452 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

src/lib/ecore_evas/ecore_evas_wayland_shm.c

index f43b708..4d2f313 100644 (file)
@@ -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)
 {