ecore-evas-wl: Fix ecore-evas wl common code due to botched rebase
authorChris Michael <cp.michael@samsung.com>
Tue, 13 Oct 2015 17:01:52 +0000 (13:01 -0400)
committerChris Michael <cp.michael@samsung.com>
Thu, 3 Dec 2015 17:05:01 +0000 (12:05 -0500)
Signed-off-by: Chris Michael <cp.michael@samsung.com>
src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_common.c

index 810e17b..0335753 100644 (file)
@@ -161,6 +161,7 @@ _ecore_evas_wl_common_cb_focus_out(void *data EINA_UNUSED, int type EINA_UNUSED,
    return ECORE_CALLBACK_PASS_ON;
 }
 
+<<<<<<< cdc9ff78e4db118ef9e2d70b7425ca9b46bdb2df
 static Eina_Bool
 _ecore_evas_wl_common_cb_window_configure(void *data EINA_UNUSED, int type EINA_UNUSED, void *event)
 {
@@ -219,6 +220,62 @@ _ecore_evas_wl_common_cb_window_configure(void *data EINA_UNUSED, int type EINA_
    return ECORE_CALLBACK_PASS_ON;
 }
 
+static Eina_Bool
+_ecore_evas_wl_common_cb_window_configure(void *data EINA_UNUSED, int type EINA_UNUSED, void *event)
+{
+   Ecore_Evas *ee;
+   Ecore_Evas_Engine_Wl_Data *wdata;
+   Ecore_Wl2_Event_Window_Configure *ev;
+   int nw = 0, nh = 0;
+   Eina_Bool prev_max, prev_full;
+
+   LOGFN(__FILE__, __LINE__, __FUNCTION__);
+
+   ev = event;
+   ee = ecore_event_window_match(ev->win);
+   if (!ee) return ECORE_CALLBACK_PASS_ON;
+   if (ev->win != ee->prop.window) return ECORE_CALLBACK_PASS_ON;
+
+   wdata = ee->engine.data;
+   if (!wdata) return ECORE_CALLBACK_PASS_ON;
+
+   prev_max = ee->prop.maximized;
+   prev_full = ee->prop.fullscreen;
+   ee->prop.maximized = ecore_wl2_window_maximized_get(wdata->win);
+   ee->prop.fullscreen = ecore_wl2_window_fullscreen_get(wdata->win);
+
+   nw = ev->w;
+   nh = ev->h;
+   if (nw < 1) nw = 1;
+   if (nh < 1) nh = 1;
+
+   if (prev_full != ee->prop.fullscreen)
+     _ecore_evas_wl_common_border_update(ee);
+
+   if (ee->prop.fullscreen)
+     {
+        _ecore_evas_wl_common_move(ee, ev->x, ev->y);
+        _ecore_evas_wl_common_resize(ee, nw, nh);
+
+        if (prev_full != ee->prop.fullscreen)
+          _ecore_evas_wl_common_state_update(ee);
+
+        return ECORE_CALLBACK_PASS_ON;
+     }
+
+   if ((ee->x != ev->x) || (ee->y != ev->y))
+     _ecore_evas_wl_common_move(ee, ev->x, ev->y);
+
+   if ((ee->req.w != nw) || (ee->req.h != nh))
+     _ecore_evas_wl_common_resize(ee, nw, nh);
+
+   if ((prev_max != ee->prop.maximized) ||
+       (prev_full != ee->prop.fullscreen))
+     _ecore_evas_wl_common_state_update(ee);
+
+   return ECORE_CALLBACK_PASS_ON;
+}
+
 static void
 _rotation_do(Ecore_Evas *ee, int rotation, int resize)
 {