if (ee->func.fn_resize) ee->func.fn_resize(ee);
}
- ecore_wl2_window_geometry_set(wdata->win, ee->x, ee->y, ee->w, ee->h);
+ ecore_wl2_window_geometry_set(wdata->win, ee->x, ee->y, w, h);
}
static void
return ECORE_CALLBACK_CANCEL;
}
+void _ecore_evas_framespace_get(Ecore_Evas *ee, int *fw, int *fh)
+{
+ int ww, wh, sw, sh, framew, frameh, cw, ch;
+
+ ecore_evas_geometry_get(ee, NULL, NULL, &ww, &wh);
+
+ sw = ee->shadow.l + ee->shadow.r;
+ sh = ee->shadow.t + ee->shadow.b;
+ evas_output_framespace_get(ee->evas, NULL, NULL, &framew, &frameh);
+
+ cw = ww - (framew - sw);
+ ch = wh - (frameh - sh);
+
+ if (fw) *fw = ww - cw;
+ if (fh) *fh = wh - ch;
+}
+
static void
_ecore_evas_wl_common_wm_rot_manual_rotation_done_timeout_update(Ecore_Evas *ee)
{
Ecore_Evas *ee;
Ecore_Evas_Engine_Wl_Data *wdata;
Ecore_Wl2_Event_Window_Configure *ev;
- int nw = 0, nh = 0, fw, fh, pfw, pfh, sw, sh, contentw, contenth;
- int ww, wh;
- int framew, frameh;
+ int nw = 0, nh = 0, fw, fh, pfw, pfh;
Eina_Bool active, prev_max, prev_full, state_change = EINA_FALSE;
// TIZEN_ONLY(20160630)
ecore_wl2_window_geometry_get(wdata->win, &nx, &ny, NULL, NULL);
//
- ecore_evas_geometry_get(ee, NULL, NULL, &ww, &wh);
+ _ecore_evas_framespace_get(ee, &fw, &fh);
- 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 = ww - (framew - sw);
- contenth = wh - (frameh - sh);
- pfw = fw = ww - contentw;
- pfh = fh = wh - contenth;
+ pfw = fw;
+ pfh = fh;
if ((prev_max != ee->prop.maximized) ||
(prev_full != ee->prop.fullscreen) ||
{
state_change = EINA_TRUE;
_ecore_evas_wl_common_state_update(ee);
- 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 = ww - (framew - sw);
- contenth = wh - (frameh - sh);
- fw = ww - contentw;
- fh = wh - contenth;
+ _ecore_evas_framespace_get(ee, &fw, &fh);
}
if ((!nw) && (!nh))
{
if (!ee->prop.borderless)
{
- nw -= fw;
- nh -= fh;
+ if (ECORE_EVAS_PORTRAIT(ee))
+ {
+ nw -= fw;
+ nh -= fh;
+ }
+ else
+ {
+ nw -= fh;
+ nh -= fw;
+ }
}
if (ee->prop.fullscreen || (ee->req.w != nw) || (ee->req.h != nh))
Ecore_Evas *ee;
Ecore_Wl2_Event_Window_Rotation *ev;
Ecore_Evas_Engine_Wl_Data *wdata;
+ int fw, fh, nw ,nh;
LOGFN;
wdata->wm_rot.request = 1;
wdata->wm_rot.done = 0;
+ nw = ev->w;
+ nh = ev->h;
+
+ _ecore_evas_framespace_get(ee, &fw, &fh);
+
+ if (!ee->prop.borderless)
+ {
+ if (ECORE_EVAS_PORTRAIT(ee))
+ {
+ nw -= fw;
+ nh -= fh;
+ }
+ else
+ {
+ nw -= fh;
+ nh -= fw;
+ }
+ }
+
/* TIZEN_ONLY: if the width or height are zero, it means the client should
decide its own window dimension. */
- if (ev->w > 0 && ev->h > 0)
+ if (nw > 0 && nh > 0)
{
- if ((ee->w != ev->w) || (ee->h != ev->h))
- _ecore_evas_wl_common_resize(ee, ev->w , ev->h);
+ if ((ee->w != nw) || (ee->h != nh))
+ {
+ _ecore_evas_wl_common_resize(ee, nw, nh);
+ }
}
if (ee->prop.wm_rot.manual_mode.set)
if (wdata->win)
{
+ int w = ee->w, h = ee->h;
int fw, fh;
if (wdata->win->xdg_set_min_size && wdata->win->xdg_toplevel && wdata->win->pending.min)
/*
ecore_wl2_window_geometry_set(wdata->win, 0, 0, ee->w, ee->h);
*/
- ecore_wl2_window_geometry_set(wdata->win, ee->x, ee->y, ee->w, ee->h);
+ if (!ee->prop.fullscreen) {
+ if (ECORE_EVAS_PORTRAIT(ee))
+ {
+ w += fw;
+ h += fh;
+ }
+ else
+ {
+ w += fh;
+ h += fw;
+ }
+ }
+
+ ecore_wl2_window_geometry_set(wdata->win, ee->x, ee->y, w, h);
//
ecore_wl2_window_show(wdata->win);
ecore_wl2_window_alpha_set(wdata->win, ee->alpha);