e_canvas: change e_canvas_layer to layer tree of desk area 61/324061/1
authorJunseok Kim <juns.kim@samsung.com>
Thu, 3 Apr 2025 10:04:08 +0000 (19:04 +0900)
committerTizen Window System <tizen.windowsystem@gmail.com>
Mon, 12 May 2025 12:53:22 +0000 (21:53 +0900)
Change-Id: Icf7ff558ac8e21b925d1f5ec61830c89bb3d093f

src/bin/compmgr/e_blur_video_capture.c
src/bin/compmgr/e_comp_canvas.c
src/bin/core/e_client.c
src/bin/core/e_view_layout.c
src/bin/server/e_blur.c
src/bin/windowmgr/e_dnd.c
src/bin/windowmgr/e_magnifier.c
src/bin/windowmgr/e_policy_desk_area.c
src/bin/windowmgr/services/e_service_quickpanel.c
src/bin/windowmgr/services/e_service_softkey.c
src/bin/windowmgr/services/e_service_volume.c

index b7223012df27771c04394cdd6e9a9095e2ba6288..e77d24dc868243ca157db11ac15c28bb0d2a741b 100644 (file)
@@ -7,6 +7,7 @@
 #include "e_view_image_intern.h"
 #include "e_view_rect.h"
 #include "e_blur_video_capture.h"
+#include "e_canvas_intern.h"
 
 #define DEQUEUE_TIMEOUT_MS 10000
 
@@ -156,15 +157,15 @@ _e_blur_video_capture_source_object_init(void)
    E_Blur_Video_Capture *video_capture = _video_capture;
    E_Blur_Video_Capture_Client *client;
    E_Blur_Video_Capture_Object *object;
-   E_View_Tree *layer_tree;
+   E_View_Tree *view_tree;
    E_View_Image *view_image;
    E_View *img_view;
    Eina_List *l, *l2;
 
    if (video_capture->src_img) return EINA_TRUE;
 
-   layer_tree = e_canvas_layer_view_tree_get(e_comp_canvas_get(), E_CANVAS_LAYER_BOTTOM);
-   view_image = e_view_image_filled_create(layer_tree);
+   view_tree = e_canvas_root_view_tree_get(e_comp_canvas_get());
+   view_image = e_view_image_filled_create(view_tree);
    EINA_SAFETY_ON_NULL_RETURN_VAL(view_image, EINA_FALSE);
 
    img_view = e_view_image_view_get(view_image);
@@ -304,8 +305,7 @@ _e_blur_video_capture_object_create(E_Blur_Video_Capture_Client *client, E_View_
    E_View *blur_img_view, *client_view;
    E_View *src_clip_rect_view = NULL, *src_img_view = NULL, *blur_clip_img_view = NULL;
    E_View_Client *view_client;
-   E_View_Tree *layer_tree;
-   E_Canvas_Layer layer;
+   E_View_Tree *view_tree;
    int x, y, w, h;
    int ec_x, ec_y, ec_w, ec_h;
    unsigned int *pixels;
@@ -317,13 +317,12 @@ _e_blur_video_capture_object_create(E_Blur_Video_Capture_Client *client, E_View_
    view_client = e_client_view_get(client->ec);
    if (!view_client) return NULL;
    client_view = e_view_client_view_get(view_client);
-   layer = e_view_layer_index_get(client_view);
-   layer_tree = e_canvas_layer_view_tree_get(e_comp_canvas_get(), layer);
+   view_tree = e_view_parent_get(client_view);
 
    object = E_NEW(E_Blur_Video_Capture_Object, 1);
    EINA_SAFETY_ON_NULL_RETURN_VAL(object, NULL);
 
-   object->blur_clip_img = e_view_image_filled_create(layer_tree);
+   object->blur_clip_img = e_view_image_filled_create(view_tree);
    EINA_SAFETY_ON_NULL_GOTO(object->blur_clip_img, fail);
    e_view_image_size_set(object->blur_clip_img, 1, 1);
    pixels = e_view_image_data_get(object->blur_clip_img, EINA_TRUE);
@@ -336,14 +335,14 @@ _e_blur_video_capture_object_create(E_Blur_Video_Capture_Client *client, E_View_
    e_view_pass_events_set(blur_clip_img_view, EINA_TRUE);
 
    e_client_geometry_get(client->ec, &ec_x, &ec_y, &ec_w, &ec_h);
-   object->src_clip_rect = e_view_rect_create(layer_tree, ec_w, ec_h, color);
+   object->src_clip_rect = e_view_rect_create(view_tree, ec_w, ec_h, color);
    EINA_SAFETY_ON_NULL_GOTO(object->src_clip_rect, fail);
    src_clip_rect_view = e_view_rect_view_get(object->src_clip_rect);
    e_view_position_set(src_clip_rect_view, ec_x, ec_y);
    e_view_name_set(src_clip_rect_view, "blur_video_capture_source_clip_obj");
    e_view_pass_events_set(src_clip_rect_view, EINA_TRUE);
 
-   object->src_img = e_view_image_filled_create(layer_tree);
+   object->src_img = e_view_image_filled_create(view_tree);
    EINA_SAFETY_ON_NULL_GOTO(object->src_img, fail);
    src_img_view = e_view_image_view_get(object->src_img);
    e_view_name_set(src_img_view, "blur_video_capture_source_obj");
@@ -923,10 +922,10 @@ _e_blur_video_capture_client_cb_restack(struct wl_listener *listener, void *data
    E_Blur_Video_Capture_Client *client = wl_container_of(listener, client, listener.restack);
    E_View *event_src_view = ((E_View_Event_Callback_Data *)data)->view;
    E_Blur_Video_Capture_Object *object;
-   E_View_Tree *layer_tree;
+   E_View_Tree *view_tree;
    Eina_List *l;
 
-   layer_tree = e_canvas_layer_view_tree_get(e_comp_canvas_get(), e_view_layer_index_get(event_src_view));
+   view_tree = e_view_parent_get(event_src_view);
 
    EINA_LIST_FOREACH(client->capture_objs, l, object)
      {
@@ -938,11 +937,11 @@ _e_blur_video_capture_client_cb_restack(struct wl_listener *listener, void *data
         src_clip_rect_view = e_view_rect_view_get(object->src_clip_rect);
         src_img_view = e_view_image_view_get(object->src_img);
 
-        e_view_reparent(blur_clip_img_view, layer_tree);
+        e_view_reparent(blur_clip_img_view, view_tree);
         e_view_place_above(blur_clip_img_view, event_src_view);
-        e_view_reparent(src_clip_rect_view, layer_tree);
+        e_view_reparent(src_clip_rect_view, view_tree);
         e_view_place_below(src_clip_rect_view, blur_clip_img_view);
-        e_view_reparent(src_img_view, layer_tree);
+        e_view_reparent(src_img_view, view_tree);
         e_view_place_below(src_img_view, src_clip_rect_view);
      }
 
@@ -956,11 +955,11 @@ _e_blur_video_capture_client_cb_restack(struct wl_listener *listener, void *data
         src_clip_rect_view = e_view_rect_view_get(object->src_clip_rect);
         src_img_view = e_view_image_view_get(object->src_img);
 
-        e_view_reparent(blur_clip_img_view, layer_tree);
+        e_view_reparent(blur_clip_img_view, view_tree);
         e_view_place_above(blur_clip_img_view, event_src_view);
-        e_view_reparent(src_clip_rect_view, layer_tree);
+        e_view_reparent(src_clip_rect_view, view_tree);
         e_view_place_below(src_clip_rect_view, blur_clip_img_view);
-        e_view_reparent(src_img_view, layer_tree);
+        e_view_reparent(src_img_view, view_tree);
         e_view_place_below(src_img_view, src_clip_rect_view);
      }
 }
index 0a453d4401ac09ba30db30b47bd5432cd5b10c7a..9bfe643f094100540ca88f3cea3e6b0e3dc7a07b 100644 (file)
@@ -324,7 +324,7 @@ e_comp_canvas_init(E_Comp_Screen *comp_screen)
    if (e_config->comp_canvas_bg.opmode == EVAS_RENDER_COPY)
      opmode = E_VIEW_RENDER_OP_COPY;
 
-   layer_tree = e_canvas_layer_view_tree_get(comp->canvas, E_CANVAS_LAYER_BOTTOM);
+   layer_tree = e_canvas_root_view_tree_get(comp->canvas);
    rect = e_view_rect_create(layer_tree, comp->w, comp->h, color);
    comp->bg_blank_view = view = e_view_rect_view_get(rect);
    e_view_position_set(view, 0, 0);
index cf57f91d33de104ee99ebde8850166beda931df6..22cc60e426f290bc72bb0c342e042de30db7738f 100644 (file)
@@ -2859,7 +2859,7 @@ _e_client_view_init(E_Client *ec)
    E_Client_Private *priv = PRI(ec);
    E_View_Tree *tree;
 
-   tree = e_canvas_layer_view_tree_get(e_comp_canvas_get(), E_CANVAS_LAYER_CLIENT_NORMAL);
+   tree = e_canvas_root_view_tree_get(e_comp_canvas_get());
 
    assert(tree);
 
index ed46a0f15c64454bfe6d420ce0f593e87d569386..1c66bb1112c01a75e3e9cd4b771c72e676fe87fa 100644 (file)
@@ -6,6 +6,10 @@
 #include "e_view_client_intern.h"
 #include "e_view_edje_intern.h"
 #include "e_canvas_intern.h"
+#include "e_zone_intern.h"
+#include "e_desk_intern.h"
+#include "e_desk_area_intern.h"
+#include "e_policy_desk_area_intern.h"
 
 typedef struct _E_View_Layout_Item E_View_Layout_Item;
 
@@ -113,6 +117,11 @@ static void
 _e_view_layout_disown(E_View *child)
 {
    E_View_Layout_Item *li;
+   E_Zone *zone;
+   E_Desk *desk;
+   E_Desk_Area *eda;
+   E_Policy_Desk_Area *pda;
+   E_View_Tree *layer_tree;
 
    li = e_view_data_get(child, "e_view_layout_data");
    if (!li) return;
@@ -126,7 +135,12 @@ _e_view_layout_disown(E_View *child)
 
    if (!li->destroying)
      {
-        e_view_reparent(child, e_canvas_layer_view_tree_get(e_canvas_get(child), li->prev_layer));
+        zone = e_zone_current_get();
+        desk = e_desk_current_get(zone);
+        eda = e_desk_desk_area_base_get(desk);
+        pda = e_policy_desk_area_get(eda);
+        layer_tree = e_policy_desk_area_layer_tree_get(pda, e_canvas_util_layer_map(li->prev_layer));
+        e_view_reparent(child, layer_tree);
      }
 
    free(li);
@@ -347,14 +361,20 @@ e_view_layout_layer_set(E_View_Layout *layout, E_Layer layer)
 {
    E_View_Layout_Item *li;
    E_View_Tree *layer_tree;
-   E_Canvas_Layer canvas_layer;
    E_View *view;
+   E_Zone *zone;
+   E_Desk *desk;
+   E_Desk_Area *eda;
+   E_Policy_Desk_Area *pda;
 
    if (!layout) return;
 
-   canvas_layer = e_canvas_util_e_layer_map(layer);
+   zone = e_zone_current_get();
+   desk = e_desk_current_get(zone);
+   eda = e_desk_desk_area_base_get(desk);
+   pda = e_policy_desk_area_get(eda);
 
-   layer_tree = e_canvas_layer_view_tree_get(e_canvas_get(e_view_tree_view_get(&layout->tree)), canvas_layer);
+   layer_tree = e_policy_desk_area_layer_tree_get(pda, layer);
 
    if (!wl_list_empty(&layout->items))
      {
index 57101d897c15c88fe4824e5aa8c4143f9e58c29d..6fc397a2d32d5e823b36281bae855cf23f22c42c 100644 (file)
@@ -458,24 +458,24 @@ _e_blur_cb_restack(struct wl_listener *listener, void *data)
    E_Blur *blur;
    Eina_List *l;
    E_Blur_Rectangle *blur_rectangle;
-   E_View_Tree *layer_tree;
+   E_View_Tree *view_tree;
    E_View *event_src_view = ((E_View_Event_Callback_Data *)data)->view;
 
    blur = wl_container_of(listener, blur, listener.restack);
    if (!event_src_view) return;
 
-   layer_tree = e_canvas_layer_view_tree_get(e_comp_canvas_get(), e_view_layer_index_get(event_src_view));
-   if (!layer_tree) return;
+   view_tree = e_view_parent_get(event_src_view);
+   if (!view_tree) return;
 
    EINA_LIST_FOREACH(blur->blur_rectangles, l, blur_rectangle)
      {
         E_View *img_view = e_view_image_view_get(blur_rectangle->view_image);
-        e_view_reparent(img_view, layer_tree);
+        e_view_reparent(img_view, view_tree);
         e_view_place_below(img_view, event_src_view);
         if (blur_rectangle->corner_radius_view_image)
           {
              E_View *corner_img_view = e_view_image_view_get(blur_rectangle->corner_radius_view_image);
-             e_view_reparent(corner_img_view, layer_tree);
+             e_view_reparent(corner_img_view, view_tree);
              e_view_place_above(corner_img_view, img_view);
           }
      }
@@ -592,7 +592,7 @@ _e_blur_cb_new_rectangle(struct wl_listener *listener, void *data)
    EINA_SAFETY_ON_NULL_RETURN(blur->ec);
    blur_view_client = e_client_view_get(blur->ec);
    EINA_SAFETY_ON_NULL_RETURN(blur_view_client);
-   blur_view_client_tree = e_canvas_layer_view_tree_get(e_comp_canvas_get(), e_view_layer_index_get(e_view_client_view_get(blur_view_client)));
+   blur_view_client_tree = e_view_parent_get(e_view_client_view_get(blur_view_client));
    EINA_SAFETY_ON_NULL_RETURN(blur_view_client_tree);
 
    view_image = e_view_image_filled_create(blur_view_client_tree);
@@ -895,17 +895,17 @@ _e_blur_behind_cb_restack(struct wl_listener *listener, void *data)
 {
    E_View *event_src_view = ((E_View_Event_Callback_Data *)data)->view;
    E_Blur_Behind *blur_behind;
-   E_View_Tree *layer_tree;
+   E_View_Tree *view_tree;
    E_View *img_view;
 
    blur_behind = wl_container_of(listener, blur_behind, listener.restack);
 
-   layer_tree = e_canvas_layer_view_tree_get(e_comp_canvas_get(), e_view_layer_index_get(event_src_view));
-   if (!layer_tree) return;
+   view_tree = e_view_parent_get(event_src_view);
+   if (!view_tree) return;
 
    img_view = e_view_image_view_get(blur_behind->view_image);
 
-   e_view_reparent(img_view, layer_tree);
+   e_view_reparent(img_view, view_tree);
    e_view_place_below(img_view, _e_blur_behind_bottom_view_get(event_src_view));
 }
 
@@ -993,7 +993,7 @@ _e_blur_manager_cb_new_blur_behind(struct wl_listener *listener, void *data)
 
    view_client = e_client_view_get(ec);
    EINA_SAFETY_ON_NULL_RETURN(view_client);
-   view_client_tree = e_canvas_layer_view_tree_get(e_comp_canvas_get(), e_view_layer_index_get(e_view_client_view_get(view_client)));
+   view_client_tree = e_view_parent_get(e_view_client_view_get(view_client));
    EINA_SAFETY_ON_NULL_RETURN(view_client_tree);
 
    view_image = e_view_image_filled_create(view_client_tree);
index 31682628ceeddf54df5d4a4113484de1b26f03b7..c31d62b48694002553ab8484c99fc103a0d3f09f 100644 (file)
@@ -121,6 +121,11 @@ _e_drag_finalize(E_Drag *drag, int x, int y)
 {
    E_View_Rect *rect;
    E_Pointer* comp_pointer;
+   E_Zone *zone;
+   E_Desk *desk;
+   E_Desk_Area *eda;
+   E_Policy_Desk_Area *pda;
+   E_View_Tree *view_tree;
    const int color[4] = {0, 0, 0, 0};
 
    comp_pointer = e_comp_pointer_get();
@@ -137,7 +142,13 @@ _e_drag_finalize(E_Drag *drag, int x, int y)
 
    if (!drag->view)
      {
-        rect = e_view_rect_create(e_canvas_layer_view_tree_get(e_comp_canvas_get(), E_CANVAS_LAYER_CLIENT_DRAG), 1, 1, color);
+        zone = e_seat_zone_get(drag->seat);
+        desk = e_desk_current_get(zone);
+        eda = e_desk_desk_area_base_get(desk);
+        pda = e_policy_desk_area_get(eda);
+        view_tree = e_policy_desk_area_layer_tree_get(pda, E_LAYER_CLIENT_DRAG);
+
+        rect = e_view_rect_create(view_tree, 1, 1, color);
         if (!rect)
           {
              ELOGF("DnD", "Failed to create rect", NULL);
@@ -214,14 +225,27 @@ e_drag_new(E_Seat *seat, int x, int y, E_Drag_Finished_Cb finished_cb)
 EINTERN void
 e_drag_view_set(E_Drag *drag, E_View *view)
 {
+   E_Zone *zone;
+   E_Desk *desk;
+   E_Desk_Area *eda;
+   E_Policy_Desk_Area *pda;
+   E_View_Tree *view_tree;
+
    EINA_SAFETY_ON_NULL_RETURN(view);
    EINA_SAFETY_ON_TRUE_RETURN(!!drag->view);
+
+   zone = e_seat_zone_get(drag->seat);
+   desk = e_desk_current_get(zone);
+   eda = e_desk_desk_area_base_get(desk);
+   pda = e_policy_desk_area_get(eda);
+
    if (drag->visible)
      e_view_show(view);
    else
      e_view_hide(view);
    drag->view = view;
-   e_view_reparent(view, e_canvas_layer_view_tree_get(e_comp_canvas_get(), E_CANVAS_LAYER_CLIENT_DRAG));
+   view_tree = e_policy_desk_area_layer_tree_get(pda, E_LAYER_CLIENT_DRAG);
+   e_view_reparent(view, view_tree);
    drag->comp_edje = e_view_edje_util_add(view);
    e_view_name_set(e_view_edje_view_get(drag->comp_edje), "E Drag");
    e_view_pass_events_set(e_view_edje_view_get(drag->comp_edje), 1);
index c6112b7100f31d8cf6c70d077d42ee6e8858213a..84935012d20cd3f565ad6a7d57e31c9ab5c254e1 100644 (file)
@@ -7,6 +7,8 @@
 #include "e_comp_intern.h"
 #include "e_zone_intern.h"
 #include "e_desk_intern.h"
+#include "e_desk_area_intern.h"
+#include "e_policy_desk_area_intern.h"
 
 #define E_MAGNIFIER_SMART_DATA_GET(obj, ptr)                        \
    E_Magnifier_Smart_Data *ptr = evas_object_smart_data_get(obj);
@@ -126,6 +128,9 @@ static E_Magnifier_Manager *
 _e_magnifier_manager_create(E_Zone *zone)
 {
    E_Magnifier_Manager *emm = NULL;
+   E_Desk *desk;
+   E_Desk_Area *eda;
+   E_Policy_Desk_Area *pda;
 
    emm = E_NEW(E_Magnifier_Manager, 1);
    EINA_SAFETY_ON_NULL_RETURN_VAL(emm, NULL);
@@ -139,7 +144,11 @@ _e_magnifier_manager_create(E_Zone *zone)
    emm->geom.system.w = 360;
    emm->geom.system.h = 360;
 
-   E_View_Tree *layer_tree = e_canvas_layer_view_tree_get(e_comp_canvas_get(), E_CANVAS_LAYER_DESK_OBJECT_BELOW);
+   desk = e_desk_current_get(zone);
+   eda = e_desk_desk_area_base_get(desk);
+   pda = e_policy_desk_area_get(eda);
+
+   E_View_Tree *layer_tree = e_policy_desk_area_layer_tree_get(pda, E_LAYER_DESK_OBJECT_BELOW);
    e_view_tree_init(&emm->tree, NULL, layer_tree);
    e_view_show(e_view_tree_view_get(&emm->tree));
 
index 3802058e468d184b27db53947b0e927bdc24373a..d62dab456356bfcd329c7b01aef479e943f4dc61 100644 (file)
@@ -1971,6 +1971,7 @@ static void
 _desk_area_cb_client_layer_set(struct wl_listener *listener, void *data)
 {
    E_Policy_Desk_Area_Private_Client *eda_client;
+   E_Policy_Desk_Area *pda;
    E_Client *ec;
    E_View *ec_view;
    E_View_Tree *layer_tree;
@@ -1978,6 +1979,7 @@ _desk_area_cb_client_layer_set(struct wl_listener *listener, void *data)
    E_Layer layer;
 
    eda_client = wl_container_of(listener, eda_client, client_layer_set);
+   pda = e_policy_desk_area_get(eda_client->eda);
    ec = eda_client->ec;
    layer_data = (E_Client_Data_Layer *) data;
    layer = layer_data->layer;
@@ -1989,7 +1991,7 @@ _desk_area_cb_client_layer_set(struct wl_listener *listener, void *data)
         e_view_position_set(ec_view, ec->x, ec->y);
      }
 
-   layer_tree = e_canvas_layer_view_tree_get(e_canvas_get(ec_view), e_canvas_util_e_layer_map(layer));
+   layer_tree = e_policy_desk_area_layer_tree_get(pda, layer);
    e_view_reparent(ec_view, layer_tree);
    evas_object_layer_set(ec_view->eo, layer);
    if (ec->layer != layer)
index d3ccb18d5f0f1773a2e1477938c4c65996c52b52..cdc739e2dfa542791fe779eb9507feeff0e8bf9d 100644 (file)
@@ -16,6 +16,9 @@
 #include "e_view_layout_intern.h"
 #include "e_map_intern.h"
 #include "e_config_intern.h"
+#include "e_desk_intern.h"
+#include "e_desk_area_intern.h"
+#include "e_policy_desk_area_intern.h"
 
 #define SMART_NAME            "quickpanel_object"
 
@@ -284,14 +287,21 @@ _e_qp_mover_create(E_Policy_Quickpanel *qp)
 {
    E_Policy_Quickpanel_Mover *mover = NULL;
    E_View_Tree *tree = NULL;
+   E_Desk *desk;
+   E_Desk_Area *eda;
+   E_Policy_Desk_Area *pda;
 
    mover = E_NEW(E_Policy_Quickpanel_Mover, 1);
    if (!mover) return NULL;
    mover->qp = qp;
    mover->ec = qp->ec;
 
-   tree = e_canvas_layer_view_tree_get(e_comp_canvas_get(), e_canvas_util_e_layer_map(qp->ec->layer));
+   desk = e_zone_desk_find_by_ec(qp->zone, qp->ec);
+   eda = e_desk_desk_area_find_by_ec(desk, qp->ec);
+   pda = e_policy_desk_area_get(eda);
+   tree = e_policy_desk_area_layer_tree_get(pda, qp->ec->layer);
    if (!tree) goto fail;
+
    mover->qp_layout = e_view_layout_create(tree);
    if (!mover->qp_layout) goto fail;
 
@@ -348,12 +358,18 @@ _e_qp_mover_show(E_Policy_Quickpanel_Mover *mover)
    int color[4] = { 255, 255, 255, 255 };
    E_View_Tree *tree = NULL;
    E_View *effect = NULL;
+   E_Desk *desk;
+   E_Desk_Area *eda;
+   E_Policy_Desk_Area *pda;
 
    if (!mover) return;
 
    ec = mover->ec;
 
-   tree = e_canvas_layer_view_tree_get(e_comp_canvas_get(), E_CANVAS_LAYER_CLIENT_NORMAL);
+   desk = e_zone_desk_find_by_ec(mover->qp->zone, ec);
+   eda = e_desk_desk_area_find_by_ec(desk, ec);
+   pda = e_policy_desk_area_get(eda);
+   tree = e_policy_desk_area_layer_tree_get(pda, E_LAYER_CLIENT_NORMAL);
    if (!tree) return;
 
    /* force update */
@@ -2014,15 +2030,20 @@ _quickpanel_indicator_object_new(E_Policy_Quickpanel *qp)
    E_View *indi_view;
    E_View_Tree *layer_tree;
    E_Desk *desk;
+   E_Desk_Area *eda;
+   E_Policy_Desk_Area *pda;
 
    indi_view = e_service_region_new(qp->ec);
    e_view_name_set(indi_view, "qp::indicator_obj");
    if (!indi_view)
      return NULL;
 
+   desk = e_zone_desk_find_by_ec(qp->zone, qp->ec);
+   eda = e_desk_desk_area_find_by_ec(desk, qp->ec);
+   pda = e_policy_desk_area_get(eda);
+   layer_tree = e_policy_desk_area_layer_tree_get(pda, E_LAYER_CLIENT_ALERT_LOW);
+
    e_view_repeat_events_set(indi_view, EINA_FALSE);
-   /* FIXME: make me move to explicit layer something like POL_LAYER */
-   layer_tree = e_canvas_layer_view_tree_get(e_comp_canvas_get(), E_CANVAS_LAYER_MAX - 1);
    e_view_reparent(indi_view, layer_tree);
 
    e_service_region_gesture_set(indi_view,
@@ -2036,7 +2057,6 @@ _quickpanel_indicator_object_new(E_Policy_Quickpanel *qp)
 
    if (e_config->qp_add_on_desk_smart)
      {
-        desk = e_desk_current_get(qp->zone);
         e_desk_smart_member_add(desk, indi_view->eo);
      }
 
@@ -2202,6 +2222,9 @@ e_service_quickpanel_client_add(E_Client *ec, E_Service_Quickpanel_Type type)
    E_Policy_Quickpanel *qp = NULL;
    E_Layer layer;
    E_Zone *zone;
+   E_Desk *desk;
+   E_Desk_Area *eda;
+   E_Policy_Desk_Area *pda;
    E_View *view;
 
    BACKEND_FUNC_CALL(quickpanel_client_add, ec, type);
@@ -2276,7 +2299,11 @@ e_service_quickpanel_client_add(E_Client *ec, E_Service_Quickpanel_Type type)
      {
         E_View_Tree *tree;
         int color[4] = { 0, 0, 0, 0 };
-        tree = e_canvas_layer_view_tree_get(e_comp_canvas_get(), e_canvas_util_e_layer_map(E_LAYER_CLIENT_ALERT_LOW));
+
+        desk = e_zone_desk_find_by_ec(qp->zone, ec);
+        eda = e_desk_desk_area_find_by_ec(desk, ec);
+        pda = e_policy_desk_area_get(eda);
+        tree = e_policy_desk_area_layer_tree_get(pda, E_LAYER_CLIENT_ALERT_LOW);
 
         qp->bg_rect = e_view_rect_create(tree, qp->zone->w, qp->zone->h, color);
         e_view_name_set(e_view_rect_view_get(qp->bg_rect), "qp::bg_rect");
index 2495a00fddf958c29b518382ac513654715a34b8..e78aae66303696f9fc56262a3099d3e5f3f044c9 100644 (file)
@@ -9,6 +9,9 @@
 #include "e_comp_canvas_intern.h"
 #include "e_canvas_intern.h"
 #include "e_config_intern.h"
+#include "e_desk_intern.h"
+#include "e_desk_area_intern.h"
+#include "e_policy_desk_area_intern.h"
 
 #include <tzsh_server.h>
 
@@ -278,6 +281,9 @@ _e_service_handler_object_new(E_Service_Softkey *softkey_service)
 {
    E_View *handler_view;
    E_View_Tree *layer_tree;
+   E_Desk *desk;
+   E_Desk_Area *eda;
+   E_Policy_Desk_Area *pda;
 
    handler_view = e_service_region_new(softkey_service->ec);
    if (!handler_view)
@@ -285,9 +291,12 @@ _e_service_handler_object_new(E_Service_Softkey *softkey_service)
 
    e_view_name_set(handler_view, "softkey_service::handler_obj");
 
+   desk = e_zone_desk_find_by_ec(softkey_service->zone, softkey_service->ec);
+   eda = e_desk_desk_area_find_by_ec(desk, softkey_service->ec);
+   pda = e_policy_desk_area_get(eda);
+   layer_tree = e_policy_desk_area_layer_tree_get(pda, E_LAYER_CLIENT_ALERT_LOW);
+
    e_view_repeat_events_set(handler_view, EINA_FALSE);
-   /* FIXME: make me move to explicit layer something like POL_LAYER */
-   layer_tree = e_canvas_layer_view_tree_get(e_comp_canvas_get(), E_CANVAS_LAYER_MAX - 1);
    e_view_reparent(handler_view, layer_tree);
 
    e_service_region_gesture_set(handler_view,
index a7b99d82dd569f419b4aba84df334a20a0441131..f1a1f132cf830e53dbd1225eeafae17cbc99934a 100644 (file)
@@ -8,6 +8,9 @@
 #include "e_comp_wl_intern.h"
 #include "e_comp_canvas.h"
 #include "e_seat_intern.h"
+#include "e_desk_intern.h"
+#include "e_desk_area_intern.h"
+#include "e_policy_desk_area_intern.h"
 
 #include <wayland-server.h>
 #include <tzsh_server.h>
@@ -356,6 +359,9 @@ _volume_content_region_obj_new(int width, int height)
    E_View_Client *view_client;
    E_View_Rect *obj;
    E_View* obj_view;
+   E_Desk *desk;
+   E_Desk_Area *eda;
+   E_Policy_Desk_Area *pda;
 
    view_client = e_client_view_get(_volume_ec);
    if (!view_client)
@@ -364,7 +370,10 @@ _volume_content_region_obj_new(int width, int height)
         return NULL;
      }
 
-   layer_tree = e_canvas_layer_view_tree_get(e_comp_canvas_get(), e_view_layer_index_get(e_view_client_view_get(view_client)));
+   desk = e_zone_desk_find_by_ec(e_comp_zone_find_by_ec(_volume_ec), _volume_ec);
+   eda = e_desk_desk_area_find_by_ec(desk, _volume_ec);
+   pda = e_policy_desk_area_get(eda);
+   layer_tree = e_policy_desk_area_layer_tree_get(pda, e_client_layer_get(_volume_ec));
    obj = e_view_rect_create(layer_tree, width, height, color);
    if (!obj)
      {