From a70edc576552cbcd51e149ac6d231618c4fa4ec7 Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Wed, 8 Jan 2014 10:31:14 -0500 Subject: change rounding used for convert Rect from canvas to window coordinates --- libs/canvas/canvas.cc | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) (limited to 'libs/canvas') diff --git a/libs/canvas/canvas.cc b/libs/canvas/canvas.cc index 313c9f7ae5..db38d2d9a1 100644 --- a/libs/canvas/canvas.cc +++ b/libs/canvas/canvas.cc @@ -195,8 +195,12 @@ Duple Canvas::canvas_to_window (Duple const & d) const { Duple wd = d.translate (Duple (-_scroll_offset_x, -_scroll_offset_y)); + + /* Note that this intentionally always returns integer coordinates */ + wd.x = round (wd.x); wd.y = round (wd.y); + return wd; } @@ -210,10 +214,14 @@ Rect Canvas::canvas_to_window (Rect const & r) const { Rect wr = r.translate (Duple (-_scroll_offset_x, -_scroll_offset_y)); - wr.x0 = floor (wr.x0); - wr.x1 = ceil (wr.x1); - wr.y0 = floor (wr.y0); - wr.y1 = ceil (wr.y1); + + /* Note that this intentionally always returns integer coordinates */ + + wr.x0 = round (wr.x0); + wr.x1 = round (wr.x1); + wr.y0 = round (wr.y0); + wr.y1 = round (wr.y1); + return wr; } -- cgit v1.2.3