ScrollGroup::covers_{window,canvas}() need to account for possible non-zero position of the group.
They also do NOT need to consider scroll offset
This commit is contained in:
parent
e84e1f7403
commit
ccd881d518
@ -84,13 +84,18 @@ ScrollGroup::scroll_to (Duple const& d)
|
||||
bool
|
||||
ScrollGroup::covers_canvas (Duple const& d) const
|
||||
{
|
||||
boost::optional<Rect> r = bounding_box ();
|
||||
boost::optional<Rect> r = bounding_box ();
|
||||
|
||||
if (!r) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return r->contains (d);
|
||||
/* Bounding box is in item coordinates, but we need
|
||||
to consider the position of the bounding box
|
||||
within the canvas.
|
||||
*/
|
||||
|
||||
return r->translate (position()).contains (d);
|
||||
}
|
||||
|
||||
bool
|
||||
@ -102,7 +107,10 @@ ScrollGroup::covers_window (Duple const& d) const
|
||||
return false;
|
||||
}
|
||||
|
||||
Rect w = r->translate (-_scroll_offset);
|
||||
|
||||
return w.contains (d);
|
||||
/* Bounding box is in item coordinates, but we need
|
||||
to consider the position of the bounding box
|
||||
within the canvas.
|
||||
*/
|
||||
|
||||
return r->translate (position()).contains (d);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user