forked from enlightenment/efl
evas/wayland_shm: Fix resize to the left or top when rotated.
This commit is contained in:
parent
1ec6dd5fbc
commit
6890a0e452
|
@ -526,15 +526,19 @@ _ecore_evas_wayland_shm_resize(Ecore_Evas *ee, int location)
|
|||
Evas_Engine_Info_Wayland_Shm *einfo;
|
||||
wdata->win->resizing = EINA_TRUE;
|
||||
|
||||
if ((einfo = (Evas_Engine_Info_Wayland_Shm *)evas_engine_info_get(ee->evas)))
|
||||
einfo->info.edges = wdata->win->edges;
|
||||
if ((ee->rotation == 90) || (ee->rotation == 270))
|
||||
evas_output_framespace_get(ee->evas, NULL, NULL, &fh, &fw);
|
||||
else
|
||||
evas_output_framespace_get(ee->evas, NULL, NULL, &fh, &fw);
|
||||
|
||||
evas_output_framespace_get(ee->evas, NULL, NULL, &fw, &fh);
|
||||
if ((einfo = (Evas_Engine_Info_Wayland_Shm *)evas_engine_info_get(ee->evas)))
|
||||
if ((ee->rotation == 90) || (ee->rotation == 270))
|
||||
ecore_wl_window_resize(wdata->win, ee->w + fh, ee->h + fw, location);
|
||||
else
|
||||
ecore_wl_window_resize(wdata->win, ee->w + fw, ee->h + fh, location);
|
||||
|
||||
einfo->info.edges = location;
|
||||
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
|
|
@ -326,8 +326,14 @@ eng_output_resize(void *data, int w, int h)
|
|||
if (!(info = re->info)) return;
|
||||
|
||||
if (info->info.edges & 4)
|
||||
if ((info->info.rotation == 90) || (info->info.rotation == 270))
|
||||
dx = re->ob->h - h;
|
||||
else
|
||||
dx = re->ob->w - w;
|
||||
if (info->info.edges & 1)
|
||||
if ((info->info.rotation == 90) || (info->info.rotation == 270))
|
||||
dy = re->ob->w - w;
|
||||
else
|
||||
dy = re->ob->h - h;
|
||||
|
||||
re->outbuf_reconfigure(re->ob, dx, dy, w, h,
|
||||
|
|
Loading…
Reference in New Issue