typedef struct _Wl_Buffer Wl_Buffer;
struct _Wl_Buffer
{
- int w, h;
+ int x, y, w, h;
struct wl_buffer *buffer;
void *data;
int offset;
struct _Wl_Swapper
{
Wl_Buffer buff[3];
- int w, h, depth;
+ int x, y, w, h, depth;
int buff_cur, buff_num;
struct wl_shm *shm;
struct wl_surface *surface;
/* local variables */
Wl_Swapper *
-evas_swapper_setup(int w, int h, Outbuf_Depth depth, Eina_Bool alpha, struct wl_shm *shm, struct wl_surface *surface)
+evas_swapper_setup(int x, int y, int w, int h, Outbuf_Depth depth, Eina_Bool alpha, struct wl_shm *shm, struct wl_surface *surface)
{
Wl_Swapper *ws;
int i = 0;
return NULL;
/* set some properties */
+ ws->x = x;
+ ws->y = y;
ws->w = w;
ws->h = h;
ws->depth = depth;
/* make sure swapper has a shm */
if (!ws->shm) return EINA_FALSE;
+ wb->x = ws->x;
+ wb->y = ws->y;
wb->w = ws->w;
wb->h = ws->h;
/* surface attach */
if (sent != wb->buffer)
{
- wl_surface_attach(ws->surface, wb->buffer, 0, 0);
+ wl_surface_attach(ws->surface, wb->buffer, wb->x, wb->y);
+ wb->x = 0;
+ wb->y = 0;
sent = wb->buffer;
}
/* printf("Damage Surface: %d %d %d %d\n", rect->x, rect->y, rect->w, rect->h); */
wl_surface_damage(ws->surface, rect->x, rect->y, rect->w, rect->h);
- /* wl_surface_damage(ws->surface, 0, 0, rect->w, rect->h); */
/* surface commit */
wl_surface_commit(ws->surface);
-
- /* wb->valid = EINA_FALSE; */
}
static void