Skip to content

Commit

Permalink
Smart cursor: Move cursor vertically when pile changes (undo/redo/aut…
Browse files Browse the repository at this point in the history
…o). (#4)
  • Loading branch information
nielssp committed Jul 20, 2021
1 parent 758dc2e commit f9bfdf9
Showing 1 changed file with 21 additions and 1 deletion.
22 changes: 21 additions & 1 deletion src/ui.c
Original file line number Diff line number Diff line change
Expand Up @@ -247,7 +247,7 @@ static void update_directions(Card *card, int y_max) {
return;
}
if (card->x == cur_x) {
if (card->y < cur_y) {
if (card->y < cur_y && (card->next || y_max < cur_y)) {
if (!n_card || card->y > n_card->y) {
n_card = card;
}
Expand Down Expand Up @@ -580,6 +580,26 @@ static int ui_loop(Game *game, Theme *theme, Pile *piles) {
}
}
}
if (smart_cursor) {
if (!keep_vertical_position) {
if (cursor_card && cursor_card->y < cur_y) {
cur_y = cursor_card->y;
} else if (cur_y < max_cur_y) {
while (cursor_card->next && cursor_card->y < max_cur_y) {
cursor_card = cursor_card->next;
}
cur_x = cursor_card->x;
cur_y = cursor_card->y;
}
}
if (!cursor_card && !n_card && !s_card && !w_card && !e_card) {
cur_x = 0;
cur_y = 0;
new_game = 1;
mouse_action = 0;
continue;
}
}
if (alt_cursor) {
mvprintw(theme->y_margin + off_y + old_cur_y,
theme->x_margin + old_cur_x * (theme->width + theme->x_spacing) - 1, " ");
Expand Down

0 comments on commit f9bfdf9

Please sign in to comment.