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.
This commit is contained in:
Simon Tatham
2022-11-18 22:19:40 +00:00
parent 10bd3aeb2a
commit f86623bbd9

View File

@ -908,7 +908,7 @@ struct game_drawstate {
#define TILESIZE (ds->tilesize) #define TILESIZE (ds->tilesize)
#define MARGIN (ds->tilesize / 2) #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 CENTER ((ds->tilesize / 2) + WIDTH/2)
#define FROMCOORD(x) (((x) - MARGIN) / TILESIZE) #define FROMCOORD(x) (((x) - MARGIN) / TILESIZE)