Fix swapbuf setup to take resize edges into account.

Signed-off-by: Christopher Michael <cp.michael@samsung.com>
This commit is contained in:
Christopher Michael 2013-02-05 14:15:41 +00:00 committed by Rafael Antognolli
parent 5dde66b4e4
commit 899e4f745c
1 changed files with 10 additions and 6 deletions

View File

@ -21,7 +21,7 @@
/* local function prototypes */
Outbuf *
evas_swapbuf_setup(int w, int h, unsigned int rotation, Outbuf_Depth depth, Eina_Bool alpha, struct wl_shm *wl_shm, struct wl_surface *wl_surface)
evas_swapbuf_setup(int x, int y, int w, int h, unsigned int rotation, Outbuf_Depth depth, Eina_Bool alpha, struct wl_shm *wl_shm, struct wl_surface *wl_surface)
{
Outbuf *ob = NULL;
@ -32,6 +32,8 @@ evas_swapbuf_setup(int w, int h, unsigned int rotation, Outbuf_Depth depth, Eina
return NULL;
/* set some properties */
ob->x = x;
ob->y = y;
ob->w = w;
ob->h = h;
ob->rotation = rotation;
@ -43,13 +45,13 @@ evas_swapbuf_setup(int w, int h, unsigned int rotation, Outbuf_Depth depth, Eina
if ((ob->rotation == 0) || (ob->rotation == 180))
{
ob->priv.swapper =
evas_swapper_setup(w, h, depth, alpha, ob->priv.wl.shm,
evas_swapper_setup(x, y, w, h, depth, alpha, ob->priv.wl.shm,
ob->priv.wl.surface);
}
else if ((ob->rotation == 90) || (ob->rotation == 270))
{
ob->priv.swapper =
evas_swapper_setup(h, w, depth, alpha, ob->priv.wl.shm,
evas_swapper_setup(x, y, h, w, depth, alpha, ob->priv.wl.shm,
ob->priv.wl.surface);
}
@ -88,7 +90,7 @@ evas_swapbuf_free(Outbuf *ob)
}
void
evas_swapbuf_reconfigure(Outbuf *ob, int w, int h, unsigned int rotation, Outbuf_Depth depth, Eina_Bool alpha)
evas_swapbuf_reconfigure(Outbuf *ob, int x, int y, int w, int h, unsigned int rotation, Outbuf_Depth depth, Eina_Bool alpha)
{
LOGFN(__FILE__, __LINE__, __FUNCTION__);
@ -101,6 +103,8 @@ evas_swapbuf_reconfigure(Outbuf *ob, int w, int h, unsigned int rotation, Outbuf
return;
/* set some properties */
ob->x = x;
ob->y = y;
ob->w = w;
ob->h = h;
ob->rotation = rotation;
@ -118,13 +122,13 @@ evas_swapbuf_reconfigure(Outbuf *ob, int w, int h, unsigned int rotation, Outbuf
if ((ob->rotation == 0) || (ob->rotation == 180))
{
ob->priv.swapper =
evas_swapper_setup(w, h, depth, alpha, ob->priv.wl.shm,
evas_swapper_setup(x, y, w, h, depth, alpha, ob->priv.wl.shm,
ob->priv.wl.surface);
}
else if ((ob->rotation == 90) || (ob->rotation == 270))
{
ob->priv.swapper =
evas_swapper_setup(h, w, depth, alpha, ob->priv.wl.shm,
evas_swapper_setup(x, y, h, w, depth, alpha, ob->priv.wl.shm,
ob->priv.wl.surface);
}
}