aboutsummaryrefslogtreecommitdiff
path: root/graphics/primitives.cpp
diff options
context:
space:
mode:
authorFilippos Karapetis2016-08-25 11:57:08 +0300
committerFilippos Karapetis2016-08-25 11:57:08 +0300
commit102fe0be9faa60e59d3703d53fd10db990fb8896 (patch)
tree74a31ef388d47c0339503848125e32046c15094c /graphics/primitives.cpp
parenta5b97a989cc117799706a0c82bc686f79d6eda9f (diff)
downloadscummvm-rg350-102fe0be9faa60e59d3703d53fd10db990fb8896.tar.gz
scummvm-rg350-102fe0be9faa60e59d3703d53fd10db990fb8896.tar.bz2
scummvm-rg350-102fe0be9faa60e59d3703d53fd10db990fb8896.zip
GRAPHICS: Fix discrepancy in the thick line drawing function
The shortcuts for horizontal and vertical lines should draw the extra thickness pixels around the line, not below it or to the right
Diffstat (limited to 'graphics/primitives.cpp')
-rw-r--r--graphics/primitives.cpp8
1 files changed, 2 insertions, 6 deletions
diff --git a/graphics/primitives.cpp b/graphics/primitives.cpp
index ac1c58b1d8..a879fc9e45 100644
--- a/graphics/primitives.cpp
+++ b/graphics/primitives.cpp
@@ -108,15 +108,11 @@ void drawThickLine2(int x1, int y1, int x2, int y2, int thick, int color, void (
int dy = abs(y2 - y1);
if (dx == 0) {
- if (y1 > y2)
- SWAP(y1, y2);
- Common::Rect r(x1, y1, x1 + thick - 1, y2);
+ Common::Rect r(x1 - thick / 2, MIN(y1, y2), x1 + thick / 2, MAX(y1, y2));
drawFilledRect(r, color, plotProc, data);
return;
} else if (dy == 0) {
- if (x1 > x2)
- SWAP(x1, x2);
- Common::Rect r(x1, y1, x2, y1 + thick - 1);
+ Common::Rect r(MIN(x1, x2), y1 - thick / 2, MAX(x1, x2), y1 + thick / 2);
drawFilledRect(r, color, plotProc, data);
return;
}