Support "raise" request for wayland surface 35/44735/1
authorDuna Oh <duna.oh@samsung.com>
Mon, 27 Jul 2015 08:06:06 +0000 (17:06 +0900)
committerDuna Oh <duna.oh@samsung.com>
Mon, 27 Jul 2015 08:06:10 +0000 (17:06 +0900)
Change-Id: Ib3e4935bc8a148b5c1dd3921b2b7f787311164fe
Signed-off-by: Duna Oh <duna.oh@samsung.com>
src/e_mod_wl.c

index 2add09a398530c429911f015d847cb45f919c20a..dfd76d85361b688629a8e280b6acadf8948cb9a8 100644 (file)
@@ -322,6 +322,25 @@ _e_tizen_policy_cb_activate(struct wl_client *client, struct wl_resource *policy
      evas_object_raise(ec->frame);
 }
 
+static void
+_e_tizen_policy_cb_raise(struct wl_client *client, struct wl_resource *policy, struct wl_resource *surface_resource)
+{
+   E_Pixmap *ep;
+   E_Client *ec = NULL;
+
+   ep = wl_resource_get_user_data(surface_resource);
+   EINA_SAFETY_ON_NULL_RETURN(ep);
+
+   ec = e_pixmap_client_get(ep);
+   EINA_SAFETY_ON_NULL_RETURN(ec);
+   EINA_SAFETY_ON_NULL_RETURN(ec->frame);
+
+   if ((!starting) && (!ec->focused))
+     e_client_activate(ec, EINA_TRUE);
+   else
+     evas_object_raise(ec->frame);
+}
+
 static void
 _e_tizen_policy_cb_lower(struct wl_client *client, struct wl_resource *policy, struct wl_resource *surface_resource)
 {
@@ -683,6 +702,7 @@ static const struct tizen_policy_interface _e_tizen_policy_interface =
    _e_tizen_policy_cb_visibility_get,
    _e_tizen_policy_cb_position_get,
    _e_tizen_policy_cb_activate,
+   _e_tizen_policy_cb_raise,
    _e_tizen_policy_cb_lower,
    _e_tizen_policy_cb_focus_skip_set,
    _e_tizen_policy_cb_focus_skip_unset,