aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon Tatham <anakin@pobox.com>2022-11-18 22:19:40 +0000
committerSimon Tatham <anakin@pobox.com>2022-11-18 22:22:52 +0000
commitf86623bbd93e703f1be6432cc221319543a304e6 (patch)
tree890b37e7828bf1f946e13cf4cbf7a6733989cefd
parent10bd3aeb2ac89a22d5ecfec5942db43e684912ec (diff)
downloadpuzzles-f86623bbd93e703f1be6432cc221319543a304e6.zip
puzzles-f86623bbd93e703f1be6432cc221319543a304e6.tar.gz
puzzles-f86623bbd93e703f1be6432cc221319543a304e6.tar.bz2
puzzles-f86623bbd93e703f1be6432cc221319543a304e6.tar.xz
Palisade: scale line thickness unboundedly with tile size.
The previous expression for WIDTH defined it, curiously, as (1 + (TILESIZE >= 16) + (TILESIZE >= 32) + (TILESIZE >= 64)) which is roughly logarithmic in tile size, but bounded above by a maximum of 4 pixels. On high-DPI displays this isn't really good enough any more. Now I've set the line thickness to a constant fraction of the tile size (but still bounded below by 1), so it's much easier to see the lines when the puzzle is expanded to extra large size.
-rw-r--r--palisade.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/palisade.c b/palisade.c
index 58619bf..fdd69cc 100644
--- a/palisade.c
+++ b/palisade.c
@@ -908,7 +908,7 @@ struct game_drawstate {
#define TILESIZE (ds->tilesize)
#define MARGIN (ds->tilesize / 2)
-#define WIDTH (1 + (TILESIZE >= 16) + (TILESIZE >= 32) + (TILESIZE >= 64))
+#define WIDTH (3*TILESIZE/32 > 1 ? 3*TILESIZE/32 : 1)
#define CENTER ((ds->tilesize / 2) + WIDTH/2)
#define FROMCOORD(x) (((x) - MARGIN) / TILESIZE)