summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJaakko Keränen <jaakko.keranen@iki.fi>2021-08-15 07:08:35 +0300
committerJaakko Keränen <jaakko.keranen@iki.fi>2021-08-15 07:11:25 +0300
commitd8a3a1ee93d3b6dd2235e1ac5d563240326d6d0f (patch)
tree6a7a2822225db27d3679f343f1c39d8940d05899
parent0df04130e8a6e3f2accdce7e51397db191fff09e (diff)
macOS: Workaround for an apparent SDL regression
On macOS with SDL 2.0.16, there's a problem with the bottom right corner of a rectangle drawn as a line strip being off by one. SDL_RenderDrawLines() is behaving oddly on macOS with SDL 2.0.16.
-rw-r--r--src/ui/paint.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/ui/paint.c b/src/ui/paint.c
index c575d5fc..869238d5 100644
--- a/src/ui/paint.c
+++ b/src/ui/paint.c
@@ -91,9 +91,13 @@ void drawRect_Paint(const iPaint *d, iRect rect, int color) {
91 if (br.y == d->dst->size.y) br.y--; 91 if (br.y == d->dst->size.y) br.y--;
92 const SDL_Point edges[] = { 92 const SDL_Point edges[] = {
93 { left_Rect(rect), top_Rect(rect) }, 93 { left_Rect(rect), top_Rect(rect) },
94 { br.x, top_Rect(rect) }, 94 { br.x, top_Rect(rect) },
95 { br.x, br.y }, 95 { br.x, br.y },
96#if SDL_VERSION_ATLEAST(2, 0, 16) && defined (iPlatformApple)
97 { left_Rect(rect), br.y - 1 }, /* regression in SDL 2.0.16? */
98#else
96 { left_Rect(rect), br.y }, 99 { left_Rect(rect), br.y },
100#endif
97 { left_Rect(rect), top_Rect(rect) } 101 { left_Rect(rect), top_Rect(rect) }
98 }; 102 };
99 setColor_Paint_(d, color); 103 setColor_Paint_(d, color);