Include code in midend.c to sanitise streams of mouse events so that
[sgt/puzzles] / puzzles.h
index d0882e3..c80f69b 100644 (file)
--- a/puzzles.h
+++ b/puzzles.h
@@ -34,6 +34,13 @@ enum {
     CURSOR_DOWN_RIGHT
 };
 
+#define IS_MOUSE_DOWN(m) ( (unsigned)((m) - LEFT_BUTTON) <= \
+                               (unsigned)(RIGHT_BUTTON - LEFT_BUTTON))
+#define IS_MOUSE_DRAG(m) ( (unsigned)((m) - LEFT_DRAG) <= \
+                               (unsigned)(RIGHT_DRAG - LEFT_DRAG))
+#define IS_MOUSE_RELEASE(m) ( (unsigned)((m) - LEFT_RELEASE) <= \
+                               (unsigned)(RIGHT_RELEASE - LEFT_RELEASE))
+
 #define IGNOREARG(x) ( (x) = (x) )
 
 typedef struct frontend frontend;
@@ -200,14 +207,6 @@ struct game {
 };
 
 /*
- * Here we include the knowledge of which platforms are of which
- * type.
- */
-#ifdef MAC_OS_X   /* this must be defined in the OS X Makefile */
-#define COMBINED
-#endif
-
-/*
  * For one-game-at-a-time platforms, there's a single structure
  * like the above, under a fixed name. For all-at-once platforms,
  * there's a list of all available puzzles in array form.