Doc tweaks for Solo.
[sgt/puzzles] / puzzles.h
index 4de81a7..e873351 100644 (file)
--- a/puzzles.h
+++ b/puzzles.h
@@ -14,6 +14,9 @@
 
 #define lenof(array) ( sizeof(array) / sizeof(*(array)) )
 
+#define STR_INT(x) #x
+#define STR(x) STR_INT(x)
+
 enum {
     LEFT_BUTTON = 0x1000,
     MIDDLE_BUTTON,
@@ -34,6 +37,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;