forked from enlightenment/enlightenment
+e_comp_util_object_is_above_nocomp()
This commit is contained in:
parent
6a90f66cc4
commit
def17d763b
|
@ -1829,3 +1829,31 @@ e_comp_client_redirect_toggle(E_Client *ec)
|
|||
ec->no_shape_cut = !ec->redirected;
|
||||
e_comp_shape_queue(ec->comp);
|
||||
}
|
||||
|
||||
EAPI Eina_Bool
|
||||
e_comp_util_object_is_above_nocomp(Evas_Object *obj)
|
||||
{
|
||||
E_Comp *comp;
|
||||
Evas_Object *o;
|
||||
int cl, ol;
|
||||
|
||||
EINA_SAFETY_ON_NULL_RETURN_VAL(obj, EINA_FALSE);
|
||||
if (!evas_object_visible_get(obj)) return EINA_FALSE;
|
||||
comp = e_comp_util_evas_object_comp_get(obj);
|
||||
if (!comp->nocomp_ec) return EINA_FALSE;
|
||||
cl = evas_object_layer_get(comp->nocomp_ec->frame);
|
||||
ol = evas_object_layer_get(obj);
|
||||
if (cl > ol) return EINA_FALSE;
|
||||
o = evas_object_above_get(comp->nocomp_ec->frame);
|
||||
if ((cl == ol) && (evas_object_layer_get(o) == cl))
|
||||
{
|
||||
do {
|
||||
if (o == obj)
|
||||
return EINA_TRUE;
|
||||
o = evas_object_above_get(o);
|
||||
} while (o && (evas_object_layer_get(o) == cl));
|
||||
}
|
||||
else
|
||||
return EINA_TRUE;
|
||||
return EINA_FALSE;
|
||||
}
|
||||
|
|
|
@ -167,6 +167,7 @@ EAPI E_Comp *e_comp_evas_find(const Evas *e);
|
|||
EAPI void e_comp_button_bindings_grab_all(void);
|
||||
EAPI void e_comp_button_bindings_ungrab_all(void);
|
||||
EAPI void e_comp_client_redirect_toggle(E_Client *ec);
|
||||
EAPI Eina_Bool e_comp_util_object_is_above_nocomp(Evas_Object *obj);
|
||||
|
||||
EINTERN Evas_Object *e_comp_style_selector_create(Evas *evas, const char **source);
|
||||
EAPI E_Config_Dialog *e_int_config_comp(E_Comp *comp, const char *params);
|
||||
|
|
Loading…
Reference in New Issue