diff options
author | Derek Foreman <derekf@osg.samsung.com> | 2017-07-12 16:29:17 -0500 |
---|---|---|
committer | Derek Foreman <derekf@osg.samsung.com> | 2017-07-13 18:07:42 -0500 |
commit | aa8d9c1829f65c4fe0bb79a73e49f56c0aa2b92f (patch) | |
tree | 6c0bbe8fa5cb3bc7d382b190ed2227ddd98d6ebe | |
parent | 20def4da21e9fcea3d6ab910493b529ab371e3f4 (diff) | |
download | efl-aa8d9c1829f65c4fe0bb79a73e49f56c0aa2b92f.tar.gz |
ecore_evas: Add a function pointer for last_tick_get
Engines that provide their own tickers may need to be able to provide the
time of the last tick even if they weren't sending ticks to EFL at the
time.
This is a feature added during freeze as it's necessary to resolve a bug.
ref T5462
10 files changed, 11 insertions, 0 deletions
diff --git a/src/lib/ecore_evas/ecore_evas_private.h b/src/lib/ecore_evas/ecore_evas_private.h index 2beabab84c..b808cb2fed 100644 --- a/src/lib/ecore_evas/ecore_evas_private.h +++ b/src/lib/ecore_evas/ecore_evas_private.h @@ -169,6 +169,8 @@ struct _Ecore_Evas_Engine_Func void (*fn_pointer_device_xy_get)(const Ecore_Evas *ee, const Efl_Input_Device *pointer, Evas_Coord *x, Evas_Coord *y); Eina_Bool (*fn_prepare)(Ecore_Evas *ee); + + double (*fn_last_tick_get)(Ecore_Evas *ee); }; struct _Ecore_Evas_Interface diff --git a/src/modules/ecore_evas/engines/cocoa/ecore_evas_cocoa.c b/src/modules/ecore_evas/engines/cocoa/ecore_evas_cocoa.c index 41f06fce3f..75ba1da62c 100644 --- a/src/modules/ecore_evas/engines/cocoa/ecore_evas_cocoa.c +++ b/src/modules/ecore_evas/engines/cocoa/ecore_evas_cocoa.c @@ -509,6 +509,7 @@ static Ecore_Evas_Engine_Func _ecore_cocoa_engine_func = NULL, //fn_callback_device_mouse_out_set NULL, //fn_pointer_device_xy_get NULL, //fn_prepare + NULL, //fn_last_tick_get }; static Ecore_Cocoa_Window * diff --git a/src/modules/ecore_evas/engines/drm/ecore_evas_drm.c b/src/modules/ecore_evas/engines/drm/ecore_evas_drm.c index 4f004cecf6..96d0c27656 100644 --- a/src/modules/ecore_evas/engines/drm/ecore_evas_drm.c +++ b/src/modules/ecore_evas/engines/drm/ecore_evas_drm.c @@ -760,6 +760,7 @@ static Ecore_Evas_Engine_Func _ecore_evas_drm_engine_func = NULL, //fn_callback_device_mouse_out_set NULL, //fn_pointer_device_xy_get NULL, //fn_prepare + NULL, //fn_last_tick_get }; static Ecore_Evas * diff --git a/src/modules/ecore_evas/engines/extn/ecore_evas_extn.c b/src/modules/ecore_evas/engines/extn/ecore_evas_extn.c index 299dd48e55..e75d6cec46 100644 --- a/src/modules/ecore_evas/engines/extn/ecore_evas_extn.c +++ b/src/modules/ecore_evas/engines/extn/ecore_evas_extn.c @@ -927,6 +927,7 @@ static const Ecore_Evas_Engine_Func _ecore_extn_plug_engine_func = NULL, //fn_callback_device_mouse_out_set NULL, //fn_pointer_device_xy_get NULL, //fn_prepare + NULL, //fn_last_tick_get }; static Eina_Bool diff --git a/src/modules/ecore_evas/engines/fb/ecore_evas_fb.c b/src/modules/ecore_evas/engines/fb/ecore_evas_fb.c index 4aea2240cd..7dd2ddc618 100644 --- a/src/modules/ecore_evas/engines/fb/ecore_evas_fb.c +++ b/src/modules/ecore_evas/engines/fb/ecore_evas_fb.c @@ -562,6 +562,7 @@ static Ecore_Evas_Engine_Func _ecore_fb_engine_func = NULL, //fn_callback_device_mouse_out_set NULL, //fn_pointer_device_xy_get NULL, //fn_prepare + NULL, //fn_last_tick_get }; EAPI Ecore_Evas * diff --git a/src/modules/ecore_evas/engines/psl1ght/ecore_evas_psl1ght.c b/src/modules/ecore_evas/engines/psl1ght/ecore_evas_psl1ght.c index 239dbde254..0ad3b87cd3 100644 --- a/src/modules/ecore_evas/engines/psl1ght/ecore_evas_psl1ght.c +++ b/src/modules/ecore_evas/engines/psl1ght/ecore_evas_psl1ght.c @@ -369,6 +369,7 @@ static Ecore_Evas_Engine_Func _ecore_psl1ght_engine_func = NULL, //fn_callback_device_mouse_out_set NULL, //fn_pointer_device_xy_get NULL, //fn_prepare + NULL, //fn_last_tick_get }; EAPI Ecore_Evas * diff --git a/src/modules/ecore_evas/engines/sdl/ecore_evas_sdl.c b/src/modules/ecore_evas/engines/sdl/ecore_evas_sdl.c index 3669ef7d0c..56b789dd3c 100644 --- a/src/modules/ecore_evas/engines/sdl/ecore_evas_sdl.c +++ b/src/modules/ecore_evas/engines/sdl/ecore_evas_sdl.c @@ -454,6 +454,7 @@ static Ecore_Evas_Engine_Func _ecore_sdl_engine_func = NULL, //fn_callback_device_mouse_out_set NULL, //fn_pointer_device_xy_get NULL, //fn_prepare + NULL, //fn_last_tick_get }; static Ecore_Evas* diff --git a/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_common.c b/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_common.c index 16a6c98876..3946f5e4ef 100644 --- a/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_common.c +++ b/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_common.c @@ -2212,6 +2212,7 @@ static Ecore_Evas_Engine_Func _ecore_wl_engine_func = NULL, //fn_callback_device_mouse_out_set _ecore_evas_wl_common_pointer_device_xy_get, _ecore_evas_wl_common_prepare, + NULL, //fn_last_tick_get }; Ecore_Evas * diff --git a/src/modules/ecore_evas/engines/win32/ecore_evas_win32.c b/src/modules/ecore_evas/engines/win32/ecore_evas_win32.c index 44717e1c24..3b87959b1a 100644 --- a/src/modules/ecore_evas/engines/win32/ecore_evas_win32.c +++ b/src/modules/ecore_evas/engines/win32/ecore_evas_win32.c @@ -1281,6 +1281,7 @@ static Ecore_Evas_Engine_Func _ecore_win32_engine_func = NULL, //fn_callback_device_mouse_out_set NULL, //fn_pointer_device_xy_get NULL, //fn_prepare + NULL, //fn_last_tick_get }; #endif /* BUILD_ECORE_EVAS_WIN32 */ diff --git a/src/modules/ecore_evas/engines/x/ecore_evas_x.c b/src/modules/ecore_evas/engines/x/ecore_evas_x.c index 5a08aa853d..542b3f82e9 100644 --- a/src/modules/ecore_evas/engines/x/ecore_evas_x.c +++ b/src/modules/ecore_evas/engines/x/ecore_evas_x.c @@ -3758,6 +3758,7 @@ static Ecore_Evas_Engine_Func _ecore_x_engine_func = NULL, //fn_callback_device_mouse_out_set NULL, //fn_pointer_device_xy_get NULL, //fn_prepare + NULL, //fn_last_tick_get }; /* |