ref: f86623bbd93e703f1be6432cc221319543a304e6
parent: 10bd3aeb2ac89a22d5ecfec5942db43e684912ec
author: Simon Tatham <anakin@pobox.com>
date: Fri Nov 18 17:19:40 EST 2022
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.
--- a/palisade.c
+++ b/palisade.c
@@ -908,7 +908,7 @@
#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)