ref: 48fef05eb6c8a70a9d883efd15308332da96e2ba
parent: 51d1f0f856b92a31cee4985f950a7c6b58169d21
author: Simon Tatham <anakin@pobox.com>
date: Sun Apr 8 09:06:45 EDT 2012
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]
--- a/guess.c
+++ b/guess.c
@@ -897,7 +897,7 @@
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 @@
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;