fixed using SDL_DisplayFormat() even if video is not initialized yet
[rocksndiamonds.git] / src / libgame / system.h
index 1a469a193e9f84395834ba2f034dc9b74f70fae4..5050c72675af29cfb669f875e7c2fa192cd9f77f 100644 (file)
@@ -707,7 +707,6 @@ struct OptionInfo
   boolean network;
   boolean verbose;
   boolean debug;
-  boolean debug_x11_sync;
 };
 
 struct ScreenModeInfo
@@ -730,6 +729,8 @@ struct VideoSystemInfo
   boolean window_scaling_available;
   int window_scaling_percent;
   char *window_scaling_quality;
+
+  boolean initialized;
 };
 
 struct AudioSystemInfo
@@ -789,6 +790,8 @@ struct GfxInfo
   int draw_deactivation_mask;
   int draw_background_mask;
 
+  boolean drawing_area_changed;
+
   Bitmap *field_save_buffer;
 
   Bitmap *background_bitmap;
@@ -812,6 +815,8 @@ struct GfxInfo
   int anim_random_frame;
 
   void (*draw_busy_anim_function)(void);
+
+  int cursor_mode;
 };
 
 struct JoystickInfo
@@ -1203,13 +1208,15 @@ struct DoorPartPosInfo
 struct TextPosInfo
 {
   int x, y;
+  int xoffset;                 /* special case for tape date and time */
+  int xoffset2;                        /* special case for tape date */
   int width, height;
   int align, valign;
-  int size;
+  int size;                    /* also used for suffix ".digits" */
   int font, font_alt;
   boolean draw_masked;
   boolean draw_player;         /* special case for network player buttons */
-  int sort_priority;
+  int sort_priority;           /* also used for suffix ".draw_order" */
   int id;
 };
 
@@ -1241,11 +1248,6 @@ extern int                       level_nr;
 
 extern struct LevelStats       level_stats[];
 
-extern Display                *display;
-extern Visual                 *visual;
-extern int                     screen;
-extern Colormap                        cmap;
-
 extern DrawWindow             *window;
 extern DrawBuffer             *backbuffer;
 extern DrawBuffer             *drawto;
@@ -1285,6 +1287,7 @@ void InitGfxScrollbufferInfo(int, int);
 void InitGfxClipRegion(boolean, int, int, int, int);
 void InitGfxDrawBusyAnimFunction(void (*draw_busy_anim_function)(void));
 void InitGfxCustomArtworkInfo();
+void InitGfxOtherSettings();
 void SetDrawDeactivationMask(int);
 void SetDrawBackgroundMask(int);
 void SetWindowBackgroundBitmap(Bitmap *);
@@ -1307,10 +1310,9 @@ void FadeRectangle(Bitmap *bitmap, int, int, int, int, int, int, int,
 void FillRectangle(Bitmap *, int, int, int, int, Pixel);
 void ClearRectangle(Bitmap *, int, int, int, int);
 void ClearRectangleOnBackground(Bitmap *, int, int, int, int);
-void SetClipMask(Bitmap *, GC, Pixmap);
-void SetClipOrigin(Bitmap *, GC, int, int);
 void BlitBitmapMasked(Bitmap *, Bitmap *, int, int, int, int, int, int);
 boolean DrawingOnBackground(int, int);
+boolean DrawingAreaChanged();
 void BlitBitmapOnBackground(Bitmap *, Bitmap *, int, int, int, int, int, int);
 void DrawSimpleBlackLine(Bitmap *, int, int, int, int);
 void DrawSimpleWhiteLine(Bitmap *, int, int, int, int);
@@ -1319,8 +1321,6 @@ Pixel GetPixel(Bitmap *, int, int);
 Pixel GetPixelFromRGB(Bitmap *, unsigned int,unsigned int,unsigned int);
 Pixel GetPixelFromRGBcompact(Bitmap *, unsigned int);
 
-void FlushDisplay(void);
-void SyncDisplay(void);
 void KeyboardAutoRepeatOn(void);
 void KeyboardAutoRepeatOff(void);
 boolean PointerInWindow(DrawWindow *);
@@ -1332,8 +1332,9 @@ Bitmap *LoadCustomImage(char *);
 void ReloadCustomImage(Bitmap *, char *);
 
 Bitmap *ZoomBitmap(Bitmap *, int, int);
-void CreateBitmapWithSmallBitmaps(Bitmap *, int, int);
-void ScaleBitmap(Bitmap *, int);
+void ReCreateGameTileSizeBitmap(Bitmap **);
+void CreateBitmapWithSmallBitmaps(Bitmap **, int, int);
+void ScaleBitmap(Bitmap **, int);
 
 void SetMouseCursor(int);