diff options
author | Jaakko Keränen <jaakko.keranen@iki.fi> | 2021-08-15 07:08:35 +0300 |
---|---|---|
committer | Jaakko Keränen <jaakko.keranen@iki.fi> | 2021-08-15 07:11:25 +0300 |
commit | d8a3a1ee93d3b6dd2235e1ac5d563240326d6d0f (patch) | |
tree | 6a7a2822225db27d3679f343f1c39d8940d05899 | |
parent | 0df04130e8a6e3f2accdce7e51397db191fff09e (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.c | 8 |
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); |