e_desk_area: Added new API to get view of layer 42/325442/1
authorJunseok Kim <juns.kim@samsung.com>
Thu, 8 May 2025 02:56:33 +0000 (11:56 +0900)
committerTizen Window System <tizen.windowsystem@gmail.com>
Tue, 10 Jun 2025 09:37:49 +0000 (18:37 +0900)
Change-Id: Ia49ad37363f0729cdd2d6060d81e1c6ee24a9d33

src/bin/core/e_desk_area.c
src/bin/core/e_desk_area_intern.h
src/bin/windowmgr/e_policy_desk_area.c
src/include/e_desk_area.h

index 0ed44a778882c4303864ce53570e68b5b41e722b..ffc466086bca391857d80f3e8a0871fc3f8081ac 100644 (file)
@@ -233,6 +233,20 @@ e_desk_area_layer_object_get(E_Desk_Area *eda, E_Layer layer)
    return data.layer_obj;
 }
 
+E_API E_View *
+e_desk_area_layer_view_get(E_Desk_Area *eda, E_Layer layer)
+{
+   E_Desk_Area_Data_Layer_Object_Get data = {0,};
+
+   if (!eda) return NULL;
+   if (layer < E_LAYER_CLIENT_DESKTOP || layer > E_LAYER_MAX) return NULL;
+
+   data.layer = layer;
+   wl_signal_emit(&PRI(eda)->events.layer_obj_get, &data);
+
+   return data.layer_view;
+}
+
 
 E_API Eina_Bool
 e_desk_area_ec_add(E_Desk_Area *eda, E_Client *ec)
index d613778b330f2cdb84e8805b654dfc9e8bb5e096..5553e5c158c61b3626b5e63d04f105f3c10bfa22 100644 (file)
@@ -57,6 +57,7 @@ typedef struct _E_Desk_Area_Data_Layer_Object_Get
 {
    E_Layer layer;
    Evas_Object *layer_obj;
+   E_View *layer_view;
 } E_Desk_Area_Data_Layer_Object_Get;
 
 EINTERN int e_desk_area_init(void);
index c5e0bb16a57e448d7990903b4472a1d6551ee814..f9a77d07ee9c1f154c3496995a5802cfa3b19026 100644 (file)
@@ -557,7 +557,10 @@ _e_policy_desk_area_cb_layer_obj_get(struct wl_listener *listener, void *data)
 
    layer_view = e_policy_desk_area_layer_obj_get(pdal);
    if (layer_view)
-     obj_data->layer_obj = layer_view->eo;
+     {
+        obj_data->layer_view = layer_view;
+        obj_data->layer_obj = layer_view->eo;
+     }
 
    return;
 }
index 9919401b43907c740ae510fd28c4c141ff1fce01..f2c044d4378bc74676added08706777843b229fe 100644 (file)
@@ -39,6 +39,7 @@ E_API   void              e_desk_area_raise(E_Desk_Area *eda);
 E_API   void              e_desk_area_lower(E_Desk_Area *eda);
 
 E_API   Evas_Object      *e_desk_area_layer_object_get(E_Desk_Area *eda, E_Layer layer);
+E_API   E_View           *e_desk_area_layer_view_get(E_Desk_Area *eda, E_Layer layer);
 
 E_API   Eina_Bool     e_desk_area_ec_add(E_Desk_Area *eda, E_Client *ec);
 E_API   void          e_desk_area_ec_remove(E_Desk_Area *eda, E_Client *ec);