rnd-20030411-1-src
[rocksndiamonds.git] / src / libgame / system.h
index c8afb2de3187d3aed2f8236c1447a1cbbfa6c61e..8126eb0490a6d2e18d33135569430dfec1defda6 100644 (file)
@@ -42,6 +42,8 @@
 
 #define BLIT_OPAQUE            0
 #define BLIT_MASKED            1
+#define BLIT_INVERSE           2
+#define BLIT_ON_BACKGROUND     3
 
 #define FULLSCREEN_NOT_AVAILABLE FALSE
 #define FULLSCREEN_AVAILABLE    TRUE
 #define CURSOR_DEFAULT         0
 #define CURSOR_PLAYFIELD       1
 
-#define CURSOR_MAX_WIDTH       32
-#define CURSOR_MAX_HEIGHT      32
-
 
 /* maximum number of parallel players supported by libgame functions */
 #define MAX_PLAYERS            4
@@ -321,9 +320,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
 };
 
@@ -352,7 +354,6 @@ struct GfxInfo
   int num_fonts;
   struct FontBitmapInfo *font_bitmap_info;
   int (*select_font_function)(int);
-  Pixel inverse_text_color;
 
   int anim_random_frame;
 };
@@ -363,15 +364,6 @@ struct JoystickInfo
   int fd[MAX_PLAYERS];         /* file descriptor of player's joystick */
 };
 
-struct MouseCursorInfo
-{
-  int width, height;
-  int hot_x, hot_y;
-
-  char data[CURSOR_MAX_WIDTH * CURSOR_MAX_HEIGHT / 8];
-  char mask[CURSOR_MAX_WIDTH * CURSOR_MAX_HEIGHT / 8];
-};
-
 struct SetupJoystickInfo
 {
   char *device_name;           /* device name of player's joystick */
@@ -537,6 +529,12 @@ struct ArtworkInfo
   char *mus_current_identifier;
 };
 
+struct ValueTextInfo
+{
+  int value;
+  char *text;
+};
+
 struct ConfigInfo
 {
   char *token;