}
Eina_Bool
-_evas_dmabuf_surface_surface_set(Surface *s, struct wl_shm *wl_shm EINA_UNUSED, struct zwp_linux_dmabuf_v1 *wl_dmabuf)
-{
- Dmabuf_Surface *surf;
-
- surf = s->surf.dmabuf;
-
- if ((surf->dmabuf == wl_dmabuf))
- return EINA_FALSE;
-
- surf->dmabuf = wl_dmabuf;
- return EINA_TRUE;
-}
-
-Eina_Bool
_evas_dmabuf_surface_create(Surface *s, int w, int h, int num_buff)
{
Dmabuf_Surface *surf = NULL;
s->funcs.data_get = _evas_dmabuf_surface_data_get;
s->funcs.assign = _evas_dmabuf_surface_assign;
s->funcs.post = _evas_dmabuf_surface_post;
- s->funcs.surface_set = _evas_dmabuf_surface_surface_set;
return EINA_TRUE;
ob->dirty = EINA_TRUE;
re->generic.ob->ewd = einfo->info.wl2_display;
}
- _evas_outbuf_surface_set(ob,
- einfo->info.wl_shm,
- einfo->info.wl_dmabuf);
eng_output_resize(engine, data, w, h);
void *(*data_get)(Surface *surface, int *w, int *h);
int (*assign)(Surface *surface);
void (*post)(Surface *surface, Eina_Rectangle *rects, unsigned int count, Eina_Bool hidden);
- Eina_Bool (*surface_set)(Surface *surface, struct wl_shm *wl_shm, struct zwp_linux_dmabuf_v1 *wl_dmabuf);
} funcs;
};
void _evas_outbuf_update_region_free(Outbuf *ob, RGBA_Image *update);
void _evas_surface_damage(struct wl_surface *s, int compositor_version, int w, int h, Eina_Rectangle *rects, unsigned int count);
void _evas_outbuf_redraws_clear(Outbuf *ob);
-void _evas_outbuf_surface_set(Outbuf *ob, struct wl_shm *shm, struct zwp_linux_dmabuf_v1 *dmabuf);
Eina_Bool _evas_surface_init(Surface *s, int w, int h, int num_buf);
free(ob->priv.rects);
ob->priv.rect_count = 0;
}
-
-void
-_evas_outbuf_surface_set(Outbuf *ob, struct wl_shm *wl_shm, struct zwp_linux_dmabuf_v1 *wl_dmabuf)
-{
- ob->surface->funcs.surface_set(ob->surface, wl_shm, wl_dmabuf);
-}
}
Eina_Bool
-_evas_shm_surface_surface_set(Surface *s, struct wl_shm *wl_shm, struct zwp_linux_dmabuf_v1 *wl_dmabuf EINA_UNUSED)
-{
- Shm_Surface *surf;
-
- surf = s->surf.shm;
-
- if ((surf->shm == wl_shm))
- return EINA_FALSE;
-
- surf->shm = wl_shm;
- return EINA_TRUE;
-}
-
-Eina_Bool
_evas_shm_surface_create(Surface *s, int w, int h, int num_buff)
{
Shm_Surface *surf;
s->funcs.data_get = _evas_shm_surface_data_get;
s->funcs.assign = _evas_shm_surface_assign;
s->funcs.post = _evas_shm_surface_post;
- s->funcs.surface_set = _evas_shm_surface_surface_set;
return EINA_TRUE;