Apply "103_fix-unequal-digit-h.diff" from the Debian package:
[sgt/puzzles] / puzzles.h
index 1c5342d..f2ef978 100644 (file)
--- a/puzzles.h
+++ b/puzzles.h
@@ -46,6 +46,7 @@ enum {
     CURSOR_LEFT,
     CURSOR_RIGHT,
     CURSOR_SELECT,
+    CURSOR_SELECT2,
     
     /* made smaller because of 'limited range of datatype' errors. */
     MOD_CTRL       = 0x1000,
@@ -60,6 +61,9 @@ enum {
                                (unsigned)(RIGHT_DRAG - LEFT_DRAG))
 #define IS_MOUSE_RELEASE(m) ( (unsigned)((m) - LEFT_RELEASE) <= \
                                (unsigned)(RIGHT_RELEASE - LEFT_RELEASE))
+#define IS_CURSOR_MOVE(m) ( (m) == CURSOR_UP || (m) == CURSOR_DOWN || \
+                            (m) == CURSOR_RIGHT || (m) == CURSOR_LEFT )
+#define IS_CURSOR_SELECT(m) ( (m) == CURSOR_SELECT || (m) == CURSOR_SELECT2)
 
 /*
  * Flags in the back end's `flags' word.
@@ -242,6 +246,7 @@ config_item *midend_get_config(midend *me, int which, char **wintitle);
 char *midend_set_config(midend *me, int which, config_item *cfg);
 char *midend_game_id(midend *me, char *id);
 char *midend_get_game_id(midend *me);
+int midend_can_format_as_text_now(midend *me);
 char *midend_text_format(midend *me);
 char *midend_solve(midend *me);
 void midend_supersede_game_desc(midend *me, char *desc, char *privdesc);
@@ -296,6 +301,17 @@ void shuffle(void *array, int nelts, int eltsize, random_state *rs);
 void draw_rect_outline(drawing *dr, int x, int y, int w, int h,
                        int colour);
 
+void move_cursor(int button, int *x, int *y, int maxw, int maxh, int wrap);
+
+/* Used in netslide.c and sixteen.c for cursor movement around edge. */
+int c2pos(int w, int h, int cx, int cy);
+void pos2c(int w, int h, int pos, int *cx, int *cy);
+
+/* Draws text with an 'outline' formed by offsetting the text
+ * by one pixel; useful for highlighting. Outline is omitted if -1. */
+void draw_text_outline(drawing *dr, int x, int y, int fonttype,
+                       int fontsize, int align,
+                       int text_colour, int outline_colour, char *text);
 /*
  * dsf.c
  */
@@ -419,7 +435,8 @@ struct game {
     int can_solve;
     char *(*solve)(game_state *orig, game_state *curr,
                    char *aux, char **error);
-    int can_format_as_text;
+    int can_format_as_text_ever;
+    int (*can_format_as_text_now)(game_params *params);
     char *(*text_format)(game_state *state);
     game_ui *(*new_ui)(game_state *state);
     void (*free_ui)(game_ui *ui);