summaryrefslogtreecommitdiff
path: root/libs/canvas/line.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2013-04-17 10:53:17 -0400
committerPaul Davis <paul@linuxaudiosystems.com>2013-04-17 10:53:17 -0400
commitd1a05240efc9816b4358cdeab458a54048abf9be (patch)
treefa45892d3971951ec5a51d6a0526271940cb6de3 /libs/canvas/line.cc
parent96eee9e7a162e3e26dd9c1ea4d8fc1ad02a3dda9 (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.cc11
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 ();
}