derekf pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=aa8d9c1829f65c4fe0bb79a73e49f56c0aa2b92f
commit aa8d9c1829f65c4fe0bb79a73e49f56c0aa2b92f Author: Derek Foreman <[email protected]> Date: Wed Jul 12 16:29:17 2017 -0500 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 --- src/lib/ecore_evas/ecore_evas_private.h | 2 ++ src/modules/ecore_evas/engines/cocoa/ecore_evas_cocoa.c | 1 + src/modules/ecore_evas/engines/drm/ecore_evas_drm.c | 1 + src/modules/ecore_evas/engines/extn/ecore_evas_extn.c | 1 + src/modules/ecore_evas/engines/fb/ecore_evas_fb.c | 1 + src/modules/ecore_evas/engines/psl1ght/ecore_evas_psl1ght.c | 1 + src/modules/ecore_evas/engines/sdl/ecore_evas_sdl.c | 1 + src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_common.c | 1 + src/modules/ecore_evas/engines/win32/ecore_evas_win32.c | 1 + src/modules/ecore_evas/engines/x/ecore_evas_x.c | 1 + 10 files changed, 11 insertions(+) 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 }; /* --
