Canvas; fix rectangle rendering geometry

This commit is contained in:
Paul Davis 2020-06-19 14:01:53 -06:00
parent 04d00da461
commit 0d5725a63b

View file

@ -64,7 +64,7 @@ Rectangle::render (Rect const & area, Cairo::RefPtr<Cairo::Context> context) con
we should take that into account when rendering. we should take that into account when rendering.
*/ */
Rect self (item_to_window (_rect.translate (_position), false)); Rect self (item_to_window (_rect, false));
const Rect draw = self.intersection (area); const Rect draw = self.intersection (area);
if (!draw) { if (!draw) {
@ -180,8 +180,6 @@ Rectangle::set (Rect const & r)
as cheap to do it when asked. as cheap to do it when asked.
*/ */
cerr << name << " setting self rect\n";
if (r != _rect) { if (r != _rect) {
begin_change (); begin_change ();
@ -281,5 +279,11 @@ Rectangle::vertical_fraction (double y) const
void void
Rectangle::size_allocate (Rect const & r) Rectangle::size_allocate (Rect const & r)
{ {
set (r); /* leave position alone */
_allocation = r;
if (_layout_sensitive) {
set (r);
}
} }