summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMike Blumenkrantz <zmike@samsung.com>2019-02-21 21:50:35 +0100
committerXavi Artigas <xavierartigas@yahoo.es>2019-02-21 22:04:30 +0100
commitaf7d1ef7eda642d751a30b47fb3b2547a2c181cf (patch)
treeb4f289db527bd0d02fd0d0c2b0a59147a102f3ff /src
parent442873a7b80761f195f9cf280637d09aead4d589 (diff)
interfaces: move animator,tick to efl.canvas.object and remove efl.animator
Summary: this interface only contains a single event which is implemented only by the canvas object ref T7561 Reviewers: cedric, segfaultxavi Reviewed By: segfaultxavi Subscribers: #reviewers, #committers Tags: #efl Maniphest Tasks: T7561 Differential Revision: https://phab.enlightenment.org/D7905
Diffstat (limited to 'src')
-rw-r--r--src/Makefile_Efl.am1
-rw-r--r--src/bin/elementary/perf.c4
-rw-r--r--src/bin/elementary/test_anim.c2
-rw-r--r--src/bin/elementary/test_part_shadow.c4
-rw-r--r--src/lib/ecore_evas/ecore_evas.c10
-rw-r--r--src/lib/edje/edje_load.c2
-rw-r--r--src/lib/edje/edje_program.c4
-rw-r--r--src/lib/efl/Efl.h1
-rw-r--r--src/lib/efl/interfaces/efl_animator.eo15
-rw-r--r--src/lib/efl/interfaces/efl_interfaces_main.c1
-rw-r--r--src/lib/efl/interfaces/meson.build1
-rw-r--r--src/lib/elementary/efl_ui_image_zoomable.c18
-rw-r--r--src/lib/elementary/efl_ui_pager.c16
-rw-r--r--src/lib/elementary/efl_ui_scroll_manager.c6
-rw-r--r--src/lib/elementary/elc_naviframe.c4
-rw-r--r--src/lib/elementary/elm_genlist.c4
-rw-r--r--src/lib/elementary/elm_interface_scrollable.c6
-rw-r--r--src/lib/elementary/elm_map.c6
-rw-r--r--src/lib/evas/canvas/efl_canvas_object.eo7
-rw-r--r--src/lib/evas/canvas/evas_callbacks.c10
-rw-r--r--src/lib/evas/canvas/evas_canvas.eo2
21 files changed, 55 insertions, 69 deletions
diff --git a/src/Makefile_Efl.am b/src/Makefile_Efl.am
index 351ff73fef..d254f6f8a1 100644
--- a/src/Makefile_Efl.am
+++ b/src/Makefile_Efl.am
@@ -49,7 +49,6 @@ efl_eolian_files = \
49 lib/efl/interfaces/efl_gfx_blur.eo \ 49 lib/efl/interfaces/efl_gfx_blur.eo \
50 lib/efl/interfaces/efl_gfx_hint.eo \ 50 lib/efl/interfaces/efl_gfx_hint.eo \
51 lib/efl/interfaces/efl_model.eo \ 51 lib/efl/interfaces/efl_model.eo \
52 lib/efl/interfaces/efl_animator.eo \
53 lib/efl/interfaces/efl_orientation.eo \ 52 lib/efl/interfaces/efl_orientation.eo \
54 lib/efl/interfaces/efl_container.eo \ 53 lib/efl/interfaces/efl_container.eo \
55 lib/efl/interfaces/efl_content.eo \ 54 lib/efl/interfaces/efl_content.eo \
diff --git a/src/bin/elementary/perf.c b/src/bin/elementary/perf.c
index 3cca032d99..17f26b8c54 100644
--- a/src/bin/elementary/perf.c
+++ b/src/bin/elementary/perf.c
@@ -128,7 +128,7 @@ anim_tick(void *data, const Efl_Event *event EINA_UNUSED)
128 ecore_animator_del(animator); 128 ecore_animator_del(animator);
129 animator = NULL; 129 animator = NULL;
130#else 130#else
131 efl_event_callback_del(win, EFL_EVENT_ANIMATOR_TICK, anim_tick, data); 131 efl_event_callback_del(win, EFL_CANVAS_OBJECT_EVENT_ANIMATOR_TICK, anim_tick, data);
132#endif 132#endif
133 ecore_timer_add(0.5, next_test_delay, data); 133 ecore_timer_add(0.5, next_test_delay, data);
134 } 134 }
@@ -168,7 +168,7 @@ all_tests(Evas *e)
168#ifdef ANIMATOR 168#ifdef ANIMATOR
169 animator = ecore_animator_add(anim_tick, e); 169 animator = ecore_animator_add(anim_tick, e);
170#else 170#else
171 efl_event_callback_add(win, EFL_EVENT_ANIMATOR_TICK, anim_tick, e); 171 efl_event_callback_add(win, EFL_CANVAS_OBJECT_EVENT_ANIMATOR_TICK, anim_tick, e);
172#endif 172#endif
173} 173}
174 174
diff --git a/src/bin/elementary/test_anim.c b/src/bin/elementary/test_anim.c
index 4bcf1581ab..caad01431f 100644
--- a/src/bin/elementary/test_anim.c
+++ b/src/bin/elementary/test_anim.c
@@ -92,5 +92,5 @@ test_anim(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info
92 evas_object_resize(win, 480, 800); 92 evas_object_resize(win, 480, 800);
93 evas_object_show(win); 93 evas_object_show(win);
94 94
95 efl_event_callback_add(win, EFL_EVENT_ANIMATOR_TICK, _anim_tick, NULL); 95 efl_event_callback_add(win, EFL_CANVAS_OBJECT_EVENT_ANIMATOR_TICK, _anim_tick, NULL);
96} 96}
diff --git a/src/bin/elementary/test_part_shadow.c b/src/bin/elementary/test_part_shadow.c
index 39d170b03c..70d9a6f6d2 100644
--- a/src/bin/elementary/test_part_shadow.c
+++ b/src/bin/elementary/test_part_shadow.c
@@ -45,7 +45,7 @@ pulse_start(void *data, const Efl_Event *ev EINA_UNUSED)
45 efl_ui_widget_disabled_set(td->btn_start, EINA_TRUE); 45 efl_ui_widget_disabled_set(td->btn_start, EINA_TRUE);
46 efl_ui_widget_disabled_set(td->btn_stop, EINA_FALSE); 46 efl_ui_widget_disabled_set(td->btn_stop, EINA_FALSE);
47 47
48 efl_event_callback_add(td->ico, EFL_EVENT_ANIMATOR_TICK, animate, td); 48 efl_event_callback_add(td->ico, EFL_CANVAS_OBJECT_EVENT_ANIMATOR_TICK, animate, td);
49} 49}
50 50
51static void 51static void
@@ -62,7 +62,7 @@ pulse_stop(void *data, const Efl_Event *ev EINA_UNUSED)
62 efl_ui_widget_disabled_set(td->btn_start, EINA_FALSE); 62 efl_ui_widget_disabled_set(td->btn_start, EINA_FALSE);
63 efl_ui_widget_disabled_set(td->btn_stop, EINA_TRUE); 63 efl_ui_widget_disabled_set(td->btn_stop, EINA_TRUE);
64 64
65 efl_event_callback_del(td->ico, EFL_EVENT_ANIMATOR_TICK, animate, td); 65 efl_event_callback_del(td->ico, EFL_CANVAS_OBJECT_EVENT_ANIMATOR_TICK, animate, td);
66} 66}
67 67
68static void 68static void
diff --git a/src/lib/ecore_evas/ecore_evas.c b/src/lib/ecore_evas/ecore_evas.c
index ff711084d7..8f8a0241b6 100644
--- a/src/lib/ecore_evas/ecore_evas.c
+++ b/src/lib/ecore_evas/ecore_evas.c
@@ -244,7 +244,7 @@ _ecore_evas_idle_enter(void *data EINA_UNUSED)
244 { 244 {
245 if (!ee->animator_registered) 245 if (!ee->animator_registered)
246 { 246 {
247 efl_event_callback_add(ee->evas, EFL_EVENT_ANIMATOR_TICK, _ecore_evas_animator, ee); 247 efl_event_callback_add(ee->evas, EFL_CANVAS_OBJECT_EVENT_ANIMATOR_TICK, _ecore_evas_animator, ee);
248 ee->animator_registered = EINA_TRUE; 248 ee->animator_registered = EINA_TRUE;
249 } 249 }
250 } 250 }
@@ -307,7 +307,7 @@ _ecore_evas_idle_enter(void *data EINA_UNUSED)
307 307
308 if (!change) 308 if (!change)
309 { 309 {
310 efl_event_callback_del(ee->evas, EFL_EVENT_ANIMATOR_TICK, _ecore_evas_animator, ee); 310 efl_event_callback_del(ee->evas, EFL_CANVAS_OBJECT_EVENT_ANIMATOR_TICK, _ecore_evas_animator, ee);
311 ee->animator_registered = EINA_FALSE; 311 ee->animator_registered = EINA_FALSE;
312 } 312 }
313#ifdef ECORE_EVAS_ASYNC_RENDER_DEBUG 313#ifdef ECORE_EVAS_ASYNC_RENDER_DEBUG
@@ -3137,7 +3137,7 @@ ecore_evas_animator_tick(Ecore_Evas *ee, Eina_Rectangle *viewport, double loop_t
3137 ecore_loop_time_set(loop_time); 3137 ecore_loop_time_set(loop_time);
3138 3138
3139 ee->animator_ran = EINA_TRUE; 3139 ee->animator_ran = EINA_TRUE;
3140 efl_event_callback_call(ee->evas, EFL_EVENT_ANIMATOR_TICK, &a); 3140 efl_event_callback_call(ee->evas, EFL_CANVAS_OBJECT_EVENT_ANIMATOR_TICK, &a);
3141 3141
3142 if (ee->ee_anim.active) 3142 if (ee->ee_anim.active)
3143 _ecore_evas_animators_do(ee); 3143 _ecore_evas_animators_do(ee);
@@ -3330,7 +3330,7 @@ _check_animator_event_catcher_add(void *data, const Efl_Event *event)
3330 3330
3331 for (i = 0; array[i].desc != NULL; i++) 3331 for (i = 0; array[i].desc != NULL; i++)
3332 { 3332 {
3333 if (array[i].desc == EFL_EVENT_ANIMATOR_TICK) 3333 if (array[i].desc == EFL_CANVAS_OBJECT_EVENT_ANIMATOR_TICK)
3334 { 3334 {
3335 _ticking_start(ee); 3335 _ticking_start(ee);
3336 3336
@@ -3350,7 +3350,7 @@ _check_animator_event_catcher_del(void *data, const Efl_Event *event)
3350 3350
3351 for (i = 0; array[i].desc != NULL; i++) 3351 for (i = 0; array[i].desc != NULL; i++)
3352 { 3352 {
3353 if (array[i].desc == EFL_EVENT_ANIMATOR_TICK) 3353 if (array[i].desc == EFL_CANVAS_OBJECT_EVENT_ANIMATOR_TICK)
3354 { 3354 {
3355 _ticking_stop(ee); 3355 _ticking_stop(ee);
3356 return; 3356 return;
diff --git a/src/lib/edje/edje_load.c b/src/lib/edje/edje_load.c
index 6e9248c33b..360365ce91 100644
--- a/src/lib/edje/edje_load.c
+++ b/src/lib/edje/edje_load.c
@@ -2100,7 +2100,7 @@ _edje_file_del(Edje *ed)
2100 EINA_LIST_FREE(ed->actions, runp) 2100 EINA_LIST_FREE(ed->actions, runp)
2101 free(runp); 2101 free(runp);
2102 } 2102 }
2103 efl_event_callback_del(ed->obj, EFL_EVENT_ANIMATOR_TICK, _edje_timer_cb, ed); 2103 efl_event_callback_del(ed->obj, EFL_CANVAS_OBJECT_EVENT_ANIMATOR_TICK, _edje_timer_cb, ed);
2104 ecore_animator_del(ed->animator); 2104 ecore_animator_del(ed->animator);
2105 ed->animator = NULL; 2105 ed->animator = NULL;
2106 2106
diff --git a/src/lib/edje/edje_program.c b/src/lib/edje/edje_program.c
index 9d8f90f6c5..5bdb8513bf 100644
--- a/src/lib/edje/edje_program.c
+++ b/src/lib/edje/edje_program.c
@@ -397,7 +397,7 @@ _edje_program_run_cleanup(Edje *ed, Edje_Running_Program *runp)
397 ed->actions = eina_list_remove(ed->actions, runp); 397 ed->actions = eina_list_remove(ed->actions, runp);
398 if (!ed->actions) 398 if (!ed->actions)
399 { 399 {
400 efl_event_callback_del(ed->obj, EFL_EVENT_ANIMATOR_TICK, _edje_timer_cb, ed); 400 efl_event_callback_del(ed->obj, EFL_CANVAS_OBJECT_EVENT_ANIMATOR_TICK, _edje_timer_cb, ed);
401 ecore_animator_del(ed->animator); 401 ecore_animator_del(ed->animator);
402 ed->animator = NULL; 402 ed->animator = NULL;
403 } 403 }
@@ -761,7 +761,7 @@ low_mem_current:
761 if (!ed->actions) 761 if (!ed->actions)
762 { 762 {
763 if (ed->canvas_animator) 763 if (ed->canvas_animator)
764 efl_event_callback_add(ed->obj, EFL_EVENT_ANIMATOR_TICK, _edje_timer_cb, ed); 764 efl_event_callback_add(ed->obj, EFL_CANVAS_OBJECT_EVENT_ANIMATOR_TICK, _edje_timer_cb, ed);
765 else 765 else
766 ed->animator = ecore_animator_add(_edje_animator_cb, ed); 766 ed->animator = ecore_animator_add(_edje_animator_cb, ed);
767 } 767 }
diff --git a/src/lib/efl/Efl.h b/src/lib/efl/Efl.h
index 35772f8854..46fd921d3d 100644
--- a/src/lib/efl/Efl.h
+++ b/src/lib/efl/Efl.h
@@ -117,7 +117,6 @@ typedef Efl_Gfx_Path_Command_Type Efl_Gfx_Path_Command;
117#define EFL_ORIENT_270 EFL_ORIENT_LEFT 117#define EFL_ORIENT_270 EFL_ORIENT_LEFT
118 118
119/* Core interface */ 119/* Core interface */
120#include "interfaces/efl_animator.eo.h"
121#include "interfaces/efl_interpolator.eo.h" 120#include "interfaces/efl_interpolator.eo.h"
122 121
123/* Graphics */ 122/* Graphics */
diff --git a/src/lib/efl/interfaces/efl_animator.eo b/src/lib/efl/interfaces/efl_animator.eo
deleted file mode 100644
index 39f7e3ce3f..0000000000
--- a/src/lib/efl/interfaces/efl_animator.eo
+++ /dev/null
@@ -1,15 +0,0 @@
1import eina_types;
2
3struct Efl.Event_Animator_Tick {
4 [[EFL event animator tick data structure]]
5 update_area: Eina.Rect; [[Area of the canvas that will be pushed to screen.]]
6}
7
8interface @beta Efl.Animator {
9 [[Efl animator interface]]
10 eo_prefix: efl_animator;
11 event_prefix: efl;
12 events {
13 animator,tick: Efl.Event_Animator_Tick; [[Animator tick synchronized with screen vsync if possible.]]
14 }
15}
diff --git a/src/lib/efl/interfaces/efl_interfaces_main.c b/src/lib/efl/interfaces/efl_interfaces_main.c
index 6c2c495802..279bf153c4 100644
--- a/src/lib/efl/interfaces/efl_interfaces_main.c
+++ b/src/lib/efl/interfaces/efl_interfaces_main.c
@@ -58,7 +58,6 @@
58#include "interfaces/efl_pack_table.eo.c" 58#include "interfaces/efl_pack_table.eo.c"
59 59
60#include "interfaces/efl_model.eo.c" 60#include "interfaces/efl_model.eo.c"
61#include "interfaces/efl_animator.eo.c"
62#include "interfaces/efl_interpolator.eo.c" 61#include "interfaces/efl_interpolator.eo.c"
63#include "interfaces/efl_orientation.eo.c" 62#include "interfaces/efl_orientation.eo.c"
64#include "interfaces/efl_ui_i18n.eo.c" 63#include "interfaces/efl_ui_i18n.eo.c"
diff --git a/src/lib/efl/interfaces/meson.build b/src/lib/efl/interfaces/meson.build
index adf9a1300b..74839038f2 100644
--- a/src/lib/efl/interfaces/meson.build
+++ b/src/lib/efl/interfaces/meson.build
@@ -74,7 +74,6 @@ pub_eo_files = [
74 'efl_gfx_blur.eo', 74 'efl_gfx_blur.eo',
75 'efl_gfx_hint.eo', 75 'efl_gfx_hint.eo',
76 'efl_model.eo', 76 'efl_model.eo',
77 'efl_animator.eo',
78 'efl_interpolator.eo', 77 'efl_interpolator.eo',
79 'efl_orientation.eo', 78 'efl_orientation.eo',
80 'efl_container.eo', 79 'efl_container.eo',
diff --git a/src/lib/elementary/efl_ui_image_zoomable.c b/src/lib/elementary/efl_ui_image_zoomable.c
index 16876a068c..dc17dce226 100644
--- a/src/lib/elementary/efl_ui_image_zoomable.c
+++ b/src/lib/elementary/efl_ui_image_zoomable.c
@@ -825,7 +825,7 @@ _zoom_anim_cb(void *data, const Efl_Event *event EINA_UNUSED)
825 { 825 {
826 sd->no_smooth--; 826 sd->no_smooth--;
827 if (!sd->no_smooth) _smooth_update(data); 827 if (!sd->no_smooth) _smooth_update(data);
828 efl_event_callback_del(obj, EFL_EVENT_ANIMATOR_TICK, _zoom_anim_cb, obj); 828 efl_event_callback_del(obj, EFL_CANVAS_OBJECT_EVENT_ANIMATOR_TICK, _zoom_anim_cb, obj);
829 efl_event_callback_legacy_call(obj, EFL_UI_EVENT_ZOOM_STOP, NULL); 829 efl_event_callback_legacy_call(obj, EFL_UI_EVENT_ZOOM_STOP, NULL);
830 } 830 }
831} 831}
@@ -1058,7 +1058,7 @@ _bounce_eval(void *data, const Efl_Event *event EINA_UNUSED)
1058 1058
1059 efl_ui_scrollable_scroll_freeze_set(sd->smanager, EINA_FALSE); 1059 efl_ui_scrollable_scroll_freeze_set(sd->smanager, EINA_FALSE);
1060 1060
1061 efl_event_callback_del(obj, EFL_EVENT_ANIMATOR_TICK, _bounce_eval, obj); 1061 efl_event_callback_del(obj, EFL_CANVAS_OBJECT_EVENT_ANIMATOR_TICK, _bounce_eval, obj);
1062} 1062}
1063 1063
1064static void 1064static void
@@ -1066,7 +1066,7 @@ _efl_ui_image_zoomable_bounce_reset(Eo *obj, Efl_Ui_Image_Zoomable_Data *sd EINA
1066{ 1066{
1067 Eina_Bool r; 1067 Eina_Bool r;
1068 1068
1069 r = efl_event_callback_del(obj, EFL_EVENT_ANIMATOR_TICK, _bounce_eval, obj); 1069 r = efl_event_callback_del(obj, EFL_CANVAS_OBJECT_EVENT_ANIMATOR_TICK, _bounce_eval, obj);
1070 if (r) _zoom_do(obj, 1.0); 1070 if (r) _zoom_do(obj, 1.0);
1071} 1071}
1072 1072
@@ -1075,7 +1075,7 @@ _efl_ui_image_zoomable_zoom_reset(Eo *obj, Efl_Ui_Image_Zoomable_Data *sd)
1075{ 1075{
1076 Eina_Bool r; 1076 Eina_Bool r;
1077 1077
1078 r = efl_event_callback_del(obj, EFL_EVENT_ANIMATOR_TICK, _zoom_anim_cb, obj); 1078 r = efl_event_callback_del(obj, EFL_CANVAS_OBJECT_EVENT_ANIMATOR_TICK, _zoom_anim_cb, obj);
1079 if (r) 1079 if (r)
1080 { 1080 {
1081 sd->no_smooth--; 1081 sd->no_smooth--;
@@ -1275,7 +1275,7 @@ _g_layer_zoom_end_cb(void *data,
1275 sd->g_layer_zoom.bounce.t_end = t + 1275 sd->g_layer_zoom.bounce.t_end = t +
1276 _elm_config->page_scroll_friction; 1276 _elm_config->page_scroll_friction;
1277 1277
1278 efl_event_callback_add(obj, EFL_EVENT_ANIMATOR_TICK, _bounce_eval, obj); 1278 efl_event_callback_add(obj, EFL_CANVAS_OBJECT_EVENT_ANIMATOR_TICK, _bounce_eval, obj);
1279 } 1279 }
1280 else 1280 else
1281 { 1281 {
@@ -1927,8 +1927,8 @@ _efl_ui_image_zoomable_efl_canvas_group_group_del(Eo *obj, Efl_Ui_Image_Zoomable
1927 ecore_job_del(sd->calc_job); 1927 ecore_job_del(sd->calc_job);
1928 ecore_timer_del(sd->scr_timer); 1928 ecore_timer_del(sd->scr_timer);
1929 ecore_timer_del(sd->long_timer); 1929 ecore_timer_del(sd->long_timer);
1930 efl_event_callback_del(obj, EFL_EVENT_ANIMATOR_TICK, _zoom_anim_cb, obj); 1930 efl_event_callback_del(obj, EFL_CANVAS_OBJECT_EVENT_ANIMATOR_TICK, _zoom_anim_cb, obj);
1931 efl_event_callback_del(obj, EFL_EVENT_ANIMATOR_TICK, _bounce_eval, obj); 1931 efl_event_callback_del(obj, EFL_CANVAS_OBJECT_EVENT_ANIMATOR_TICK, _bounce_eval, obj);
1932 efl_event_callback_del(obj, EFL_UI_EVENT_SCROLL, _scroll_cb, obj); 1932 efl_event_callback_del(obj, EFL_UI_EVENT_SCROLL, _scroll_cb, obj);
1933 1933
1934 _efl_ui_image_zoomable_edje_object_detach(obj); 1934 _efl_ui_image_zoomable_edje_object_detach(obj);
@@ -2607,8 +2607,8 @@ done:
2607 } 2607 }
2608 else 2608 else
2609 { 2609 {
2610 an = efl_event_callback_del(obj, EFL_EVENT_ANIMATOR_TICK, _zoom_anim_cb, obj); 2610 an = efl_event_callback_del(obj, EFL_CANVAS_OBJECT_EVENT_ANIMATOR_TICK, _zoom_anim_cb, obj);
2611 efl_event_callback_add(obj, EFL_EVENT_ANIMATOR_TICK, _zoom_anim_cb, obj); 2611 efl_event_callback_add(obj, EFL_CANVAS_OBJECT_EVENT_ANIMATOR_TICK, _zoom_anim_cb, obj);
2612 if (!an) 2612 if (!an)
2613 { 2613 {
2614 sd->no_smooth++; 2614 sd->no_smooth++;
diff --git a/src/lib/elementary/efl_ui_pager.c b/src/lib/elementary/efl_ui_pager.c
index c912125033..419ef7de69 100644
--- a/src/lib/elementary/efl_ui_pager.c
+++ b/src/lib/elementary/efl_ui_pager.c
@@ -109,7 +109,7 @@ _page_set_animation(void *data, const Efl_Event *event)
109 _efl_ui_pager_update(pd); 109 _efl_ui_pager_update(pd);
110 110
111 if (EINA_DBL_EQ(p, 1.0)) 111 if (EINA_DBL_EQ(p, 1.0))
112 efl_event_callback_del(event->object, EFL_EVENT_ANIMATOR_TICK, 112 efl_event_callback_del(event->object, EFL_CANVAS_OBJECT_EVENT_ANIMATOR_TICK,
113 _page_set_animation, pd); 113 _page_set_animation, pd);
114} 114}
115 115
@@ -153,7 +153,7 @@ _mouse_up_animation(void *data, const Efl_Event *event)
153 _efl_ui_pager_update(pd); 153 _efl_ui_pager_update(pd);
154 154
155 if (EINA_DBL_EQ(p, 1.0)) 155 if (EINA_DBL_EQ(p, 1.0))
156 efl_event_callback_del(event->object, EFL_EVENT_ANIMATOR_TICK, 156 efl_event_callback_del(event->object, EFL_CANVAS_OBJECT_EVENT_ANIMATOR_TICK,
157 _mouse_up_animation, pd); 157 _mouse_up_animation, pd);
158} 158}
159 159
@@ -169,8 +169,8 @@ _mouse_down_cb(void *data,
169 if (efl_input_pointer_button_get(ev) != 1) return; 169 if (efl_input_pointer_button_get(ev) != 1) return;
170 if (efl_input_event_flags_get(ev) & EFL_INPUT_FLAGS_PROCESSED) return; 170 if (efl_input_event_flags_get(ev) & EFL_INPUT_FLAGS_PROCESSED) return;
171 171
172 efl_event_callback_del(obj, EFL_EVENT_ANIMATOR_TICK, _mouse_up_animation, pd); 172 efl_event_callback_del(obj, EFL_CANVAS_OBJECT_EVENT_ANIMATOR_TICK, _mouse_up_animation, pd);
173 efl_event_callback_del(obj, EFL_EVENT_ANIMATOR_TICK, _page_set_animation, pd); 173 efl_event_callback_del(obj, EFL_CANVAS_OBJECT_EVENT_ANIMATOR_TICK, _page_set_animation, pd);
174 174
175 pd->move_started = EINA_FALSE; 175 pd->move_started = EINA_FALSE;
176 176
@@ -241,7 +241,7 @@ _mouse_up_cb(void *data,
241 241
242 pd->mouse_up_time = ecore_loop_time_get(); 242 pd->mouse_up_time = ecore_loop_time_get();
243 243
244 efl_event_callback_add(obj, EFL_EVENT_ANIMATOR_TICK, _mouse_up_animation, pd); 244 efl_event_callback_add(obj, EFL_CANVAS_OBJECT_EVENT_ANIMATOR_TICK, _mouse_up_animation, pd);
245} 245}
246 246
247//FIXME sub_object_parent_add? destruction 247//FIXME sub_object_parent_add? destruction
@@ -551,8 +551,8 @@ _efl_ui_pager_current_page_set(Eo *obj,
551{ 551{
552 if (index == pd->curr.page) return; 552 if (index == pd->curr.page) return;
553 553
554 efl_event_callback_del(obj, EFL_EVENT_ANIMATOR_TICK, _mouse_up_animation, pd); 554 efl_event_callback_del(obj, EFL_CANVAS_OBJECT_EVENT_ANIMATOR_TICK, _mouse_up_animation, pd);
555 efl_event_callback_del(obj, EFL_EVENT_ANIMATOR_TICK, _page_set_animation, pd); 555 efl_event_callback_del(obj, EFL_CANVAS_OBJECT_EVENT_ANIMATOR_TICK, _page_set_animation, pd);
556 556
557 if ((index < 0) || (index > (pd->cnt - 1))) 557 if ((index < 0) || (index > (pd->cnt - 1)))
558 { 558 {
@@ -584,7 +584,7 @@ _efl_ui_pager_current_page_set(Eo *obj,
584 if (pd->change.delta == 0) return; 584 if (pd->change.delta == 0) return;
585 585
586 pd->change.start_time = ecore_loop_time_get(); 586 pd->change.start_time = ecore_loop_time_get();
587 efl_event_callback_add(obj, EFL_EVENT_ANIMATOR_TICK, _page_set_animation, pd); 587 efl_event_callback_add(obj, EFL_CANVAS_OBJECT_EVENT_ANIMATOR_TICK, _page_set_animation, pd);
588} 588}
589 589
590EOLIAN static int 590EOLIAN static int
diff --git a/src/lib/elementary/efl_ui_scroll_manager.c b/src/lib/elementary/efl_ui_scroll_manager.c
index 866b79e11c..522b623309 100644
--- a/src/lib/elementary/efl_ui_scroll_manager.c
+++ b/src/lib/elementary/efl_ui_scroll_manager.c
@@ -13,12 +13,12 @@
13#define MY_CLASS_NAME "Efl.Ui.Scroll.Manager" 13#define MY_CLASS_NAME "Efl.Ui.Scroll.Manager"
14 14
15#define ELM_ANIMATOR_CONNECT(Obj, Bool, Callback, Data) \ 15#define ELM_ANIMATOR_CONNECT(Obj, Bool, Callback, Data) \
16 efl_event_callback_del(Obj, EFL_EVENT_ANIMATOR_TICK, Callback, Data); \ 16 efl_event_callback_del(Obj, EFL_CANVAS_OBJECT_EVENT_ANIMATOR_TICK, Callback, Data); \
17 efl_event_callback_add(Obj, EFL_EVENT_ANIMATOR_TICK, Callback, Data); \ 17 efl_event_callback_add(Obj, EFL_CANVAS_OBJECT_EVENT_ANIMATOR_TICK, Callback, Data); \
18 Bool = 1; 18 Bool = 1;
19 19
20#define ELM_ANIMATOR_DISCONNECT(Obj, Bool, Callback, Data) \ 20#define ELM_ANIMATOR_DISCONNECT(Obj, Bool, Callback, Data) \
21 efl_event_callback_del(Obj, EFL_EVENT_ANIMATOR_TICK, Callback, Data); \ 21 efl_event_callback_del(Obj, EFL_CANVAS_OBJECT_EVENT_ANIMATOR_TICK, Callback, Data); \
22 Bool = 0; 22 Bool = 0;
23 23
24 24
diff --git a/src/lib/elementary/elc_naviframe.c b/src/lib/elementary/elc_naviframe.c
index 7e757a44c2..23dca67780 100644
--- a/src/lib/elementary/elc_naviframe.c
+++ b/src/lib/elementary/elc_naviframe.c
@@ -1439,7 +1439,7 @@ _deferred(void *data, const Efl_Event *event EINA_UNUSED)
1439 free(nfo); 1439 free(nfo);
1440 } 1440 }
1441 1441
1442 efl_event_callback_del(nfd->obj, EFL_EVENT_ANIMATOR_TICK, _deferred, nfd); 1442 efl_event_callback_del(nfd->obj, EFL_CANVAS_OBJECT_EVENT_ANIMATOR_TICK, _deferred, nfd);
1443} 1443}
1444 1444
1445EOLIAN static void 1445EOLIAN static void
@@ -1534,7 +1534,7 @@ static void
1534_schedule_deferred(Elm_Naviframe_Op *nfo, Elm_Naviframe_Data *sd) 1534_schedule_deferred(Elm_Naviframe_Op *nfo, Elm_Naviframe_Data *sd)
1535{ 1535{
1536 if (!sd->ops) 1536 if (!sd->ops)
1537 efl_event_callback_add(sd->obj, EFL_EVENT_ANIMATOR_TICK, _deferred, sd); 1537 efl_event_callback_add(sd->obj, EFL_CANVAS_OBJECT_EVENT_ANIMATOR_TICK, _deferred, sd);
1538 1538
1539 sd->ops = eina_list_append(sd->ops, nfo); 1539 sd->ops = eina_list_append(sd->ops, nfo);
1540} 1540}
diff --git a/src/lib/elementary/elm_genlist.c b/src/lib/elementary/elm_genlist.c
index 76d168c195..2a7e3e89fb 100644
--- a/src/lib/elementary/elm_genlist.c
+++ b/src/lib/elementary/elm_genlist.c
@@ -2577,7 +2577,7 @@ _elm_genlist_tree_effect_setup(Elm_Genlist_Data *sd)
2577 evas_object_stack_below(sd->event_block_rect, sd->stack[1]); 2577 evas_object_stack_below(sd->event_block_rect, sd->stack[1]);
2578 evas_object_show(sd->event_block_rect); 2578 evas_object_show(sd->event_block_rect);
2579 sd->start_time = ecore_time_get(); 2579 sd->start_time = ecore_time_get();
2580 efl_event_callback_add(sd->obj, EFL_EVENT_ANIMATOR_TICK, _tree_effect_animator_cb, sd->obj); 2580 efl_event_callback_add(sd->obj, EFL_CANVAS_OBJECT_EVENT_ANIMATOR_TICK, _tree_effect_animator_cb, sd->obj);
2581 sd->tree_effect_animator = 1; 2581 sd->tree_effect_animator = 1;
2582 return EINA_TRUE; 2582 return EINA_TRUE;
2583 } 2583 }
@@ -2590,7 +2590,7 @@ _elm_genlist_tree_effect_stop(Elm_Genlist_Data *sd)
2590 if (sd->tree_effect_animator) 2590 if (sd->tree_effect_animator)
2591 { 2591 {
2592 sd->tree_effect_animator = 0; 2592 sd->tree_effect_animator = 0;
2593 efl_event_callback_del(sd->obj, EFL_EVENT_ANIMATOR_TICK, _tree_effect_animator_cb, sd->obj); 2593 efl_event_callback_del(sd->obj, EFL_CANVAS_OBJECT_EVENT_ANIMATOR_TICK, _tree_effect_animator_cb, sd->obj);
2594 } 2594 }
2595} 2595}
2596 2596
diff --git a/src/lib/elementary/elm_interface_scrollable.c b/src/lib/elementary/elm_interface_scrollable.c
index ccd0df348d..e23cc5a4e6 100644
--- a/src/lib/elementary/elm_interface_scrollable.c
+++ b/src/lib/elementary/elm_interface_scrollable.c
@@ -33,12 +33,12 @@
33 } 33 }
34 34
35#define ELM_ANIMATOR_CONNECT(Obj, Bool, Callback, Data) \ 35#define ELM_ANIMATOR_CONNECT(Obj, Bool, Callback, Data) \
36 efl_event_callback_del(Obj, EFL_EVENT_ANIMATOR_TICK, Callback, Data); \ 36 efl_event_callback_del(Obj, EFL_CANVAS_OBJECT_EVENT_ANIMATOR_TICK, Callback, Data); \
37 efl_event_callback_add(Obj, EFL_EVENT_ANIMATOR_TICK, Callback, Data); \ 37 efl_event_callback_add(Obj, EFL_CANVAS_OBJECT_EVENT_ANIMATOR_TICK, Callback, Data); \
38 Bool = 1; 38 Bool = 1;
39 39
40#define ELM_ANIMATOR_DISCONNECT(Obj, Bool, Callback, Data) \ 40#define ELM_ANIMATOR_DISCONNECT(Obj, Bool, Callback, Data) \
41 efl_event_callback_del(Obj, EFL_EVENT_ANIMATOR_TICK, Callback, Data); \ 41 efl_event_callback_del(Obj, EFL_CANVAS_OBJECT_EVENT_ANIMATOR_TICK, Callback, Data); \
42 Bool = 0; 42 Bool = 0;
43 43
44#ifndef CLAMP 44#ifndef CLAMP
diff --git a/src/lib/elementary/elm_map.c b/src/lib/elementary/elm_map.c
index 5f1dfec0bf..92f722f18b 100644
--- a/src/lib/elementary/elm_map.c
+++ b/src/lib/elementary/elm_map.c
@@ -1214,9 +1214,9 @@ _zoom_animator_set(Elm_Map_Data *sd,
1214 Eina_Bool r = EINA_FALSE; 1214 Eina_Bool r = EINA_FALSE;
1215 1215
1216 sd->zoom_animator = !!callback; 1216 sd->zoom_animator = !!callback;
1217 r = efl_event_callback_del(sd->obj, EFL_EVENT_ANIMATOR_TICK, _zoom_anim_cb, sd->obj); 1217 r = efl_event_callback_del(sd->obj, EFL_CANVAS_OBJECT_EVENT_ANIMATOR_TICK, _zoom_anim_cb, sd->obj);
1218 r |= efl_event_callback_del(sd->obj, EFL_EVENT_ANIMATOR_TICK, _zoom_bring_anim_cb, sd->obj); 1218 r |= efl_event_callback_del(sd->obj, EFL_CANVAS_OBJECT_EVENT_ANIMATOR_TICK, _zoom_bring_anim_cb, sd->obj);
1219 if (callback) efl_event_callback_add(sd->obj, EFL_EVENT_ANIMATOR_TICK, callback, sd->obj); 1219 if (callback) efl_event_callback_add(sd->obj, EFL_CANVAS_OBJECT_EVENT_ANIMATOR_TICK, callback, sd->obj);
1220 1220
1221 return r; 1221 return r;
1222} 1222}
diff --git a/src/lib/evas/canvas/efl_canvas_object.eo b/src/lib/evas/canvas/efl_canvas_object.eo
index 385f67d6c2..75f304a42b 100644
--- a/src/lib/evas/canvas/efl_canvas_object.eo
+++ b/src/lib/evas/canvas/efl_canvas_object.eo
@@ -1,8 +1,12 @@
1import efl_text_types; 1import efl_text_types;
2 2
3struct Efl.Canvas.Object_Animation_Event; [[Information of animation events]] 3struct Efl.Canvas.Object_Animation_Event; [[Information of animation events]]
4struct Efl.Event_Animator_Tick {
5 [[EFL event animator tick data structure]]
6 update_area: Eina.Rect; [[Area of the canvas that will be pushed to screen.]]
7}
4 8
5abstract @beta Efl.Canvas.Object extends Efl.Loop_Consumer implements Efl.Gfx.Entity, Efl.Gfx.Color, Efl.Gfx.Stack, Efl.Animator, 9abstract @beta Efl.Canvas.Object extends Efl.Loop_Consumer implements Efl.Gfx.Entity, Efl.Gfx.Color, Efl.Gfx.Stack,
6 Efl.Input.Interface, Efl.Gfx.Hint, 10 Efl.Input.Interface, Efl.Gfx.Hint,
7 Efl.Gfx.Mapping, Efl.Ui.I18n, Efl.Canvas.Pointer 11 Efl.Gfx.Mapping, Efl.Ui.I18n, Efl.Canvas.Pointer
8{ 12{
@@ -618,5 +622,6 @@ abstract @beta Efl.Canvas.Object extends Efl.Loop_Consumer implements Efl.Gfx.En
618 anim_started: Efl.Canvas.Object_Animation_Event; [[Animation is started.]] 622 anim_started: Efl.Canvas.Object_Animation_Event; [[Animation is started.]]
619 anim_running: Efl.Canvas.Object_Animation_Event; [[Animation is running.]] 623 anim_running: Efl.Canvas.Object_Animation_Event; [[Animation is running.]]
620 anim_ended: Efl.Canvas.Object_Animation_Event; [[Animation is ended.]] 624 anim_ended: Efl.Canvas.Object_Animation_Event; [[Animation is ended.]]
625 animator,tick: Efl.Event_Animator_Tick; [[Animator tick synchronized with screen vsync if possible.]]
621 } 626 }
622} 627}
diff --git a/src/lib/evas/canvas/evas_callbacks.c b/src/lib/evas/canvas/evas_callbacks.c
index 710bedda5e..7060437970 100644
--- a/src/lib/evas/canvas/evas_callbacks.c
+++ b/src/lib/evas/canvas/evas_callbacks.c
@@ -780,7 +780,7 @@ _animator_repeater(void *data, const Efl_Event *event)
780{ 780{
781 Evas_Object_Protected_Data *obj = data; 781 Evas_Object_Protected_Data *obj = data;
782 782
783 efl_event_callback_legacy_call(obj->object, EFL_EVENT_ANIMATOR_TICK, event->info); 783 efl_event_callback_legacy_call(obj->object, EFL_CANVAS_OBJECT_EVENT_ANIMATOR_TICK, event->info);
784 DBG("Emitting animator tick on %p.", obj->object); 784 DBG("Emitting animator tick on %p.", obj->object);
785} 785}
786 786
@@ -803,11 +803,11 @@ _check_event_catcher_add(void *data, const Efl_Event *event)
803 _efl_canvas_gesture_manager_callback_add_hook(gd, obj->object, array[i].desc); 803 _efl_canvas_gesture_manager_callback_add_hook(gd, obj->object, array[i].desc);
804 } 804 }
805 805
806 if (array[i].desc == EFL_EVENT_ANIMATOR_TICK) 806 if (array[i].desc == EFL_CANVAS_OBJECT_EVENT_ANIMATOR_TICK)
807 { 807 {
808 if (obj->animator_ref++ > 0) break; 808 if (obj->animator_ref++ > 0) break;
809 809
810 efl_event_callback_add(obj->layer->evas->evas, EFL_EVENT_ANIMATOR_TICK, _animator_repeater, obj); 810 efl_event_callback_add(obj->layer->evas->evas, EFL_CANVAS_OBJECT_EVENT_ANIMATOR_TICK, _animator_repeater, obj);
811 DBG("Registering an animator tick on canvas %p for object %p.", 811 DBG("Registering an animator tick on canvas %p for object %p.",
812 obj->layer->evas->evas, obj->object); 812 obj->layer->evas->evas, obj->object);
813 } 813 }
@@ -840,11 +840,11 @@ _check_event_catcher_del(void *data, const Efl_Event *event)
840 _efl_canvas_gesture_manager_callback_del_hook(gd, obj->object, array[i].desc); 840 _efl_canvas_gesture_manager_callback_del_hook(gd, obj->object, array[i].desc);
841 } 841 }
842 842
843 if (array[i].desc == EFL_EVENT_ANIMATOR_TICK) 843 if (array[i].desc == EFL_CANVAS_OBJECT_EVENT_ANIMATOR_TICK)
844 { 844 {
845 if ((--obj->animator_ref) > 0) break; 845 if ((--obj->animator_ref) > 0) break;
846 846
847 efl_event_callback_del(obj->layer->evas->evas, EFL_EVENT_ANIMATOR_TICK, _animator_repeater, obj); 847 efl_event_callback_del(obj->layer->evas->evas, EFL_CANVAS_OBJECT_EVENT_ANIMATOR_TICK, _animator_repeater, obj);
848 DBG("Unregistering an animator tick on canvas %p for object %p.", 848 DBG("Unregistering an animator tick on canvas %p for object %p.",
849 obj->layer->evas->evas, obj->object); 849 obj->layer->evas->evas, obj->object);
850 } 850 }
diff --git a/src/lib/evas/canvas/evas_canvas.eo b/src/lib/evas/canvas/evas_canvas.eo
index 2e00988508..cd1771a1e0 100644
--- a/src/lib/evas/canvas/evas_canvas.eo
+++ b/src/lib/evas/canvas/evas_canvas.eo
@@ -1,6 +1,6 @@
1import efl_input_types; 1import efl_input_types;
2 2
3class Evas.Canvas extends Efl.Loop_Consumer implements Efl.Canvas.Scene, Efl.Animator, Efl.Input.Interface, 3class Evas.Canvas extends Efl.Loop_Consumer implements Efl.Canvas.Scene, Efl.Input.Interface,
4 Efl.Canvas.Pointer 4 Efl.Canvas.Pointer
5{ 5{
6 [[Evas canvas class]] 6 [[Evas canvas class]]