shithub: puzzles

Download patch

ref: ea4ba47662269fef9ae589c285659ee2f06a0b17
parent: ebb079eca0717971fa9e4bd30949d0a6a5de3636
author: Simon Tatham <[email protected]>
date: Fri Oct 28 18:35:22 EDT 2022

Loopy: adjust clip rectangle for new line thickness.

It would have helped in the previous commit if I'd tried actually
_playing_ the game, not just admiring it in its initial state. When I
did, I found that lines weren't being fully overdrawn, which turned
out to be because the clip rectangle was being set too narrow.

--- a/loopy.c
+++ b/loopy.c
@@ -3231,10 +3231,10 @@
     grid_to_screen(ds, g, x1, y1, &x1, &y1);
     grid_to_screen(ds, g, x2, y2, &x2, &y2);
     /* Allow extra margin for dots, and thickness of lines */
-    xmin = min(x1, x2) - 2;
-    xmax = max(x1, x2) + 2;
-    ymin = min(y1, y2) - 2;
-    ymax = max(y1, y2) + 2;
+    xmin = min(x1, x2) - (ds->tilesize + 15) / 16;
+    xmax = max(x1, x2) + (ds->tilesize + 15) / 16;
+    ymin = min(y1, y2) - (ds->tilesize + 15) / 16;
+    ymax = max(y1, y2) + (ds->tilesize + 15) / 16;
 
     *x = xmin;
     *y = ymin;