summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Michael <cp.michael@samsung.com>2013-05-01 07:32:54 +0100
committerChris Michael <cp.michael@samsung.com>2013-05-01 07:32:54 +0100
commit6f6a0951f283734b4b144592799dd73ec8dd8de0 (patch)
tree7744c7a44d8b26d062c58d23fa5b67b086850d7f
parent9372a1e21714e470076a3186beb458fab26bbc0b (diff)
downloadefl-6f6a0951f283734b4b144592799dd73ec8dd8de0.tar.gz
Revert "Check for valid engine resize function before calling it."
This reverts commit 6e0075aa0491003ea717a248dea9886e99cc489b. This broke rotation (and some other things).
-rw-r--r--src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_common.c84
1 files changed, 47 insertions, 37 deletions
diff --git a/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_common.c b/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_common.c
index 9e9a416668..1aa426216e 100644
--- a/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_common.c
+++ b/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_common.c
@@ -164,6 +164,7 @@ _ecore_evas_wl_common_cb_window_configure(void *data EINA_UNUSED, int type EINA_
Ecore_Evas *ee;
Ecore_Evas_Engine_Wl_Data *wdata;
Ecore_Wl_Event_Window_Configure *ev;
+ Ecore_Evas_Engine_Wl_Data *wdata;
int nw = 0, nh = 0;
Eina_Bool prev_max, prev_full;
@@ -192,8 +193,7 @@ _ecore_evas_wl_common_cb_window_configure(void *data EINA_UNUSED, int type EINA_
if (ee->prop.fullscreen)
{
_ecore_evas_wl_common_move(ee, ev->x, ev->y);
- if (ee->engine.func->fn_resize)
- ee->engine.func->fn_resize(ee, ev->w, ev->h);
+ ee->engine.func->fn_resize(ee, ev->w, ev->h);
return ECORE_CALLBACK_PASS_ON;
}
@@ -202,7 +202,7 @@ _ecore_evas_wl_common_cb_window_configure(void *data EINA_UNUSED, int type EINA_
{
ee->req.x = ee->x;
ee->req.y = ee->y;
- _ecore_evas_wl_common_move(ee, ev->x, ev->y);
+ if (ee->func.fn_move) ee->func.fn_move(ee);
}
nw = ev->w;
@@ -237,6 +237,34 @@ _ecore_evas_wl_common_cb_window_configure(void *data EINA_UNUSED, int type EINA_
ee->w = nw;
ee->h = nh;
if (ee->func.fn_resize) ee->func.fn_resize(ee);
+
+ if ((ee->rotation == 90) || (ee->rotation == 270))
+ {
+ evas_output_size_set(ee->evas, ev->h, ev->w);
+ evas_output_viewport_set(ee->evas, 0, 0, ev->h, ev->w);
+ }
+ else
+ {
+ evas_output_size_set(ee->evas, ev->w, ev->h);
+ evas_output_viewport_set(ee->evas, 0, 0, ev->w, ev->h);
+ }
+
+ wdata = ee->engine.data;
+
+ if (wdata->win)
+ {
+ Ecore_Wl_Window *win;
+
+ win = wdata->win;
+
+ win->server_allocation = win->allocation;
+ ecore_wl_window_update_size(wdata->win, ev->w, ev->h);
+
+ _ecore_evas_wayland_resize(ee, win->edges);
+ }
+
+ if (wdata->frame)
+ evas_object_resize(wdata->frame, ev->w, ev->h);
}
return ECORE_CALLBACK_PASS_ON;
@@ -263,46 +291,38 @@ _ecore_evas_wl_common_rotation_set(Ecore_Evas *ee, int rotation, int resize)
if (!ee->prop.fullscreen)
{
int fw, fh;
-
evas_output_framespace_get(ee->evas, NULL, NULL, &fw, &fh);
-
if ((rotation == 0) || (rotation == 180))
{
- ecore_wl_window_resize(wdata->win, ee->h + fw,
- ee->w + fh, 0);
- ecore_wl_window_update_size(wdata->win, ee->h + fw,
- ee->w + fh);
-
+ ecore_wl_window_resize(wdata->win, ee->h + fw, ee->w + fh, 0);
+ ecore_wl_window_update_size(wdata->win, ee->h + fw, ee->w + fh);
+ }
+ else
+ {
+ ecore_wl_window_resize(wdata->win, ee->h + fh, ee->w + fw, 0);
+ ecore_wl_window_update_size(wdata->win, ee->h + fh, ee->w + fw);
+ }
+ if ((ee->rotation == 0) || (ee->rotation == 180))
+ {
evas_output_size_set(ee->evas, ee->w + fw, ee->h + fh);
- evas_output_viewport_set(ee->evas, 0, 0, ee->w + fw,
- ee->h + fh);
+ evas_output_viewport_set(ee->evas, 0, 0, ee->w + fw, ee->h + fh);
}
else
{
- ecore_wl_window_resize(wdata->win, ee->h + fh,
- ee->w + fw, 0);
- ecore_wl_window_update_size(wdata->win, ee->h + fh,
- ee->w + fw);
-
evas_output_size_set(ee->evas, ee->h + fw, ee->w + fh);
- evas_output_viewport_set(ee->evas, 0, 0, ee->h + fw,
- ee->w + fh);
+ evas_output_viewport_set(ee->evas, 0, 0, ee->h + fw, ee->w + fh);
}
}
else
{
evas_output_size_set(ee->evas, ee->req.w, ee->req.h);
- evas_output_viewport_set(ee->evas, 0, 0,
- ee->req.w, ee->req.h);
-
+ evas_output_viewport_set(ee->evas, 0, 0, ee->req.w, ee->req.h);
if (ee->func.fn_resize) ee->func.fn_resize(ee);
}
-
if ((ee->rotation == 90) || (ee->rotation == 270))
evas_damage_rectangle_add(ee->evas, 0, 0, ee->req.h, ee->req.w);
else
evas_damage_rectangle_add(ee->evas, 0, 0, ee->req.w, ee->req.h);
-
ww = ee->h;
hh = ee->w;
ee->w = ww;
@@ -322,9 +342,7 @@ _ecore_evas_wl_common_rotation_set(Ecore_Evas *ee, int rotation, int resize)
evas_output_size_set(ee->evas, ee->h, ee->w);
evas_output_viewport_set(ee->evas, 0, 0, ee->h, ee->w);
}
-
if (ee->func.fn_resize) ee->func.fn_resize(ee);
-
if ((ee->rotation == 90) || (ee->rotation == 270))
evas_damage_rectangle_add(ee->evas, 0, 0, ee->h, ee->w);
else
@@ -460,17 +478,8 @@ _ecore_evas_wl_common_resize(Ecore_Evas *ee, int w, int h)
else if (h > ee->prop.max.h) h = ee->prop.max.h;
evas_output_framespace_get(ee->evas, NULL, NULL, &fw, &fh);
-
- if ((ee->rotation == 90) || (ee->rotation == 270))
- {
- w += fh;
- h += fw;
- }
- else
- {
- w += fw;
- h += fh;
- }
+ w += fw;
+ h += fh;
}
if ((ee->w != w) || (ee->h != h))
@@ -596,6 +605,7 @@ _ecore_evas_wl_common_move(Ecore_Evas *ee, int x, int y)
static void
_border_size_eval(Evas_Object *obj EINA_UNUSED, EE_Wl_Smart_Data *sd)
{
+
/* top border */
if (sd->border[0])
{