summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHyunho Kang <hhstark.kang@samsung.com>2017-08-08 11:12:14 +0900
committerHyunho Kang <hhstark.kang@samsung.com>2017-08-08 13:53:58 +0900
commit8e24c3cae7bfec9d9a2b0758010a7dcc6579752c (patch)
treefec354473b38145465242ec042ce0d21748ce14a
parenta5c94cea9e785704ed46941d148b42aba095dcdd (diff)
downloadscreen-connector-8e24c3cae7bfec9d9a2b0758010a7dcc6579752c.tar.gz
screen-connector-8e24c3cae7bfec9d9a2b0758010a7dcc6579752c.tar.bz2
screen-connector-8e24c3cae7bfec9d9a2b0758010a7dcc6579752c.zip
Add api to get auto visibility
- screen_connector_toolkit_evas_auto_visibility Change-Id: I7896c097d45573f06cea2a2d8e81e53831027389 Signed-off-by: Hyunho Kang <hhstark.kang@samsung.com>
-rw-r--r--screen_connector_watcher_evas/include/screen_connector_toolkit_evas.h3
-rw-r--r--screen_connector_watcher_evas/src/screen_connector_toolkit_evas.c19
2 files changed, 19 insertions, 3 deletions
diff --git a/screen_connector_watcher_evas/include/screen_connector_toolkit_evas.h b/screen_connector_watcher_evas/include/screen_connector_toolkit_evas.h
index 6b16d7d..31164d6 100644
--- a/screen_connector_watcher_evas/include/screen_connector_toolkit_evas.h
+++ b/screen_connector_watcher_evas/include/screen_connector_toolkit_evas.h
@@ -114,7 +114,8 @@ int screen_connector_toolkit_evas_get_rid(Evas_Object *obj, int *resource_id);
screen_connector_toolkit_evas_h screen_connector_toolkit_evas_add_with_win(screen_connector_toolkit_evas_ops *ops, char *id,
screen_connector_screen_type_e type, Evas_Object *win, void *data);
int screen_connector_toolkit_evas_is_visible(Evas_Object *obj, bool *is_visible);
-
+visibility_type screen_connector_toolkit_evas_auto_visibility(
+ screen_connector_toolkit_evas_h h);
/**
* @}
diff --git a/screen_connector_watcher_evas/src/screen_connector_toolkit_evas.c b/screen_connector_watcher_evas/src/screen_connector_toolkit_evas.c
index bb9e8b4..ed3e337 100644
--- a/screen_connector_watcher_evas/src/screen_connector_toolkit_evas.c
+++ b/screen_connector_watcher_evas/src/screen_connector_toolkit_evas.c
@@ -66,6 +66,7 @@ struct _screen_connector_toolkit_evas_h {
struct _screen_connector_type_evas_h *type_h;
guint resuming_timer;
GList *viewer_visibility_list;
+ visibility_type auto_visibility;
void *data;
};
@@ -404,9 +405,11 @@ static void __obj_update_visibility(void *data, Evas *e, Evas_Object *obj, void
}
if (__obj_is_visible(toolkit_evas_h))
- __set_visibility(toolkit_evas_h, VISIBILITY_TYPE_UNOBSCURED);
+ toolkit_evas_h->auto_visibility = VISIBILITY_TYPE_UNOBSCURED;
else
- __set_visibility(toolkit_evas_h, VISIBILITY_TYPE_FULLY_OBSCURED);
+ toolkit_evas_h->auto_visibility = VISIBILITY_TYPE_FULLY_OBSCURED;
+
+ __set_visibility(toolkit_evas_h, toolkit_evas_h->auto_visibility);
}
static void __rs_cb_mouse_down(void *data, Evas *e, Evas_Object *obj, void *event_info)
@@ -987,6 +990,7 @@ static void __send_visibility(gpointer key, gpointer value, gpointer user_data)
LOGW("set visibility to %d", type);
ret = __set_visibility(toolkit_evas_h, type);
+ toolkit_evas_h->auto_visibility = type;
if (ret == -1)
LOGE("failed to set object visibility set %p to %d", toolkit_evas_h->img_tbm, type);
}
@@ -1308,3 +1312,14 @@ EXPORT_API int screen_connector_toolkit_evas_unbind(screen_connector_toolkit_eva
return screen_connector_toolkit_unbind(h->toolkit_h);
}
+
+EXPORT_API visibility_type screen_connector_toolkit_evas_auto_visibility(
+ screen_connector_toolkit_evas_h h)
+{
+ if (!h) {
+ LOGE("invalid argument %p", h);
+ return -1;
+ }
+
+ return h->auto_visibility;
+}