From b54a2713a170ef611e1185251d5d80c0e968cfc3 Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Fri, 6 Jun 2014 08:32:05 -0400 Subject: When rendering a Canvas::Rectangle take its _position into account, even though in general this is always (0,0) within its parent --- libs/canvas/rectangle.cc | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'libs/canvas/rectangle.cc') diff --git a/libs/canvas/rectangle.cc b/libs/canvas/rectangle.cc index 57c26874c4..cea5567dcc 100644 --- a/libs/canvas/rectangle.cc +++ b/libs/canvas/rectangle.cc @@ -51,7 +51,12 @@ Rectangle::Rectangle (Group* parent, Rect const & rect) void Rectangle::render (Rect const & area, Cairo::RefPtr context) const { - Rect self = item_to_window (_rect); + /* In general, a Rectangle will have a _position of (0,0) within its + parent, and its extent is actually defined by _rect. But in the + unusual case that _position is set to something other than (0,0), + we should take that into account when rendering. + */ + Rect self = item_to_window (_rect.translate (_position)); boost::optional r = self.intersection (area); if (!r) { -- cgit v1.2.3