- if (ui->display_cur && !ds->display_cur)
- cur_draw = 1;
- else if (!ui->display_cur && ds->display_cur)
- cur_erase = 1;
- else if (ui->display_cur) {
- if ((state->next_go != ds->next_go) ||
- (ui->peg_cur != ds->peg_cur) ||
- (ui->colour_cur != ds->colour_cur)) {
- cur_erase = 1;
- cur_draw = 1;
- }
- }
- if (cur_erase) {
- cur_redraw(fe, ds, COL_X(ds->colour_cur), COL_Y(ds->colour_cur), 1);
- cur_redraw(fe, ds,
- GUESS_X(ds->next_go, ds->peg_cur), GUESS_Y(ds->next_go, ds->peg_cur), 1);
- }
- if (cur_draw) {
- cur_redraw(fe, ds, COL_X(ui->colour_cur), COL_Y(ui->colour_cur), 0);
- cur_redraw(fe, ds,
- GUESS_X(state->next_go, ui->peg_cur), GUESS_Y(state->next_go, ui->peg_cur), 0);
- }
- ds->display_cur = ui->display_cur;
- ds->peg_cur = ui->peg_cur;
- ds->colour_cur = ui->colour_cur;