From c8bb68e11bc91a3d27be1624057bb4f4a82110f2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Duval?= Date: Thu, 6 Jul 2006 18:58:47 +0000 Subject: [PATCH] when drawing a line, we check if the line is only one point, to even draw a line this fixes bug #709, but it's not quite good in my opinion (Stephan, please could you review?) git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18050 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/servers/app/drawing/Painter/Painter.cpp | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/src/servers/app/drawing/Painter/Painter.cpp b/src/servers/app/drawing/Painter/Painter.cpp index 510dab8227..f8a6943b36 100644 --- a/src/servers/app/drawing/Painter/Painter.cpp +++ b/src/servers/app/drawing/Painter/Painter.cpp @@ -342,12 +342,22 @@ Painter::StrokeLine(BPoint a, BPoint b) return _Clipped(touched); } } + // do the pixel center offset here - a.x += 0.5; - a.y += 0.5; - b.x += 0.5; - b.y += 0.5; - + // TODO review this : + // in case it's the same pixel, we offset differently to have something drawn + if (a == b) { + a.x += 0.25; + a.y += 0.25; + b.x += 0.75; + b.y += 0.75; + } else { + a.x += 0.5; + a.y += 0.5; + b.x += 0.5; + b.y += 0.5; + } + agg::path_storage path; path.move_to(a.x, a.y); path.line_to(b.x, b.y);