mirror of
git://git.tartarus.org/simon/puzzles.git
synced 2025-04-21 08:01:30 -07:00
Hardwiring the grid line width to 1 is really bad for printing. Use
a slightly more conventional method of drawing the grid lines, and thereby fix printing. [originally from svn r7335]
This commit is contained in:
35
filling.c
35
filling.c
@ -1121,18 +1121,32 @@ static void draw_square(drawing *dr, game_drawstate *ds, int x, int y,
|
||||
assert(dr);
|
||||
assert(ds);
|
||||
|
||||
/*
|
||||
* Clip to the grid square.
|
||||
*/
|
||||
clip(dr, BORDER + x*TILE_SIZE, BORDER + y*TILE_SIZE,
|
||||
TILE_SIZE, TILE_SIZE);
|
||||
|
||||
/*
|
||||
* Clear the square.
|
||||
*/
|
||||
draw_rect(dr,
|
||||
BORDER + x*TILE_SIZE + 1,
|
||||
BORDER + y*TILE_SIZE + 1,
|
||||
TILE_SIZE - 1,
|
||||
TILE_SIZE - 1,
|
||||
BORDER + x*TILE_SIZE,
|
||||
BORDER + y*TILE_SIZE,
|
||||
TILE_SIZE,
|
||||
TILE_SIZE,
|
||||
(flags & CURSOR_BG ? COL_HIGHLIGHT :
|
||||
flags & ERROR_BG ? COL_ERROR :
|
||||
flags & CORRECT_BG ? COL_CORRECT : COL_BACKGROUND));
|
||||
|
||||
/*
|
||||
* Draw the grid lines.
|
||||
*/
|
||||
draw_line(dr, BORDER + x*TILE_SIZE, BORDER + y*TILE_SIZE,
|
||||
BORDER + (x+1)*TILE_SIZE, BORDER + y*TILE_SIZE, COL_GRID);
|
||||
draw_line(dr, BORDER + x*TILE_SIZE, BORDER + y*TILE_SIZE,
|
||||
BORDER + x*TILE_SIZE, BORDER + (y+1)*TILE_SIZE, COL_GRID);
|
||||
|
||||
/*
|
||||
* Draw the number.
|
||||
*/
|
||||
@ -1209,12 +1223,14 @@ static void draw_square(drawing *dr, game_drawstate *ds, int x, int y,
|
||||
BORDER_WIDTH,
|
||||
BORDER_WIDTH,
|
||||
COL_GRID);
|
||||
|
||||
|
||||
unclip(dr);
|
||||
|
||||
draw_update(dr,
|
||||
BORDER + x*TILE_SIZE - 1,
|
||||
BORDER + y*TILE_SIZE - 1,
|
||||
TILE_SIZE + 3,
|
||||
TILE_SIZE + 3);
|
||||
BORDER + x*TILE_SIZE,
|
||||
BORDER + y*TILE_SIZE,
|
||||
TILE_SIZE,
|
||||
TILE_SIZE);
|
||||
}
|
||||
|
||||
static void draw_grid(drawing *dr, game_drawstate *ds, game_state *state,
|
||||
@ -1463,6 +1479,7 @@ static void game_print(drawing *dr, game_state *state, int tilesize)
|
||||
/*
|
||||
* Draw grid.
|
||||
*/
|
||||
print_line_width(dr, TILE_SIZE / 64);
|
||||
draw_grid(dr, ds, state, NULL, FALSE, borders, FALSE);
|
||||
|
||||
/*
|
||||
|
Reference in New Issue
Block a user