aboutsummaryrefslogtreecommitdiff
path: root/puzzles.h
diff options
context:
space:
mode:
authorSimon Tatham <anakin@pobox.com>2005-05-31 18:38:01 +0000
committerSimon Tatham <anakin@pobox.com>2005-05-31 18:38:01 +0000
commita50a65120c3b4230b6a1b95a52c8b6d3299a43c7 (patch)
treeefc4109cb80592e582561805dd707f2f2a43f388 /puzzles.h
parent437b69542fc34ae48bee14dc821ef9df1c71c62a (diff)
downloadpuzzles-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.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/puzzles.h b/puzzles.h
index 7b35896..b8317ee 100644
--- a/puzzles.h
+++ b/puzzles.h
@@ -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;
};
/*