ecore_wayland: added floating mode set for wayland window 64/66664/4
authorMinJeong Kim <minjjj.kim@samsung.com>
Wed, 20 Apr 2016 06:35:23 +0000 (15:35 +0900)
committerMinJeong Kim <minjjj.kim@samsung.com>
Mon, 25 Apr 2016 04:00:24 +0000 (21:00 -0700)
Change-Id: I642edb56024faf4d44467722d18ea2f3363e2536

src/lib/ecore_wayland/Ecore_Wayland.h
src/lib/ecore_wayland/ecore_wl_private.h
src/lib/ecore_wayland/ecore_wl_window.c

index 4152dd1..6b858fd 100644 (file)
@@ -1240,6 +1240,8 @@ EAPI void ecore_wl_window_aux_hint_add(Ecore_Wl_Window *win, int id, const char
 EAPI void ecore_wl_window_aux_hint_change(Ecore_Wl_Window *win, int id, const char *val);
 EAPI void ecore_wl_window_aux_hint_del(Ecore_Wl_Window *win, int id);
 
+EAPI void ecore_wl_window_floating_mode_set(Ecore_Wl_Window *win, Eina_Bool floating);
+
 #ifdef __cplusplus
 }
 #endif
index 5823b5d..f5186f3 100644 (file)
@@ -166,6 +166,7 @@ struct _Ecore_Wl_Window
    Eina_Bool minimized : 1;
    Eina_Bool focus_skip : 1;
    Eina_Bool iconified : 1;
+   Eina_Bool floating : 1;
 
    struct
      {
index 5af78fe..450c10e 100644 (file)
@@ -207,6 +207,12 @@ _ecore_wl_window_shell_surface_init(Ecore_Wl_Window *win)
              if (win->surface)
                tizen_policy_unset_focus_skip(_ecore_wl_disp->wl.tz_policy, win->surface);
           }
+        if (win->floating)
+          {
+             if (win->floating)
+               tizen_policy_set_floating_mode(_ecore_wl_disp->wl.tz_policy,
+                                              win->surface);
+          }
      }
    if ((!win->tz_rot.resource) && (_ecore_wl_disp->wl.tz_policy_ext))
      {
@@ -2048,3 +2054,21 @@ ecore_wl_window_aux_hint_del(Ecore_Wl_Window *win, int id)
    if ((win->surface) && (_ecore_wl_disp->wl.tz_policy))
      tizen_policy_del_aux_hint(_ecore_wl_disp->wl.tz_policy, win->surface, id);
 }
+
+EAPI void
+ecore_wl_window_floating_mode_set(Ecore_Wl_Window *win, Eina_Bool floating)
+{
+   LOGFN(__FILE__, __LINE__, __FUNCTION__);
+   if (!win) return;
+
+   win->floating = floating;
+   if ((win->surface) && (_ecore_wl_disp->wl.tz_policy))
+     {
+        if (floating)
+          tizen_policy_set_floating_mode(_ecore_wl_disp->wl.tz_policy,
+                                         win->surface);
+        else
+          tizen_policy_unset_floating_mode(_ecore_wl_disp->wl.tz_policy,
+                                           win->surface);
+     }
+}