rnd-20030406-1-src
[rocksndiamonds.git] / src / libgame / system.h
index 955be708b67f14d5f7cd658898f3fa40d4a9b18f..0474bc7570405d8d376bf3017db47ad7732a744b 100644 (file)
@@ -66,6 +66,7 @@
 #define DEFAULT_KEY_LOAD_GAME  KSYM_F2
 #define DEFAULT_KEY_TOGGLE_PAUSE KSYM_space
 
+
 /* values for move directions and special "button" keys */
 #define MV_BIT_LEFT            0
 #define MV_BIT_RIGHT           1
@@ -88,6 +89,7 @@
                                 (x) == MV_RIGHT ? MV_BIT_RIGHT :       \
                                 (x) == MV_UP    ? MV_BIT_UP    : MV_BIT_DOWN)
 
+
 /* values for button status */
 #define MB_NOT_PRESSED         FALSE
 #define MB_NOT_RELEASED                TRUE
 #define MB_MIDDLEBUTTON                2
 #define MB_RIGHTBUTTON         3
 
+
 /* values for animation mode (frame order and direction) */
 #define ANIM_NONE              0
 #define ANIM_LOOP              (1 << 0)
 #define ANIM_RANDOM            (1 << 4)
 #define ANIM_REVERSE           (1 << 5)
 
+
 /* values for redraw_mask */
 #define REDRAW_NONE            (0)
 #define REDRAW_ALL             (1 << 0)
 #define REDRAW_FPS             (1 << 11)
 #define REDRAWTILES_THRESHOLD  (SCR_FIELDX * SCR_FIELDY / 2)
 
+
+/* values for mouse cursor */
+#define CURSOR_DEFAULT         0
+#define CURSOR_PLAYFIELD       1
+
+
 /* maximum number of parallel players supported by libgame functions */
 #define MAX_PLAYERS            4
 
@@ -243,7 +253,7 @@ struct ProgramInfo
 
   char *x11_icon_filename;
   char *x11_iconmask_filename;
-  char *msdos_pointer_filename;
+  char *msdos_cursor_filename;
 
   char *cookie_prefix;
   char *filename_prefix;       /* prefix to cut off from DOS filenames */
@@ -308,9 +318,12 @@ struct FontBitmapInfo
   int src_x, src_y;            /* start position of animation frames */
   int width, height;           /* width/height of each animation frame */
   int draw_x, draw_y;          /* offset for drawing font characters */
+  int num_chars;
+  int num_chars_per_line;
 
 #if defined(TARGET_X11_NATIVE_PERFORMANCE_WORKAROUND)
   Pixmap *clip_mask;           /* single-char-only clip mask array for X11 */
+  int last_num_chars;          /* to free last font clip masks */
 #endif
 };
 
@@ -339,6 +352,7 @@ struct GfxInfo
   int num_fonts;
   struct FontBitmapInfo *font_bitmap_info;
   int (*select_font_function)(int);
+  Pixel inverse_text_color;
 
   int anim_random_frame;
 };
@@ -687,6 +701,8 @@ void ReloadCustomImage(Bitmap *, char *);
 Bitmap *ZoomBitmap(Bitmap *, int, int);
 void CreateBitmapWithSmallBitmaps(Bitmap *);
 
+void SetMouseCursor(int);
+
 inline void OpenAudio(void);
 inline void CloseAudio(void);
 inline void SetAudioMode(boolean);