diff options
author | Chris Michael <cp.michael@samsung.com> | 2015-08-06 09:52:16 -0400 |
---|---|---|
committer | Chris Michael <cp.michael@samsung.com> | 2015-08-06 09:53:27 -0400 |
commit | f8987ed5aa6794244fb71cfaf5cc48149a2f0274 (patch) | |
tree | 11d66f0003bbd2e9f2d132af59b670f26a75741b | |
parent | 79f2576a8919c288f51939b12cc4edfd67023c17 (diff) | |
download | efl-f8987ed5aa6794244fb71cfaf5cc48149a2f0274.tar.gz |
Add experimental implementation of custom animator ticks
Signed-off-by: Chris Michael <cp.michael@samsung.com>
-rw-r--r-- | src/lib/ecore_wayland/ecore_wl.c | 5 | ||||
-rw-r--r-- | src/lib/ecore_wayland/ecore_wl_window.c | 2 | ||||
-rw-r--r-- | src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_shm.c | 2 | ||||
-rw-r--r-- | src/modules/evas/engines/wayland_shm/evas_shm.c | 30 |
4 files changed, 23 insertions, 16 deletions
diff --git a/src/lib/ecore_wayland/ecore_wl.c b/src/lib/ecore_wayland/ecore_wl.c index fff8dd6de3..125082b066 100644 --- a/src/lib/ecore_wayland/ecore_wl.c +++ b/src/lib/ecore_wayland/ecore_wl.c @@ -779,6 +779,8 @@ _ecore_wl_animator_tick_cb_begin(void *data EINA_UNUSED) { Eina_Hash *windows; + fprintf(stderr, "ECORE_WL ANIMATOR TICK BEGIN\n"); + _ecore_wl_animator_busy = EINA_TRUE; windows = _ecore_wl_window_hash_get(); @@ -788,6 +790,7 @@ _ecore_wl_animator_tick_cb_begin(void *data EINA_UNUSED) static void _ecore_wl_animator_tick_cb_end(void *data EINA_UNUSED) { + fprintf(stderr, "ECORE_WL ANIMATOR TICK END\n"); _ecore_wl_animator_busy = EINA_FALSE; } @@ -798,6 +801,8 @@ _ecore_wl_animator_callback(void *data, struct wl_callback *callback, uint32_t s if (!(win = data)) return; + fprintf(stderr, "ECORE_WL ANIMATOR CALLBACK\n"); + ecore_animator_custom_tick(); wl_callback_destroy(callback); 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); |