diff options
author | Eugen Friedrich <efriedrich@de.adit-jv.com> | 2023-04-28 09:15:24 +0200 |
---|---|---|
committer | Eugen Friedrich <efriedrich@de.adit-jv.com> | 2023-04-28 09:15:24 +0200 |
commit | 6405590f6a8786b986e1cf153e369bc3791f067a (patch) | |
tree | be399ddd26f01fe938e723c1fe4a891f49178fd5 /ivi-layermanagement-api/ilmControl/include/ilm_control.h | |
parent | e8cef46a8339e3f930a5bd436a3807ffa8889d4f (diff) | |
parent | d65adaebc70cd36da3878c44980fcd99d24c9b6c (diff) | |
download | wayland-ivi-extension-6405590f6a8786b986e1cf153e369bc3791f067a.tar.gz |
Merge remote-tracking branch 'upstream/pull/149'
* upstream/pull/149
tests: create tests for new screenshot functions with callbacks
ilmControl: Extend screenshot API with callback support
Reviewed-by: Eugen Friedrich <efriedrich@de.adit-jv.com>
Reviewed-by: Harsha M M <harsha.manjulamallikarjun@in.bosch.com>
Tested-by: Doan Ngoc Au <au.doanngoc@vn.bosch.com>
Diffstat (limited to 'ivi-layermanagement-api/ilmControl/include/ilm_control.h')
-rw-r--r-- | ivi-layermanagement-api/ilmControl/include/ilm_control.h | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/ivi-layermanagement-api/ilmControl/include/ilm_control.h b/ivi-layermanagement-api/ilmControl/include/ilm_control.h index 71e4968..c67152a 100644 --- a/ivi-layermanagement-api/ilmControl/include/ilm_control.h +++ b/ivi-layermanagement-api/ilmControl/include/ilm_control.h @@ -366,6 +366,23 @@ ilmErrorTypes ilm_displaySetRenderOrder(t_ilm_display display, t_ilm_layer *pLay ilmErrorTypes ilm_takeScreenshot(t_ilm_uint screen, t_ilm_const_string filename); /** + * \brief Take a screenshot from the current displayed layer scene with non-blocking. + * The function allows to setup callbacks when capturing the display, + * It helps to avoid a blocking, user can handle screenshot data or error in + * the callbacks. + * \param[in] screen Id of screen where screenshot should be taken + * \param[in] callback_done callback called when screenshot is acquired + * \param[in] callback_error callback called when screenshot acqusition failed + * \param[in] user_data callback user data passed in by called + * \return ILM_SUCCESS if the method call was successful + * \return ILM_FAILED if the client can not call the method on the service. + */ +ilmErrorTypes ilm_takeAsyncScreenshot(t_ilm_uint screen, + screenshotDoneNotificationFunc callback_done, + screenshotErrorNotificationFunc callback_error, + void *user_data); + +/** * \brief Take a screenshot of a certain surface * The screenshot is saved as bmp file with the corresponding filename. * \ingroup ilmControl @@ -377,6 +394,24 @@ ilmErrorTypes ilm_takeScreenshot(t_ilm_uint screen, t_ilm_const_string filename) ilmErrorTypes ilm_takeSurfaceScreenshot(t_ilm_const_string filename, t_ilm_surface surfaceid); /** + * \brief Take a screenshot of a certain surface with non-blocking. + * The function allows to setup callbacks when capturing a surface, + * It helps to avoid a blocking, user can handle screenshot data or error in + * the callbacks. + * \ingroup ilmControl + * \param[in] surfaceid Identifier of the surface to take the screenshot of + * \param[in] callback_done callback called when screenshot is acquired + * \param[in] callback_error callback called when screenshot acqusition failed + * \param[in] user_data callback user data passed in by called + * \return ILM_SUCCESS if the method call was successful + * \return ILM_FAILED if the client can not call the method on the service. + */ +ilmErrorTypes ilm_takeAsyncSurfaceScreenshot(t_ilm_surface surfaceid, + screenshotDoneNotificationFunc callback_done, + screenshotErrorNotificationFunc callback_error, + void *user_data); + +/** * \brief register for notification on property changes of layer * \ingroup ilmControl * \param[in] layer id of layer to register for notification |