src/bin/windowmgr/e_policy_zone.c \
src/bin/windowmgr/e_policy_desk.c \
src/bin/windowmgr/e_policy_desk_area.c \
-src/bin/windowmgr/e_policy_desk_area_layer.c \
+src/bin/windowmgr/e_policy_layer.c \
src/bin/windowmgr/e_policy_stack.c \
src/bin/windowmgr/e_policy_visibility.c \
src/bin/windowmgr/e_policy_conformant.c \
#include "e_policy_zone_intern.h"
#include "e_policy_desk_intern.h"
#include "e_policy_desk_area_intern.h"
-#include "e_policy_desk_area_layer_intern.h"
+#include "e_policy_layer_intern.h"
#include "e_devicemgr_intern.h"
#include "e_comp_cfdata_intern.h"
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);
+ view_tree = e_policy_layer_tree_get(pda, E_LAYER_CLIENT_DRAG);
rect = e_view_rect_create(view_tree, 1, 1, color);
if (!rect)
else
e_view_hide(view);
drag->view = view;
- view_tree = e_policy_desk_area_layer_tree_get(pda, E_LAYER_CLIENT_DRAG);
+ view_tree = e_policy_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");
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 *layer_tree = e_policy_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));
#include "e_view_intern.h"
#include "e_view_client_intern.h"
#include "e_policy_wl_intern.h"
-#include "e_policy_desk_area_layer_intern.h"
+#include "e_policy_layer_intern.h"
#include "e_canvas_intern.h"
#include "e_config_intern.h"
#include "e_comp_cfdata_intern.h"
E_Desk_Area *desk_area;
- E_Policy_Desk_Area_Layer *layers[E_LAYER_COUNT];
+ E_Policy_Layer *layers[E_LAYER_COUNT];
struct wl_listener geometry_set;
struct wl_listener activate;
E_Desk_Area_Data_EC_Get *client_data;
E_Desk_Area_Data_EC_Get iter_data = {0,};
E_Policy_Desk_Area *pda;
- E_Policy_Desk_Area_Layer *pdal;
+ E_Policy_Layer *pdal;
E_View_Tree *layer_tree;
unsigned int x;
pdal = pda->layers[x];
if (!pdal) continue;
- layer_tree = e_policy_desk_area_layer_view_tree_get(pdal);
+ layer_tree = e_policy_layer_view_tree_get(pdal);
e_view_for_each_view_reverse(e_view_tree_view_get(layer_tree), _e_policy_desk_area_iter_ec_get, &iter_data);
if (iter_data.result_ec)
{
E_Desk_Area_Data_EC_Get *client_data;
E_Desk_Area_Data_EC_Get iter_data = {0,};
E_Policy_Desk_Area *pda;
- E_Policy_Desk_Area_Layer *pdal;
+ E_Policy_Layer *pdal;
E_View_Tree *layer_tree;
unsigned int x;
pdal = pda->layers[x];
if (!pdal) continue;
- layer_tree = e_policy_desk_area_layer_view_tree_get(pdal);
+ layer_tree = e_policy_layer_view_tree_get(pdal);
e_view_for_each_view(e_view_tree_view_get(layer_tree), _e_policy_desk_area_iter_ec_get, &iter_data);
if (iter_data.result_ec)
{
{
E_Desk_Area_Data_Layer_Object_Get *obj_data = (E_Desk_Area_Data_Layer_Object_Get *) data;
E_Policy_Desk_Area *pda;
- E_Policy_Desk_Area_Layer *pdal;
+ E_Policy_Layer *pdal;
E_View *layer_view;
pda = wl_container_of(listener, pda, layer_obj_get);
pdal = pda->layers[_e_desk_area_layer_util_map_to_eda_layer(obj_data->layer)];
- layer_view = e_policy_desk_area_layer_obj_get(pdal);
+ layer_view = e_policy_layer_obj_get(pdal);
if (layer_view)
{
obj_data->layer_view = layer_view;
E_Policy_Desk_Area *pda;
E_Desk_Area_Data_EC_Get *client_data = (E_Desk_Area_Data_EC_Get *) data;
E_Desk_Area_Data_EC_Get iter_data = {0,};
- E_Policy_Desk_Area_Layer *pdal;
+ E_Policy_Layer *pdal;
E_View_Tree *layer_tree;
E_Client *ec;
unsigned int x;
return;
}
- layer_tree = e_policy_desk_area_layer_view_tree_get(pdal);
+ layer_tree = e_policy_layer_view_tree_get(pdal);
e_view_for_each_view(e_view_tree_view_get(layer_tree), _e_policy_desk_area_iter_ec_get, &iter_data);
if (iter_data.result_ec)
{
pdal = pda->layers[x];
if (!pdal) continue;
- layer_tree = e_policy_desk_area_layer_view_tree_get(pdal);
+ layer_tree = e_policy_layer_view_tree_get(pdal);
e_view_for_each_view(e_view_tree_view_get(layer_tree), _e_policy_desk_area_iter_ec_get, &iter_data);
if (iter_data.result_ec)
{
E_Policy_Desk_Area *pda;
E_Desk_Area_Data_EC_Get *client_data = (E_Desk_Area_Data_EC_Get *) data;
E_Desk_Area_Data_EC_Get iter_data = {0,};
- E_Policy_Desk_Area_Layer *pdal;
+ E_Policy_Layer *pdal;
E_View_Tree *layer_tree;
unsigned int x;
E_Client *ec;
return;
}
- layer_tree = e_policy_desk_area_layer_view_tree_get(pdal);
+ layer_tree = e_policy_layer_view_tree_get(pdal);
e_view_for_each_view_reverse(e_view_tree_view_get(layer_tree), _e_policy_desk_area_iter_ec_get, &iter_data);
if (iter_data.result_ec)
{
pdal = pda->layers[x];
if (!pdal) continue;
- layer_tree = e_policy_desk_area_layer_view_tree_get(pdal);
+ layer_tree = e_policy_layer_view_tree_get(pdal);
e_view_for_each_view_reverse(e_view_tree_view_get(layer_tree), _e_policy_desk_area_iter_ec_get, &iter_data);
if (iter_data.result_ec)
{
E_Policy_Desk_Area *pda;
E_Desk_Area_Data_EC_Get *client_data = (E_Desk_Area_Data_EC_Get *) data;
E_Desk_Area_Data_EC_Get iter_data = {0,};
- E_Policy_Desk_Area_Layer *pdal;
+ E_Policy_Layer *pdal;
E_View_Tree *layer_tree;
unsigned int x;
E_Client *ec;
return;
}
- layer_tree = e_policy_desk_area_layer_view_tree_get(pdal);
+ layer_tree = e_policy_layer_view_tree_get(pdal);
e_view_for_each_view(e_view_tree_view_get(layer_tree), _e_policy_desk_area_iter_visible_ec_get, &iter_data);
if (iter_data.result_ec)
{
pdal = pda->layers[x];
if (!pdal) continue;
- layer_tree = e_policy_desk_area_layer_view_tree_get(pdal);
+ layer_tree = e_policy_layer_view_tree_get(pdal);
e_view_for_each_view(e_view_tree_view_get(layer_tree), _e_policy_desk_area_iter_visible_ec_get, &iter_data);
if (iter_data.result_ec)
{
E_Policy_Desk_Area *pda;
E_Desk_Area_Data_EC_Get *client_data = (E_Desk_Area_Data_EC_Get *) data;
E_Desk_Area_Data_EC_Get iter_data = {0,};
- E_Policy_Desk_Area_Layer *pdal;
+ E_Policy_Layer *pdal;
E_View_Tree *layer_tree;
unsigned int x;
E_Client *ec;
return;
}
- layer_tree = e_policy_desk_area_layer_view_tree_get(pdal);
+ layer_tree = e_policy_layer_view_tree_get(pdal);
e_view_for_each_view_reverse(e_view_tree_view_get(layer_tree), _e_policy_desk_area_iter_visible_ec_get, &iter_data);
if (iter_data.result_ec)
{
pdal = pda->layers[x];
if (!pdal) continue;
- layer_tree = e_policy_desk_area_layer_view_tree_get(pdal);
+ layer_tree = e_policy_layer_view_tree_get(pdal);
e_view_for_each_view_reverse(e_view_tree_view_get(layer_tree), _e_policy_desk_area_iter_visible_ec_get, &iter_data);
if (iter_data.result_ec)
{
e_view_position_set(ec_view, ec->x, ec->y);
}
- layer_tree = e_policy_desk_area_layer_tree_get(pda, layer);
+ layer_tree = e_policy_layer_tree_get(pda, layer);
ELOGF("LAYER", "layer set to %d", ec, layer);
e_view_reparent(ec_view, layer_tree);
evas_object_layer_set(ec_view->eo, layer);
E_Client *ec;
E_Client_Data_Layer *layer_data;
E_Policy_Desk_Area *pda;
- E_Policy_Desk_Area_Layer *pdal;
+ E_Policy_Layer *pdal;
unsigned int comp_layer;
E_Layer layer;
pda = e_policy_desk_area_get(eda_client->eda);
pdal = pda->layers[_e_desk_area_layer_util_map_to_eda_layer(ec->layer)];
- if (e_policy_desk_area_layer_has_ec(pdal, ec)) return;
+ if (e_policy_layer_has_ec(pdal, ec)) return;
/* client could be on temperory layer while pending or block,
* in that case, client restores back to ec->layer after pending/block finish */
}
else
{
- E_Policy_Desk_Area_Layer *pdal = pda->layers[cw->layer];
+ E_Policy_Layer *pdal = pda->layers[cw->layer];
if (prepend)
{
// prepend means bottom
- E_View *layer_obj = e_policy_desk_area_layer_obj_get(pdal);
+ E_View *layer_obj = e_policy_layer_obj_get(pdal);
if (layer_obj) e_view_place_above(view, layer_obj);
else
{
- E_View_Tree *view_tree = e_policy_desk_area_layer_view_tree_get(pdal);
+ E_View_Tree *view_tree = e_policy_layer_view_tree_get(pdal);
e_view_reparent_bottom(view, view_tree);
e_view_lower_to_bottom(view);
}
}
else
{
- E_View_Tree *view_tree = e_policy_desk_area_layer_view_tree_get(pdal);
+ E_View_Tree *view_tree = e_policy_layer_view_tree_get(pdal);
e_view_reparent(view, view_tree);
e_view_raise_to_top(view);
_e_comp_object_layers_update(cw->layer, E_COMP_INPUT_INLIST_APPEND, cw->ec, NULL);
//if (!EINA_INLIST_GET(cw->ec)->prev) return; //already lowest on layer
#if 0 // skip lowest check on view... evas object stack and view still mismatch
pdal = pda->layers[cw->layer];
- layer_tree = e_policy_desk_area_layer_view_tree_get(pdal);
+ layer_tree = e_policy_layer_view_tree_get(pdal);
if (e_view_tree_bottom_get(layer_tree) == e_view_client_view_get(e_client_view_get(ec)))
{
DBG("Already on bottom, but no skip...");
}
- else if (e_policy_desk_area_layer_obj_get(pdal))
+ else if (e_policy_layer_obj_get(pdal))
{
- E_View *layer_view = e_policy_desk_area_layer_obj_get(pdal);
+ E_View *layer_view = e_policy_layer_obj_get(pdal);
if (e_view_above_get(layer_view) == e_view_client_view_get(e_client_view_get(ec)))
{
DBG("Already on bottom, but no skip...");
//if (!EINA_INLIST_GET(cw->ec)->next) return;//already highest on layer
#if 0 // skip topmost check on view... evas object stack and view still mismatch
pdal = pda->layers[cw->layer];
- layer_tree = e_policy_desk_area_layer_view_tree_get(pdal);
+ layer_tree = e_policy_layer_view_tree_get(pdal);
if (e_view_tree_top_get(layer_tree) == e_view_client_view_get(e_client_view_get(ec)))
{
DBG("Already on top, but no skip...");
static void
_e_policy_desk_area_init_layer(E_Policy_Desk_Area *pda)
{
- E_Policy_Desk_Area_Layer *pdal;
+ E_Policy_Layer *pdal;
E_Desk_Area_Layer eda_layer;
/* init client's layers */
eda_layer <= _e_desk_area_layer_util_map_to_eda_layer(E_LAYER_MAX);
eda_layer++)
{
- pdal = e_policy_desk_area_layer_new(pda, _e_desk_area_layer_util_map_to_e_layer(eda_layer));
+ pdal = e_policy_layer_new(pda, _e_desk_area_layer_util_map_to_e_layer(eda_layer));
if (pdal) pda->layers[eda_layer] = pdal;
}
}
}
EINTERN E_View_Tree *
-e_policy_desk_area_layer_tree_get(E_Policy_Desk_Area *pda, E_Layer layer)
+e_policy_layer_tree_get(E_Policy_Desk_Area *pda, E_Layer layer)
{
- E_Policy_Desk_Area_Layer *pdal;
+ E_Policy_Layer *pdal;
EINA_SAFETY_ON_NULL_RETURN_VAL(pda, NULL);
pdal = pda->layers[e_comp_canvas_layer_map(layer)];
EINA_SAFETY_ON_NULL_RETURN_VAL(pdal, NULL);
- return e_policy_desk_area_layer_view_tree_get(pdal);
+ return e_policy_layer_view_tree_get(pdal);
}
EINTERN E_Policy_Desk_Area *
EINTERN Eina_Bool e_policy_desk_area_hook_call(E_Desk_Area *eda, E_Desk_Area_Hook_Point hookpoint, void *data);
EINTERN void e_policy_desk_area_client_add_listener_add(E_Policy_Desk_Area *pda, struct wl_listener *listener);
EINTERN E_View_Tree *e_policy_desk_area_view_tree_get(E_Policy_Desk_Area *pda);
-EINTERN E_View_Tree *e_policy_desk_area_layer_tree_get(E_Policy_Desk_Area *pda, E_Layer layer);
+EINTERN E_View_Tree *e_policy_layer_tree_get(E_Policy_Desk_Area *pda, E_Layer layer);
EINTERN E_Policy_Desk_Area * e_policy_desk_area_new(E_Desk_Area *eda);
EINTERN void e_policy_desk_area_del(E_Policy_Desk_Area *pda);
+++ /dev/null
-#include "e_policy_desk_area_layer_intern.h"
-
-#include "e_desk_area_intern.h"
-#include "e_policy_desk_area_intern.h"
-#include "e_policy_container_intern.h"
-#include "e_view_intern.h"
-#include "e_view_rect.h"
-#include "e_client.h"
-#include "e_utils_intern.h"
-
-#define NEED_LAYER_RENAME
-
-struct _E_Policy_Desk_Area_Layer
-{
- E_Policy_Container container;
-
- E_Policy_Desk_Area *pda;
- E_Layer layer;
- E_View *layer_bottom;
-};
-E_POLICY_CONTAINER_INIT(E_Policy_Desk_Area_Layer);
-
-
-static void
-_e_policy_desk_area_layer_tree_destroy(E_View_Tree *tree)
-{
- // doing something
-}
-
-static void
-_e_policy_desk_area_layer_tree_child_add(E_View_Tree *tree, E_View *child)
-{
- E_Policy_Desk_Area_Layer *pdal;
- E_Policy_Container *container;
-
- container = wl_container_of(tree, container, tree);
- pdal = e_policy_container_impl_get(container);
-
- if (child->eo) evas_object_layer_set(child->eo, pdal->layer);
-
- // lower layer object
- if (pdal->layer_bottom) e_view_lower_to_bottom(pdal->layer_bottom);
-}
-
-static void
-_e_policy_desk_area_layer_tree_child_remove(E_View_Tree *tree, E_View *child)
-{
- if (!child->eo)
- return;
-
- // doing something
-}
-
-EINTERN E_View_Tree_Impl desk_area_layer_tree_impl = {
- .destroy = _e_policy_desk_area_layer_tree_destroy,
- .child_add = _e_policy_desk_area_layer_tree_child_add,
- .child_remove = _e_policy_desk_area_layer_tree_child_remove,
-};
-
-EINTERN Eina_Bool
-e_policy_desk_area_layer_has_ec(E_Policy_Desk_Area_Layer *pdal, E_Client *ec)
-{
- E_View_Tree *layer_view_tree, *ec_view_tree;
-
- EINA_SAFETY_ON_NULL_RETURN_VAL(pdal, EINA_FALSE);
- EINA_SAFETY_ON_NULL_RETURN_VAL(ec, EINA_FALSE);
-
- layer_view_tree = e_policy_desk_area_layer_view_tree_get(pdal);
- ec_view_tree = e_view_parent_get(e_view_client_view_get(e_client_view_get(ec)));
-
- return (layer_view_tree == ec_view_tree);
-}
-
-EINTERN E_View_Tree *
-e_policy_desk_area_layer_view_tree_get(E_Policy_Desk_Area_Layer *pdal)
-{
- E_Policy_Container *container;
-
- EINA_SAFETY_ON_NULL_RETURN_VAL(pdal, NULL);
- container = e_policy_container_get(pdal);
-
- return e_policy_container_view_tree_get(container);
-}
-
-EINTERN E_View *
-e_policy_desk_area_layer_obj_get(E_Policy_Desk_Area_Layer *pdal)
-{
- EINA_SAFETY_ON_NULL_RETURN_VAL(pdal, NULL);
-
- return pdal->layer_bottom;
-}
-
-EINTERN E_Policy_Desk_Area_Layer *
-e_policy_desk_area_layer_new(E_Policy_Desk_Area *pda, E_Layer layer)
-{
- E_Policy_Desk_Area_Layer * pdal = NULL;
- E_Desk_Area *eda;
- E_View_Rect *layer_bottom_rect;
- int color[4] = {0, 0, 0, 255};
-#ifdef NEED_LAYER_RENAME
-#else
- char layer_name[20] = "layer_obj_";
-#endif
-
- EINA_SAFETY_ON_NULL_GOTO(pda, err);
-
- eda = e_policy_desk_area_get_desk_area(pda);
- EINA_SAFETY_ON_NULL_GOTO(eda, err);
-
- pdal = E_NEW(E_Policy_Desk_Area_Layer, 1);
- EINA_SAFETY_ON_NULL_GOTO(pdal, err);
-
- ELOGF("POL_LAYER", "Create Policy_desk_area_layer, desk_area(ID:%d):%p, policy_desk_area:%p, policy_desk_area_layer:%p, layer:%d",
- NULL, eda->id, eda, pda, pdal, layer);
-
- if (!e_policy_container_view_tree_init(e_policy_container_get(pdal), &desk_area_layer_tree_impl, e_policy_container_general_get(pda)))
- {
- ERR("Failed to init view tree of desk area layer:%p / layer:%d", pdal, layer);
- goto err;
- }
- layer_bottom_rect = e_view_rect_create(&e_policy_container_get(pdal)->tree, eda->w, eda->h, color);
- if (!layer_bottom_rect)
- {
- ERR("Failed to init view tree of desk area layer:%p / layer:%d", pdal, layer);
- goto err;
- }
-
- pdal->pda = pda;
- pdal->layer = layer;
- pdal->layer_bottom = e_view_rect_view_get(layer_bottom_rect);
-
- evas_object_layer_set(pdal->layer_bottom->eo, layer);
-#ifdef NEED_LAYER_RENAME
-#else
- eina_convert_itoa(layer, layer_name + strlen(layer_name));
- evas_object_name_set(pdal->layer_bottom->eo, layer_name);
-#endif
- e_view_pass_events_set(pdal->layer_bottom, true);
-#ifdef NEED_LAYER_RENAME
- e_view_name_set(pdal->layer_bottom, "layer_obj");
-#else
- e_view_name_set(pdal->layer_bottom, layer_name);
-#endif
- e_view_data_set(pdal->layer_bottom, "layer_obj", (void*) 1);
- if (e_util_client_layer_validate(layer)) e_view_data_set(pdal->layer_bottom, "client_layer_obj", (void*) 1);
-
- return pdal;
-
-err:
- if (pdal) e_policy_desk_area_layer_del(pdal);
- return NULL;
-}
-
-EINTERN void
-e_policy_desk_area_layer_del(E_Policy_Desk_Area_Layer *pdal)
-{
- EINA_SAFETY_ON_NULL_RETURN(pdal);
-
- ELOGF("POL_LAYER", "Delete Policy_desk_area_layer, policy_desk_area_layer:%p, layer:%d", NULL, pdal, pdal->layer);
-
- if (pdal->layer_bottom) e_view_destroy(pdal->layer_bottom);
- e_policy_container_view_tree_shutdown(e_policy_container_get(pdal));
-
- E_FREE(pdal);
-}
\ No newline at end of file
+++ /dev/null
-#ifndef E_POLICY_DESK_AREA_LAYER_INTERN_H
-#define E_POLICY_DESK_AREA_LAYER_INTERN_H
-
-#include "e_intern.h"
-#include "e_policy_desk_area_intern.h"
-#include "e_view_intern.h"
-
-typedef struct _E_Policy_Desk_Area_Layer E_Policy_Desk_Area_Layer;
-
-extern EINTERN E_View_Tree_Impl desk_area_layer_tree_impl;
-
-EINTERN Eina_Bool e_policy_desk_area_layer_has_ec(E_Policy_Desk_Area_Layer *pdal, E_Client *ec);
-EINTERN E_View_Tree *e_policy_desk_area_layer_view_tree_get(E_Policy_Desk_Area_Layer *pdal);
-EINTERN E_View *e_policy_desk_area_layer_obj_get(E_Policy_Desk_Area_Layer *pdal);
-
-EINTERN E_Policy_Desk_Area_Layer *e_policy_desk_area_layer_new(E_Policy_Desk_Area *pda, E_Layer layer);
-EINTERN void e_policy_desk_area_layer_del(E_Policy_Desk_Area_Layer *pdal);
-
-#endif //E_POLICY_DESK_AREA_LAYER_INTERN_H
--- /dev/null
+#include "e_policy_layer_intern.h"
+
+#include "e_desk_area_intern.h"
+#include "e_policy_desk_area_intern.h"
+#include "e_policy_container_intern.h"
+#include "e_view_intern.h"
+#include "e_view_rect.h"
+#include "e_client.h"
+#include "e_utils_intern.h"
+
+#define NEED_LAYER_RENAME
+
+struct _E_Policy_Layer
+{
+ E_Policy_Container container;
+
+ E_Policy_Desk_Area *pda;
+ E_Layer layer;
+ E_View *layer_bottom;
+};
+E_POLICY_CONTAINER_INIT(E_Policy_Layer);
+
+
+static void
+_e_policy_layer_tree_destroy(E_View_Tree *tree)
+{
+ // doing something
+}
+
+static void
+_e_policy_layer_tree_child_add(E_View_Tree *tree, E_View *child)
+{
+ E_Policy_Layer *pdal;
+ E_Policy_Container *container;
+
+ container = wl_container_of(tree, container, tree);
+ pdal = e_policy_container_impl_get(container);
+
+ if (child->eo) evas_object_layer_set(child->eo, pdal->layer);
+
+ // lower layer object
+ if (pdal->layer_bottom) e_view_lower_to_bottom(pdal->layer_bottom);
+}
+
+static void
+_e_policy_layer_tree_child_remove(E_View_Tree *tree, E_View *child)
+{
+ if (!child->eo)
+ return;
+
+ // doing something
+}
+
+EINTERN E_View_Tree_Impl desk_area_layer_tree_impl = {
+ .destroy = _e_policy_layer_tree_destroy,
+ .child_add = _e_policy_layer_tree_child_add,
+ .child_remove = _e_policy_layer_tree_child_remove,
+};
+
+EINTERN Eina_Bool
+e_policy_layer_has_ec(E_Policy_Layer *pdal, E_Client *ec)
+{
+ E_View_Tree *layer_view_tree, *ec_view_tree;
+
+ EINA_SAFETY_ON_NULL_RETURN_VAL(pdal, EINA_FALSE);
+ EINA_SAFETY_ON_NULL_RETURN_VAL(ec, EINA_FALSE);
+
+ layer_view_tree = e_policy_layer_view_tree_get(pdal);
+ ec_view_tree = e_view_parent_get(e_view_client_view_get(e_client_view_get(ec)));
+
+ return (layer_view_tree == ec_view_tree);
+}
+
+EINTERN E_View_Tree *
+e_policy_layer_view_tree_get(E_Policy_Layer *pdal)
+{
+ E_Policy_Container *container;
+
+ EINA_SAFETY_ON_NULL_RETURN_VAL(pdal, NULL);
+ container = e_policy_container_get(pdal);
+
+ return e_policy_container_view_tree_get(container);
+}
+
+EINTERN E_View *
+e_policy_layer_obj_get(E_Policy_Layer *pdal)
+{
+ EINA_SAFETY_ON_NULL_RETURN_VAL(pdal, NULL);
+
+ return pdal->layer_bottom;
+}
+
+EINTERN E_Policy_Layer *
+e_policy_layer_new(E_Policy_Desk_Area *pda, E_Layer layer)
+{
+ E_Policy_Layer * pdal = NULL;
+ E_Desk_Area *eda;
+ E_View_Rect *layer_bottom_rect;
+ int color[4] = {0, 0, 0, 255};
+#ifdef NEED_LAYER_RENAME
+#else
+ char layer_name[20] = "layer_obj_";
+#endif
+
+ EINA_SAFETY_ON_NULL_GOTO(pda, err);
+
+ eda = e_policy_desk_area_get_desk_area(pda);
+ EINA_SAFETY_ON_NULL_GOTO(eda, err);
+
+ pdal = E_NEW(E_Policy_Layer, 1);
+ EINA_SAFETY_ON_NULL_GOTO(pdal, err);
+
+ ELOGF("POL_LAYER", "Create policy_layer, desk_area(ID:%d):%p, policy_desk_area:%p, policy_layer:%p, layer:%d",
+ NULL, eda->id, eda, pda, pdal, layer);
+
+ if (!e_policy_container_view_tree_init(e_policy_container_get(pdal), &desk_area_layer_tree_impl, e_policy_container_general_get(pda)))
+ {
+ ERR("Failed to init view tree of desk area layer:%p / layer:%d", pdal, layer);
+ goto err;
+ }
+ layer_bottom_rect = e_view_rect_create(&e_policy_container_get(pdal)->tree, eda->w, eda->h, color);
+ if (!layer_bottom_rect)
+ {
+ ERR("Failed to init view tree of desk area layer:%p / layer:%d", pdal, layer);
+ goto err;
+ }
+
+ pdal->pda = pda;
+ pdal->layer = layer;
+ pdal->layer_bottom = e_view_rect_view_get(layer_bottom_rect);
+
+ evas_object_layer_set(pdal->layer_bottom->eo, layer);
+#ifdef NEED_LAYER_RENAME
+#else
+ eina_convert_itoa(layer, layer_name + strlen(layer_name));
+ evas_object_name_set(pdal->layer_bottom->eo, layer_name);
+#endif
+ e_view_pass_events_set(pdal->layer_bottom, true);
+#ifdef NEED_LAYER_RENAME
+ e_view_name_set(pdal->layer_bottom, "layer_obj");
+#else
+ e_view_name_set(pdal->layer_bottom, layer_name);
+#endif
+ e_view_data_set(pdal->layer_bottom, "layer_obj", (void*) 1);
+ if (e_util_client_layer_validate(layer)) e_view_data_set(pdal->layer_bottom, "client_layer_obj", (void*) 1);
+
+ return pdal;
+
+err:
+ if (pdal) e_policy_layer_del(pdal);
+ return NULL;
+}
+
+EINTERN void
+e_policy_layer_del(E_Policy_Layer *pdal)
+{
+ EINA_SAFETY_ON_NULL_RETURN(pdal);
+
+ ELOGF("POL_LAYER", "Delete policy_layer, policy_layer:%p, layer:%d", NULL, pdal, pdal->layer);
+
+ if (pdal->layer_bottom) e_view_destroy(pdal->layer_bottom);
+ e_policy_container_view_tree_shutdown(e_policy_container_get(pdal));
+
+ E_FREE(pdal);
+}
\ No newline at end of file
--- /dev/null
+#ifndef E_POLICY_LAYER_INTERN_H
+#define E_POLICY_LAYER_INTERN_H
+
+#include "e_intern.h"
+#include "e_policy_desk_area_intern.h"
+#include "e_view_intern.h"
+
+typedef struct _E_Policy_Layer E_Policy_Layer;
+
+extern EINTERN E_View_Tree_Impl desk_area_layer_tree_impl;
+
+EINTERN Eina_Bool e_policy_layer_has_ec(E_Policy_Layer *pdal, E_Client *ec);
+EINTERN E_View_Tree *e_policy_layer_view_tree_get(E_Policy_Layer *pdal);
+EINTERN E_View *e_policy_layer_obj_get(E_Policy_Layer *pdal);
+
+EINTERN E_Policy_Layer *e_policy_layer_new(E_Policy_Desk_Area *pda, E_Layer layer);
+EINTERN void e_policy_layer_del(E_Policy_Layer *pdal);
+
+#endif //E_POLICY_LAYER_INTERN_H
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);
+ tree = e_policy_layer_tree_get(pda, qp->ec->layer);
if (!tree) goto fail;
mover->qp_layout = e_view_layout_create(tree);
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);
+ tree = e_policy_layer_tree_get(pda, E_LAYER_CLIENT_NORMAL);
if (!tree) return;
/* force update */
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);
+ layer_tree = e_policy_layer_tree_get(pda, E_LAYER_CLIENT_ALERT_LOW);
e_view_repeat_events_set(indi_view, EINA_FALSE);
e_view_reparent(indi_view, layer_tree);
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);
+ tree = e_policy_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");
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);
+ layer_tree = e_policy_layer_tree_get(pda, E_LAYER_CLIENT_ALERT_LOW);
e_view_repeat_events_set(handler_view, EINA_FALSE);
e_view_reparent(handler_view, layer_tree);
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));
+ layer_tree = e_policy_layer_tree_get(pda, e_client_layer_get(_volume_ec));
obj = e_view_rect_create(layer_tree, width, height, color);
if (!obj)
{