ecore_wl2: support pin mode feature 17/289417/2
authorDoyoun Kang <doyoun.kang@samsung.com>
Tue, 7 Mar 2023 10:02:17 +0000 (19:02 +0900)
committerDoyoun Kang <doyoun.kang@samsung.com>
Thu, 9 Mar 2023 05:46:46 +0000 (05:46 +0000)
Change-Id: I90a329829c7b70b2e6016f0a915179ee4eaff1fd

src/lib/ecore_wl2/Ecore_Wl2.h
src/lib/ecore_wl2/ecore_wl2_private.h
src/lib/ecore_wl2/ecore_wl2_window.c

index e43259a3dca4b28f806cdb6b33e8cc01786b33fa..fb8be680cf333b9e6822f663551b98a0850d0b77 100644 (file)
@@ -2555,6 +2555,11 @@ EAPI void ecore_wl2_window_resize_request_set(Ecore_Wl2_Window *window, int w, i
 EAPI void ecore_wl2_window_resize_request_unset(Ecore_Wl2_Window *window);
 //
 
+//TIZEN_ONLY(20230306): support pin mode
+EAPI void ecore_wl2_window_pin_mode_set(Ecore_Wl2_Window *window, Eina_Bool pinned);
+EAPI Eina_Bool ecore_wl2_window_pin_mode_get(Ecore_Wl2_Window *window);
+//
+
 # undef EAPI
 # define EAPI
 
index d9af9c3b99e7f96e29403bc2a666ee89c8401112..a86103dc03d2c374e19a0c4f0b172909f4477496 100644 (file)
@@ -458,6 +458,10 @@ struct _Ecore_Wl2_Window
    // TIZEN_ONLY(20221121): for maximize direction
    Ecore_Wl2_Maximize_Direction maximize_direction;
    //
+
+   // TIZEN_ONLY(20230306): support pin mode
+   Eina_Bool pinned : 1;
+   //
 };
 
 struct _Ecore_Wl2_Output
index ec79794fd1f24d37dc3d9c805183a77458ccf7a4..7f7840d65d75210a80471e06d42354096d4e8e0e 100644 (file)
@@ -965,6 +965,13 @@ _ecore_wl2_window_tz_ext_init(Ecore_Wl2_Window *window)
                tizen_policy_set_floating_mode(window->display->wl.tz_policy,
                                               window->surface);
           }
+
+        if (window->pinned)
+          {
+             if (window->surface)
+               tizen_policy_set_pin_mode(window->display->wl.tz_policy,
+                                         window->surface);
+          }
      }
 
    if (window->display->wl.tz_policy_ext && !window->tz_rotation)
@@ -4589,3 +4596,27 @@ ecore_wl2_window_resize_request_unset(Ecore_Wl2_Window *window)
    window->pending.user_resize = EINA_FALSE;
 }
 //
+
+//TIZEN_ONLY(20230306): support pin mode
+EAPI void
+ecore_wl2_window_pin_mode_set(Ecore_Wl2_Window *window, Eina_Bool pinned)
+{
+   EINA_SAFETY_ON_NULL_RETURN(window);
+
+   window->pinned = pinned;
+   if ((window->surface) && (window->display->wl.tz_policy))
+     {
+        if (pinned)
+          tizen_policy_set_pin_mode(window->display->wl.tz_policy, window->surface);
+        else
+          tizen_policy_unset_pin_mode(window->display->wl.tz_policy, window->surface);
+     }
+}
+
+EAPI Eina_Bool
+ecore_wl2_window_pin_mode_get(Ecore_Wl2_Window *window)
+{
+   EINA_SAFETY_ON_NULL_RETURN_VAL(window, EINA_FALSE);
+   return window->pinned;
+}
+//