summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJean-Philippe Andre <jp.andre@samsung.com>2016-07-29 17:30:25 +0900
committerJean-Philippe Andre <jp.andre@samsung.com>2016-08-01 10:29:24 +0900
commit58c380823181ea75bc9969dc3dfe017d64b9b508 (patch)
tree03d965761fb9ce9e4c05efa7da32508aa7ab1108
parentb3293408a4a02ad08727d4ac134795caaf4ef6ca (diff)
ecore_evas: Register animators for inline image ee
In ecore_evas_object_image_new, register animator tick del/add catchers, so that animators can work. This fixes mouse scroll in an inline window.
-rw-r--r--src/lib/ecore_evas/ecore_evas.c8
-rw-r--r--src/lib/ecore_evas/ecore_evas_buffer.c2
-rw-r--r--src/lib/ecore_evas/ecore_evas_private.h1
3 files changed, 10 insertions, 1 deletions
diff --git a/src/lib/ecore_evas/ecore_evas.c b/src/lib/ecore_evas/ecore_evas.c
index 1a6bed5981..5c6bf83129 100644
--- a/src/lib/ecore_evas/ecore_evas.c
+++ b/src/lib/ecore_evas/ecore_evas.c
@@ -3232,13 +3232,19 @@ EO_CALLBACKS_ARRAY_DEFINE(animator_watch,
3232 { EO_EVENT_CALLBACK_DEL, _check_animator_event_catcher_del }); 3232 { EO_EVENT_CALLBACK_DEL, _check_animator_event_catcher_del });
3233 3233
3234EAPI void 3234EAPI void
3235_ecore_evas_register_animators(Ecore_Evas *ee)
3236{
3237 eo_event_callback_array_add(ee->evas, animator_watch(), ee);
3238}
3239
3240EAPI void
3235_ecore_evas_register(Ecore_Evas *ee) 3241_ecore_evas_register(Ecore_Evas *ee)
3236{ 3242{
3237 ee->registered = 1; 3243 ee->registered = 1;
3238 ecore_evases = (Ecore_Evas *)eina_inlist_prepend 3244 ecore_evases = (Ecore_Evas *)eina_inlist_prepend
3239 (EINA_INLIST_GET(ecore_evases), EINA_INLIST_GET(ee)); 3245 (EINA_INLIST_GET(ecore_evases), EINA_INLIST_GET(ee));
3240 3246
3241 eo_event_callback_array_add(ee->evas, animator_watch(), ee); 3247 _ecore_evas_register_animators(ee);
3242 3248
3243 if (_ecore_evas_render_sync) ecore_evas_first = EINA_TRUE; 3249 if (_ecore_evas_render_sync) ecore_evas_first = EINA_TRUE;
3244} 3250}
diff --git a/src/lib/ecore_evas/ecore_evas_buffer.c b/src/lib/ecore_evas/ecore_evas_buffer.c
index be87234491..795f5b77fc 100644
--- a/src/lib/ecore_evas/ecore_evas_buffer.c
+++ b/src/lib/ecore_evas/ecore_evas_buffer.c
@@ -910,6 +910,8 @@ ecore_evas_object_image_new(Ecore_Evas *ee_target)
910 evas_key_lock_add(ee->evas, "Num_Lock"); 910 evas_key_lock_add(ee->evas, "Num_Lock");
911 evas_key_lock_add(ee->evas, "Scroll_Lock"); 911 evas_key_lock_add(ee->evas, "Scroll_Lock");
912 912
913 _ecore_evas_register_animators(ee);
914
913 ee_target->sub_ecore_evas = eina_list_append(ee_target->sub_ecore_evas, ee); 915 ee_target->sub_ecore_evas = eina_list_append(ee_target->sub_ecore_evas, ee);
914 916
915 return o; 917 return o;
diff --git a/src/lib/ecore_evas/ecore_evas_private.h b/src/lib/ecore_evas/ecore_evas_private.h
index fea4792aa0..4eaa3696b7 100644
--- a/src/lib/ecore_evas/ecore_evas_private.h
+++ b/src/lib/ecore_evas/ecore_evas_private.h
@@ -361,6 +361,7 @@ EAPI void _ecore_evas_fps_debug_init(void);
361EAPI void _ecore_evas_fps_debug_shutdown(void); 361EAPI void _ecore_evas_fps_debug_shutdown(void);
362EAPI void _ecore_evas_fps_debug_rendertime_add(double t); 362EAPI void _ecore_evas_fps_debug_rendertime_add(double t);
363EAPI void _ecore_evas_register(Ecore_Evas *ee); 363EAPI void _ecore_evas_register(Ecore_Evas *ee);
364EAPI void _ecore_evas_register_animators(Ecore_Evas *ee);
364EAPI void _ecore_evas_free(Ecore_Evas *ee); 365EAPI void _ecore_evas_free(Ecore_Evas *ee);
365EAPI void _ecore_evas_idle_timeout_update(Ecore_Evas *ee); 366EAPI void _ecore_evas_idle_timeout_update(Ecore_Evas *ee);
366EAPI void _ecore_evas_mouse_move_process(Ecore_Evas *ee, int x, int y, unsigned int timestamp); 367EAPI void _ecore_evas_mouse_move_process(Ecore_Evas *ee, int x, int y, unsigned int timestamp);