From 65578034efcc9dbb7759ff9b32dfe859bda525e0 Mon Sep 17 00:00:00 2001 From: Chris Michael Date: Thu, 6 Aug 2015 09:52:16 -0400 Subject: [PATCH] Add experimental implementation of custom animator ticks Signed-off-by: Chris Michael --- src/lib/ecore_wayland/ecore_wl_window.c | 2 +- .../engines/wayland/ecore_evas_wayland_shm.c | 2 ++ .../evas/engines/wayland_shm/evas_shm.c | 30 +++++++++---------- 3 files changed, 18 insertions(+), 16 deletions(-) diff --git a/src/lib/ecore_wayland/ecore_wl_window.c b/src/lib/ecore_wayland/ecore_wl_window.c index ab3f28d3bd..c2055c17af 100644 --- a/src/lib/ecore_wayland/ecore_wl_window.c +++ b/src/lib/ecore_wayland/ecore_wl_window.c @@ -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); } diff --git a/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_shm.c b/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_shm.c index 420e5953de..d9b2894666 100644 --- a/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_shm.c +++ b/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_shm.c @@ -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) diff --git a/src/modules/evas/engines/wayland_shm/evas_shm.c b/src/modules/evas/engines/wayland_shm/evas_shm.c index 1d8f594e21..1e730a4e72 100644 --- a/src/modules/evas/engines/wayland_shm/evas_shm.c +++ b/src/modules/evas/engines/wayland_shm/evas_shm.c @@ -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);