From 2a265ba4c6fd15ec9704116ac09044f9a015cd42 Mon Sep 17 00:00:00 2001 From: SooChan Lim Date: Tue, 12 Dec 2023 09:26:47 +0900 Subject: [PATCH] e_desk_area: make e_comp_layers at e_desk_area The management of client's layers will be controled at e_desk_area. This commit is the first one to change the layer management in e20. Change-Id: I523acb35c4b2ce43deb94233d95780573fdf6083 --- src/bin/e_comp.c | 3 +++ src/bin/e_comp_canvas.c | 3 +++ src/bin/e_comp_canvas.h | 3 +++ src/bin/e_desk_area.c | 17 +++++++++++++++-- src/bin/e_desk_area.h | 2 +- 5 files changed, 25 insertions(+), 3 deletions(-) diff --git a/src/bin/e_comp.c b/src/bin/e_comp.c index 952cac01f9..b2a7ad1f07 100644 --- a/src/bin/e_comp.c +++ b/src/bin/e_comp.c @@ -446,7 +446,10 @@ e_comp_init(void) e_comp->commit_handler_timer.interval = conf->commit_handler_timer.interval; } +#ifdef REFACTOR_DESK_AREA +#else e_comp_canvas_fake_layers_init(); +#endif E_LIST_HANDLER_APPEND(handlers, E_EVENT_SCREENSAVER_ON, _e_comp_screensaver_on, NULL); E_LIST_HANDLER_APPEND(handlers, E_EVENT_SCREENSAVER_OFF, _e_comp_screensaver_off, NULL); diff --git a/src/bin/e_comp_canvas.c b/src/bin/e_comp_canvas.c index 00844e68cf..29a91dc6a2 100644 --- a/src/bin/e_comp_canvas.c +++ b/src/bin/e_comp_canvas.c @@ -406,6 +406,8 @@ e_comp_canvas_update(void) } } +#ifdef REFACTOR_DESK_AREA +#else EINTERN void e_comp_canvas_fake_layers_init(void) { @@ -421,6 +423,7 @@ e_comp_canvas_fake_layers_init(void) evas_object_name_set(o2, "layer_obj"); } } +#endif EINTERN void e_comp_canvas_fps_toggle(void) diff --git a/src/bin/e_comp_canvas.h b/src/bin/e_comp_canvas.h index 051b2a252d..a0c5d2cd2f 100644 --- a/src/bin/e_comp_canvas.h +++ b/src/bin/e_comp_canvas.h @@ -15,7 +15,10 @@ EINTERN E_Zone * e_comp_zone_number_get(int num); EINTERN E_Zone * e_comp_zone_id_get(int id); EINTERN void e_comp_canvas_zone_update(E_Zone *zone); EINTERN void e_comp_canvas_update(void); +//#ifdef REFACTOR_DESK_AREA +//#else EINTERN void e_comp_canvas_fake_layers_init(void); +//#endif EINTERN void e_comp_canvas_fps_toggle(void); EINTERN E_Layer e_comp_canvas_layer_map_to(unsigned int layer); E_API unsigned int e_comp_canvas_layer_map(E_Layer layer); diff --git a/src/bin/e_desk_area.c b/src/bin/e_desk_area.c index 9765ab0061..7888c7d8cd 100644 --- a/src/bin/e_desk_area.c +++ b/src/bin/e_desk_area.c @@ -457,9 +457,13 @@ _e_desk_area_smart_init(E_Desk_Area *eda) #endif EINTERN E_Desk_Area * -e_desk_area_new(E_Desk *desk, int id, int x, int y, int w, int h, E_Desk_Area_Layer layer) +e_desk_area_new(E_Desk *desk, int id, int x, int y, int w, int h, E_Desk_Area_Layer eda_layer) { E_Desk_Area *eda; +#ifdef REFACTOR_DESK_AREA + Evas_Object *obj; + E_Layer ec_layer; +#endif E_OBJECT_CHECK_RETURN(desk, NULL); E_OBJECT_TYPE_CHECK_RETURN(desk, E_DESK_TYPE, NULL); @@ -478,11 +482,20 @@ e_desk_area_new(E_Desk *desk, int id, int x, int y, int w, int h, E_Desk_Area_La _e_desk_geometry_info_set(eda, x, y, w, h); - eda->layer = layer; + eda->layer = eda_layer; #ifdef REFACTOR_DESK_AREA /* init smart object */ _e_desk_area_smart_init(eda); + + /* init client's layers */ + for (ec_layer = e_comp_canvas_layer_map(E_LAYER_CLIENT_DESKTOP); ec_layer <= e_comp_canvas_layer_map(E_LAYER_CLIENT_CURSOR); ec_layer++) + { + + obj = e_comp->layers[ec_layer].obj = evas_object_rectangle_add(e_comp->evas); + evas_object_layer_set(obj, e_comp_canvas_layer_map_to(ec_layer)); + evas_object_name_set(obj, "layer_obj"); + } #endif eda->hook_subsurf_create = e_comp_wl_hook_add(E_COMP_WL_HOOK_SUBSURFACE_CREATE, diff --git a/src/bin/e_desk_area.h b/src/bin/e_desk_area.h index 1488e9af8d..d6c1fbdb5f 100644 --- a/src/bin/e_desk_area.h +++ b/src/bin/e_desk_area.h @@ -72,7 +72,7 @@ struct _E_Event_Desk_Area EINTERN int e_desk_area_init(void); EINTERN int e_desk_area_shutdown(void); -EINTERN E_Desk_Area *e_desk_area_new(E_Desk *desk, int id, int x, int y, int w, int h, E_Desk_Area_Layer layer); +EINTERN E_Desk_Area *e_desk_area_new(E_Desk *desk, int id, int x, int y, int w, int h, E_Desk_Area_Layer eda_layer); //#ifdef REFACTOR_DESK_AREA //#else -- 2.34.1