summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDerek Foreman <derekf@osg.samsung.com>2018-02-08 14:36:16 -0600
committerDerek Foreman <derekf@osg.samsung.com>2018-04-20 13:00:27 -0500
commit541ab76e45f30e6849b14742ac87feb5479064f6 (patch)
treed95eef9a7a710227b27dceca4bc50fa28994ba4a
parent8b5b9989af6216dc02fa3926dbfb072205c20f1c (diff)
downloadefl-541ab76e45f30e6849b14742ac87feb5479064f6.tar.gz
ecore_evas_wayland: Calculate content size from shadow and framespace
Instead of using wdata->content, calculate these values.
-rw-r--r--src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_common.c22
1 files changed, 16 insertions, 6 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 bf998f0b0f..320b194a6e 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
@@ -489,7 +489,8 @@ _ecore_evas_wl_common_cb_window_configure(void *data EINA_UNUSED, int type EINA_
Ecore_Evas *ee;
Ecore_Evas_Engine_Wl_Data *wdata;
Ecore_Wl2_Event_Window_Configure *ev;
- int nw = 0, nh = 0, fw, fh, pfw, pfh;
+ int nw = 0, nh = 0, fw, fh, pfw, pfh, sw, sh, contentw, contenth;
+ int framew, frameh;
Eina_Bool active, prev_max, prev_full, state_change = EINA_FALSE;
LOGFN(__FILE__, __LINE__, __FUNCTION__);
@@ -517,8 +518,13 @@ _ecore_evas_wl_common_cb_window_configure(void *data EINA_UNUSED, int type EINA_
nw = ev->w;
nh = ev->h;
- pfw = fw = wdata->content.w ? wdata->win->set_config.geometry.w - wdata->content.w : 0;
- pfh = fh = wdata->content.h ? wdata->win->set_config.geometry.h - wdata->content.h : 0;
+ sw = ee->shadow.l + ee->shadow.r;
+ sh = ee->shadow.t + ee->shadow.b;
+ evas_output_framespace_get(ee->evas, NULL, NULL, &framew, &frameh);
+ contentw = wdata->win->set_config.geometry.w - (framew - sw);
+ contenth = wdata->win->set_config.geometry.h - (frameh - sh);
+ pfw = fw = wdata->win->set_config.geometry.w - contentw;
+ pfh = fh = wdata->win->set_config.geometry.h - contenth;
if ((prev_max != ee->prop.maximized) ||
(prev_full != ee->prop.fullscreen) ||
@@ -526,10 +532,14 @@ _ecore_evas_wl_common_cb_window_configure(void *data EINA_UNUSED, int type EINA_
{
state_change = EINA_TRUE;
_ecore_evas_wl_common_state_update(ee);
- fw = wdata->content.w ? wdata->win->set_config.geometry.w - wdata->content.w : 0;
- fh = wdata->content.h ? wdata->win->set_config.geometry.h - wdata->content.h : 0;
+ sw = ee->shadow.l + ee->shadow.r;
+ sh = ee->shadow.t + ee->shadow.b;
+ evas_output_framespace_get(ee->evas, NULL, NULL, &framew, &frameh);
+ contentw = wdata->win->set_config.geometry.w - (framew - sw);
+ contenth = wdata->win->set_config.geometry.h - (frameh - sh);
+ fw = wdata->win->set_config.geometry.w - contentw;
+ fh = wdata->win->set_config.geometry.h - contenth;
}
-
if ((!nw) && (!nh))
{
if ((wdata->win->set_config.serial != wdata->win->req_config.serial) &&