fix drawing of rectangles larger than 2000 pixels, caused by silly hard-coding of...
authorPaul Davis <paul@linuxaudiosystems.com>
Thu, 27 Jun 2013 21:27:58 +0000 (17:27 -0400)
committerPaul Davis <paul@linuxaudiosystems.com>
Thu, 27 Jun 2013 21:27:58 +0000 (17:27 -0400)
libs/canvas/rectangle.cc

index 2207ea80a12dd3908003436dd10933516cccc8e0..a5aa0a2895852dc4b46c4a9988a0e21254627ea2 100644 (file)
@@ -61,12 +61,13 @@ Rectangle::render (Rect const & area, Cairo::RefPtr<Cairo::Context> context) con
        
        Rect draw = d.get();
        static const double boundary = 0.5;
+       const double x_limit = _canvas->visible_area().width();
 
        draw.x0 = max (self.x0, max (0.0, draw.x0 - boundary));
-       draw.x1 = min (self.x1, min (2000.0, draw.x1 + boundary));
+       draw.x1 = min (self.x1, min (x_limit, draw.x1 + boundary));
 
        draw.y0 = max (self.y0, max (0.0, draw.y0 - boundary));
-       draw.y1 = min (self.y1, min (2000.0, draw.y1 + boundary));
+       draw.y1 = min (self.y1, min (x_limit, draw.y1 + boundary));
 
        Rect fill_rect = draw;
        Rect stroke_rect = fill_rect.expand (0.5);