From: Junghoon Park Date: Tue, 16 May 2017 01:12:55 +0000 (+0900) Subject: Add APIs to control visibility X-Git-Tag: submit/tizen/20170518.082320~1 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=968714ae0dde5869b39ea13f65fef752ff36abef;p=platform%2Fcore%2Fappfw%2Fwidget-viewer.git Add APIs to control visibility Require - https://review.tizen.org/gerrit/#/c/129272/ Change-Id: Iadc5142d032d628ae15f97207fef53639aa34e01 Signed-off-by: Junghoon Park --- diff --git a/watch-control/include/watch_control.h b/watch-control/include/watch_control.h index 6e825177..7beb5140 100644 --- a/watch-control/include/watch_control.h +++ b/watch-control/include/watch_control.h @@ -69,6 +69,33 @@ extern int watch_manager_get_opr(float *opr); */ extern int watch_manager_cancel_click_event(Evas_Object *watch); +/** + * @brief Changes the policy for sending visibilities + * @details If you turn off, the framework will not send visibility events automatically. + * @since_tizen 4.0 + * @remarks By default, it is enabled + * @param[in] enable Whether it should be enabled or not + * @return @c 0 on success, otherwise a negative error value + */ +extern int watch_manager_change_auto_visibility(bool enable); + +/** + * @brief Sends a paused event to the display server. + * @details It sends a paused event to the display server so that it can pass on the watch application. + * @since_tizen 4.0 + * @return @c 0 on success, otherwise a negative error value + */ +extern int watch_manager_pause(void); + +/** + * @brief Sends a resumed event to the display server. + * @details It sends a resumed event to the display server so that it can pass on the watch application. + * @since_tizen 4.0 + * @return @c 0 on success, otherwise a negative error value + */ +extern int watch_manager_resume(void); + + #ifdef __cplusplus } #endif diff --git a/watch-control/src/control.c b/watch-control/src/control.c index e875b38d..8868e8ad 100644 --- a/watch-control/src/control.c +++ b/watch-control/src/control.c @@ -396,4 +396,45 @@ API int watch_manager_get_setup_appid(const char *app_id, char **setup_appid) API int watch_manager_cancel_click_event(Evas_Object *watch) { return screen_connector_toolkit_evas_send_touch_cancel(watch); -} \ No newline at end of file +} + +API int watch_manager_change_auto_visibility(bool enable) +{ + if (!enable) + screen_connector_toolkit_evas_stop_visibility_notify(); + else + screen_connector_toolkit_evas_start_visibility_notify(); + + return 0; +} + +static int __change_visibility(bool visible) +{ + Evas_Object *image; + + image = evas_object_data_get(__win, "tbm,watch"); + if (image == NULL) { + _E("Failed to get image"); + return -1; + } + + if (visible) { + return screen_connector_toolkit_evas_send_visibility(image, + VISIBILITY_TYPE_UNOBSCURED); + } else { + return screen_connector_toolkit_evas_send_visibility(image, + VISIBILITY_TYPE_FULLY_OBSCURED); + } +} + +API int watch_manager_pause(void) +{ + return __change_visibility(false); +} + +API int watch_manager_resume(void) +{ + return __change_visibility(true); +} + +