forked from enlightenment/enlightenment
check all corners of an object in e_comp_object_util_zone_get()
if the top left corner is offscreen, checking other corners is still valid for returning a useful zone
This commit is contained in:
parent
96f1caeddb
commit
b6214b9846
|
@ -2927,12 +2927,18 @@ e_comp_object_util_zone_get(Evas_Object *obj)
|
|||
zone = cw->ec->zone;
|
||||
if (!zone)
|
||||
{
|
||||
int x, y;
|
||||
int x, y, w, h;
|
||||
|
||||
if (e_win_client_get(obj))
|
||||
return e_win_client_get(obj)->zone;
|
||||
evas_object_geometry_get(obj, &x, &y, NULL, NULL);
|
||||
evas_object_geometry_get(obj, &x, &y, &w, &h);
|
||||
zone = e_comp_zone_xy_get(x, y);
|
||||
if (zone) return zone;
|
||||
zone = e_comp_zone_xy_get(x + w, y + h);
|
||||
if (zone) return zone;
|
||||
zone = e_comp_zone_xy_get(x + w, y);
|
||||
if (zone) return zone;
|
||||
zone = e_comp_zone_xy_get(x, y + h);
|
||||
}
|
||||
return zone;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue