Implementation 'focus_skip_unset' request for wl_surface 09/40309/2 submit/tizen/20150603.021106
authorDuna Oh <duna.oh@samsung.com>
Tue, 2 Jun 2015 07:16:59 +0000 (16:16 +0900)
committerDuna Oh <duna.oh@samsung.com>
Tue, 2 Jun 2015 07:29:01 +0000 (16:29 +0900)
Change-Id: I086500b978126b501ffb239ccb6b64944fd208ee
Signed-off-by: Duna Oh <duna.oh@samsung.com>
src/lib/ecore_wayland/ecore_wl_window.c
src/lib/ecore_wayland/tizen-policy-client-protocol.h
src/lib/ecore_wayland/tizen-policy-protocol.c

index 6656376..36fd15f 100644 (file)
@@ -833,6 +833,11 @@ ecore_wl_window_focus_skip_set(Ecore_Wl_Window *win, Eina_Bool focus_skip)
         if ((win->surface) && (_ecore_wl_disp->wl.tz_policy))
           tizen_policy_focus_skip_set(_ecore_wl_disp->wl.tz_policy, win->surface);
       }
+   else
+     {
+        if ((win->surface) && (_ecore_wl_disp->wl.tz_policy))
+          tizen_policy_focus_skip_unset(_ecore_wl_disp->wl.tz_policy, win->surface);
+     }
  }
 
 /* @since 1.12 */
index 3308fec..8a4113b 100644 (file)
@@ -24,6 +24,7 @@ extern const struct wl_interface wl_surface_interface;
 #define TIZEN_POLICY_ACTIVATE  1
 #define TIZEN_POLICY_POSITION_SET      2
 #define TIZEN_POLICY_FOCUS_SKIP_SET    3
+#define TIZEN_POLICY_FOCUS_SKIP_UNSET  4
 
 static inline void
 tizen_policy_set_user_data(struct tizen_policy *tizen_policy, void *user_data)
@@ -75,6 +76,13 @@ tizen_policy_focus_skip_set(struct tizen_policy *tizen_policy, struct wl_surface
                         TIZEN_POLICY_FOCUS_SKIP_SET, surface);
 }
 
+static inline void
+tizen_policy_focus_skip_unset(struct tizen_policy *tizen_policy, struct wl_surface *surface)
+{
+       wl_proxy_marshal((struct wl_proxy *) tizen_policy,
+                        TIZEN_POLICY_FOCUS_SKIP_UNSET, surface);
+}
+
 #ifndef TIZEN_VISIBILITY_VISIBILITY_ENUM
 #define TIZEN_VISIBILITY_VISIBILITY_ENUM
 enum tizen_visibility_visibility {
index 9b18210..b85438f 100644 (file)
@@ -14,6 +14,7 @@ static const struct wl_interface *types[] = {
        NULL,
        NULL,
        &wl_surface_interface,
+       &wl_surface_interface,
 };
 
 static const struct wl_message tizen_policy_requests[] = {
@@ -21,11 +22,12 @@ static const struct wl_message tizen_policy_requests[] = {
        { "activate", "o", types + 3 },
        { "position_set", "oii", types + 4 },
        { "focus_skip_set", "o", types + 7 },
+       { "focus_skip_unset", "o", types + 8 },
 };
 
 WL_EXPORT const struct wl_interface tizen_policy_interface = {
        "tizen_policy", 1,
-       4, tizen_policy_requests,
+       5, tizen_policy_requests,
        0, NULL,
 };