diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2013-04-17 10:53:17 -0400 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2013-04-17 10:53:17 -0400 |
commit | d1a05240efc9816b4358cdeab458a54048abf9be (patch) | |
tree | fa45892d3971951ec5a51d6a0526271940cb6de3 /libs/canvas/line.cc | |
parent | 96eee9e7a162e3e26dd9c1ea4d8fc1ad02a3dda9 (diff) |
fix clamping of line and rect coordinates to avoid issues with cairo when drawing way outside a surface's dimensions; move various coordinate methods down to Canvas, because they don't require GTK information; make visible_area() a Canvas virtual method so that we don't have to cast to call it
Diffstat (limited to 'libs/canvas/line.cc')
-rw-r--r-- | libs/canvas/line.cc | 11 |
1 files changed, 3 insertions, 8 deletions
diff --git a/libs/canvas/line.cc b/libs/canvas/line.cc index 7baa0e1e73..2894a80a89 100644 --- a/libs/canvas/line.cc +++ b/libs/canvas/line.cc @@ -24,6 +24,7 @@ #include "canvas/types.h" #include "canvas/debug.h" #include "canvas/utils.h" +#include "canvas/canvas.h" using namespace std; using namespace ArdourCanvas; @@ -55,14 +56,8 @@ void Line::render (Rect const & /*area*/, Cairo::RefPtr<Cairo::Context> context) const { setup_outline_context (context); - - Duple plot[2] = { - Duple (min (_points[0].x, CAIRO_MAX), min (_points[0].y, CAIRO_MAX)), - Duple (min (_points[1].x, CAIRO_MAX), min (_points[1].y, CAIRO_MAX)) - }; - - context->move_to (plot[0].x, plot[0].y); - context->line_to (plot[1].x, plot[1].y); + context->move_to (_points[0].x, _points[0].y); + context->line_to (_points[1].x, _points[1].y); context->stroke (); } |