diff options
| author | Simon Tatham <anakin@pobox.com> | 2005-05-31 18:38:01 +0000 |
|---|---|---|
| committer | Simon Tatham <anakin@pobox.com> | 2005-05-31 18:38:01 +0000 |
| commit | a50a65120c3b4230b6a1b95a52c8b6d3299a43c7 (patch) | |
| tree | efc4109cb80592e582561805dd707f2f2a43f388 /puzzles.h | |
| parent | 437b69542fc34ae48bee14dc821ef9df1c71c62a (diff) | |
| download | puzzles-a50a65120c3b4230b6a1b95a52c8b6d3299a43c7.zip puzzles-a50a65120c3b4230b6a1b95a52c8b6d3299a43c7.tar.gz puzzles-a50a65120c3b4230b6a1b95a52c8b6d3299a43c7.tar.bz2 puzzles-a50a65120c3b4230b6a1b95a52c8b6d3299a43c7.tar.xz | |
Better mouse button handling in Mines:
- middle button now also triggers the clear-around-square action
- a special-case handler in midend_process_key() arranges that the
left button always trumps the right button if both are pressed
together, meaning that Windows Minesweeper players used to
pressing L+R to clear around a square should still be able to do
so without any strange behaviour.
(The latter touches all game backends, yet again, to add a field to
the game structure which is zero in everything except Mines.)
[originally from svn r5888]
Diffstat (limited to 'puzzles.h')
| -rw-r--r-- | puzzles.h | 4 |
1 files changed, 4 insertions, 0 deletions
@@ -47,6 +47,9 @@ enum { #define IS_MOUSE_RELEASE(m) ( (unsigned)((m) - LEFT_RELEASE) <= \ (unsigned)(RIGHT_RELEASE - LEFT_RELEASE)) +/* Bit flags indicating mouse button priorities */ +#define BUTTON_BEATS(x,y) ( 1 << (((x)-LEFT_BUTTON)*3+(y)-LEFT_BUTTON) ) + #define IGNOREARG(x) ( (x) = (x) ) typedef struct frontend frontend; @@ -245,6 +248,7 @@ struct game { int (*wants_statusbar)(void); int is_timed; int (*timing_state)(game_state *state); + int mouse_priorities; }; /* |