Increase by 1 in every direction the size of the blitter used to save

the background under a Guess coloured peg in mid-drag. Currently it
assumes the circle doesn't extend into the next pixel, which the docs
for draw_circle warn might happen due to antialiasing.

[originally from svn r9450]
This commit is contained in:
Simon Tatham
2012-04-08 13:06:45 +00:00
parent 51d1f0f856
commit 48fef05eb6

View File

@ -897,7 +897,7 @@ static void game_set_size(drawing *dr, game_drawstate *ds,
assert(ds->pegsz > 0);
assert(!ds->blit_peg); /* set_size is never called twice */
ds->blit_peg = blitter_new(dr, ds->pegsz, ds->pegsz);
ds->blit_peg = blitter_new(dr, ds->pegsz+2, ds->pegsz+2);
}
static float *game_colours(frontend *fe, int *ncolours)
@ -1290,11 +1290,10 @@ static void game_redraw(drawing *dr, game_drawstate *ds, game_state *oldstate,
if (ui->drag_col != 0) {
int ox = ui->drag_x - (PEGSZ/2);
int oy = ui->drag_y - (PEGSZ/2);
debug(("Saving to blitter at (%d,%d)", ox, oy));
blitter_save(dr, ds->blit_peg, ox, oy);
ds->blit_ox = ox - 1; ds->blit_oy = oy - 1;
debug(("Saving to blitter at (%d,%d)", ds->blit_ox, ds->blit_oy));
blitter_save(dr, ds->blit_peg, ds->blit_ox, ds->blit_oy);
draw_peg(dr, ds, ox, oy, TRUE, ui->show_labels, ui->drag_col);
ds->blit_ox = ox; ds->blit_oy = oy;
}
ds->drag_col = ui->drag_col;