Add experimental implementation of custom animator ticks

Signed-off-by: Chris Michael <cp.michael@samsung.com>
This commit is contained in:
Chris Michael 2015-08-06 09:52:16 -04:00
parent 67ef1b11ff
commit 65578034ef
3 changed files with 18 additions and 16 deletions

View File

@ -231,7 +231,7 @@ ecore_wl_window_commit(Ecore_Wl_Window *win)
if (!win) return;
if ((win->surface) && (win->has_buffer))
if ((win->surface))// && (win->has_buffer))
wl_surface_commit(win->surface);
}

View File

@ -245,6 +245,8 @@ ecore_evas_wayland_shm_new_internal(const char *disp_name, unsigned int parent,
goto err;
}
ecore_wl_animator_source_set(ECORE_ANIMATOR_SOURCE_CUSTOM);
ecore_evas_callback_pre_free_set(ee, _ecore_evas_wl_common_pre_free);
if (ee->prop.draw_frame)

View File

@ -134,22 +134,22 @@ _shm_pool_reset(Shm_Pool *pool)
pool->used = 0;
}
static void
_shm_frame_release(void *data, struct wl_callback *callback, uint32_t timestamp EINA_UNUSED)
{
Shm_Surface *surf;
/* static void */
/* _shm_frame_release(void *data, struct wl_callback *callback, uint32_t timestamp EINA_UNUSED) */
/* { */
/* Shm_Surface *surf; */
LOGFN(__FILE__, __LINE__, __FUNCTION__);
/* LOGFN(__FILE__, __LINE__, __FUNCTION__); */
if (!(surf = data)) return;
/* if (!(surf = data)) return; */
wl_callback_destroy(callback);
}
/* wl_callback_destroy(callback); */
/* } */
static const struct wl_callback_listener _shm_frame_listener =
{
_shm_frame_release
};
/* static const struct wl_callback_listener _shm_frame_listener = */
/* { */
/* _shm_frame_release */
/* }; */
static Shm_Data *
_shm_data_create_from_pool(Shm_Pool *pool, int w, int h, Eina_Bool alpha)
@ -488,7 +488,7 @@ _evas_shm_surface_data_get(Shm_Surface *surface, int *w, int *h)
void
_evas_shm_surface_post(Shm_Surface *surface, Eina_Rectangle *rects, unsigned int count)
{
struct wl_callback *frame_cb;
/* struct wl_callback *frame_cb; */
Shm_Leaf *leaf;
LOGFN(__FILE__, __LINE__, __FUNCTION__);
@ -512,8 +512,8 @@ _evas_shm_surface_post(Shm_Surface *surface, Eina_Rectangle *rects, unsigned int
else
wl_surface_damage(surface->surface, 0, 0, leaf->w, leaf->h);
frame_cb = wl_surface_frame(surface->surface);
wl_callback_add_listener(frame_cb, &_shm_frame_listener, surface);
/* frame_cb = wl_surface_frame(surface->surface); */
/* wl_callback_add_listener(frame_cb, &_shm_frame_listener, surface); */
wl_surface_commit(surface->surface);