int ex, ey, ew, eh;
int ax, ay, aw, ah;
int cx, cy, cw, ch;
+ int zx, zy, zw, zh;
+
+ EINA_SAFETY_ON_NULL_RETURN_VAL(ec, E_POL_VIS_TYPE_ALPHA);
+ EINA_SAFETY_ON_NULL_RETURN_VAL(ec->zone, E_POL_VIS_TYPE_ALPHA);
cx = ec->desk->geom.x;
cy = ec->desk->geom.y;
ch = ec->desk->geom.h;
e_client_geometry_get(ec, &ex, &ey, &ew, &eh);
+ e_zone_useful_geometry_get(ec->zone, &zx, &zy, &zw, &zh);
// check whether ec is out of its container or not
if (!E_INTERSECTS(ex, ey, ew, eh, cx, cy, cw, ch))
return E_POL_VIS_TYPE_NON_ALPHA;
+ // crop ec size with zone size
+ E_RECTS_CLIP_TO_RECT(ex, ey, ew, eh, zx, zy, zw, zh);
+
for (above = e_client_above_get(ec); above; above = e_client_above_get(above))
{
if (e_client_util_ignored_get(above)) continue;