chiark / gitweb /
Patch from James H to centralise some generally useful cursor-
[sgt-puzzles.git] / samegame.c
index 8976ad44b50b8d84b0672849c81bf84a7f5a9b5b..2b77c26ed07b052e0a56360800ee8420297907ac 100644 (file)
@@ -1277,8 +1277,7 @@ static char *interpret_move(game_state *state, game_ui *ui, game_drawstate *ds,
 
     if (button == RIGHT_BUTTON || button == LEFT_BUTTON) {
        tx = FROMCOORD(x); ty= FROMCOORD(y);
-    } else if (button == CURSOR_UP || button == CURSOR_DOWN ||
-              button == CURSOR_LEFT || button == CURSOR_RIGHT) {
+    } else if (IS_CURSOR_MOVE(button)) {
        int dx = 0, dy = 0;
        ui->displaysel = 1;
        dx = (button == CURSOR_LEFT) ? -1 : ((button == CURSOR_RIGHT) ? +1 : 0);
@@ -1286,8 +1285,7 @@ static char *interpret_move(game_state *state, game_ui *ui, game_drawstate *ds,
        ui->xsel = (ui->xsel + state->params.w + dx) % state->params.w;
        ui->ysel = (ui->ysel + state->params.h + dy) % state->params.h;
        return ret;
-    } else if (button == CURSOR_SELECT || button == ' ' || button == '\r' ||
-              button == '\n') {
+    } else if (IS_CURSOR_SELECT(button)) {
        ui->displaysel = 1;
        tx = ui->xsel;
        ty = ui->ysel;
@@ -1299,7 +1297,7 @@ static char *interpret_move(game_state *state, game_ui *ui, game_drawstate *ds,
     if (COL(state, tx, ty) == 0) return NULL;
 
     if (ISSEL(ui,tx,ty)) {
-       if (button == RIGHT_BUTTON)
+       if (button == RIGHT_BUTTON || button == CURSOR_SELECT2)
            sel_clear(ui, state);
        else
            ret = sel_movedesc(ui, state);