Refactoring patch from Ben Hutchings: move all the Gtk resize code into one
[sgt/puzzles] / puzzles.h
index 129ddd1..a8f82a2 100644 (file)
--- a/puzzles.h
+++ b/puzzles.h
@@ -67,8 +67,20 @@ enum {
 #define BUTTON_BEATS(x,y) ( 1 << (((x)-LEFT_BUTTON)*3+(y)-LEFT_BUTTON) )
 /* Flag indicating that Solve operations should be animated */
 #define SOLVE_ANIMATES ( 1 << 9 )
+/* Pocket PC: Game requires right mouse button emulation */
+#define REQUIRE_RBUTTON ( 1 << 10 )
+/* Pocket PC: Game requires numeric input */
+#define REQUIRE_NUMPAD ( 1 << 11 )
 /* end of `flags' word definitions */
 
+#ifdef _WIN32_WCE
+  /* Pocket PC devices have small, portrait screen that requires more vivid colours */
+  #define SMALL_SCREEN
+  #define PORTRAIT_SCREEN
+  #define VIVID_COLOURS
+  #define STYLUS_BASED
+#endif
+
 #define IGNOREARG(x) ( (x) = (x) )
 
 typedef struct frontend frontend;
@@ -288,6 +300,7 @@ void print_dsf(int *dsf, int size);
  * indicating whether the canonical element is inverse to val. */
 int edsf_canonify(int *dsf, int val, int *inverse);
 int dsf_canonify(int *dsf, int val);
+int dsf_size(int *dsf, int val);
 
 /* Allow the caller to specify that two elements should be in the same
  * equivalence class.  If 'inverse' is TRUE, the elements are actually opposite