X11: Fix map expose area
The stop_row and stop_col were off-by-one in some cases, leaving black lines on the map when a window on top was closed. Simplify the calculation by always going one row/col further, ensuring previously covered area gets redrawn for sure. This should not affect speed or resource usage noticeably these days.
This commit is contained in:
@@ -1414,6 +1414,7 @@ Unix: can define NOSUSPEND in config.h or src/Makefile's CFLAGS to prevent
|
|||||||
X11: implement 'selectsaved', restore via menu of saved games
|
X11: implement 'selectsaved', restore via menu of saved games
|
||||||
X11: echo getline prompt and response (wishes, applying names) to message
|
X11: echo getline prompt and response (wishes, applying names) to message
|
||||||
window and dumplog message history
|
window and dumplog message history
|
||||||
|
X11: fix map expose area, no longer leaving black bars on the map
|
||||||
|
|
||||||
|
|
||||||
NetHack Community Patches (or Variation) Included
|
NetHack Community Patches (or Variation) Included
|
||||||
|
|||||||
+2
-4
@@ -1199,12 +1199,10 @@ map_exposed(Widget w, XtPointer client_data, /* unused */
|
|||||||
t_width = map_info->text_map.square_width;
|
t_width = map_info->text_map.square_width;
|
||||||
}
|
}
|
||||||
start_row = y / t_height;
|
start_row = y / t_height;
|
||||||
stop_row = ((y + height) / t_height)
|
stop_row = ((y + height) / t_height) + 1;
|
||||||
+ ((((y + height) % t_height) == 0) ? 0 : 1) - 1;
|
|
||||||
|
|
||||||
start_col = x / t_width;
|
start_col = x / t_width;
|
||||||
stop_col = ((x + width) / t_width)
|
stop_col = ((x + width) / t_width) + 1;
|
||||||
+ ((((x + width) % t_width) == 0) ? 0 : 1) - 1;
|
|
||||||
|
|
||||||
#ifdef VERBOSE
|
#ifdef VERBOSE
|
||||||
printf("map_exposed: x = %d, y = %d, width = %d, height = %d\n", x, y,
|
printf("map_exposed: x = %d, y = %d, width = %d, height = %d\n", x, y,
|
||||||
|
|||||||
Reference in New Issue
Block a user