rnd-20100421-1-src
[rocksndiamonds.git] / src / libgame / system.h
index ea4dbd173c86917f0a78f0d1837b98046bdea839..cbcf5c86ae4d24abcdbb66d561b17d22fd1f9ed5 100644 (file)
 
 /* values for special drawing styles (currently only for crumbled graphics) */
 #define STYLE_NONE             0
-#define STYLE_ACCURATE_BORDERS  (1 << 0)
-#define STYLE_WITH_INNER_CORNERS (1 << 1)
+#define STYLE_ACCURATE_BORDERS (1 << 0)
+#define STYLE_INNER_CORNERS    (1 << 1)
 
 #define STYLE_DEFAULT          STYLE_NONE
 
@@ -754,6 +754,10 @@ struct GfxInfo
   Bitmap *background_bitmap;
   int background_bitmap_mask;
 
+  boolean clipping_enabled;
+  int clip_x, clip_y;
+  int clip_width, clip_height;
+
   boolean override_level_graphics;
   boolean override_level_sounds;
   boolean override_level_music;
@@ -1108,6 +1112,13 @@ struct Rect
   int width, height;
 };
 
+struct RectWithBorder
+{
+  int x, y;
+  int width, height;
+  int border_size;
+};
+
 struct MenuPosInfo
 {
   int x, y;
@@ -1179,6 +1190,7 @@ void InitGfxDoor1Info(int, int, int, int);
 void InitGfxDoor2Info(int, int, int, int);
 void InitGfxWindowInfo(int, int);
 void InitGfxScrollbufferInfo(int, int);
+void InitGfxClipRegion(boolean, int, int, int, int);
 void InitGfxDrawBusyAnimFunction(void (*draw_busy_anim_function)(void));
 void InitGfxCustomArtworkInfo();
 void SetDrawDeactivationMask(int);
@@ -1192,6 +1204,7 @@ void CloseVideoDisplay(void);
 void InitVideoBuffer(int, int, int, boolean);
 Bitmap *CreateBitmapStruct(void);
 Bitmap *CreateBitmap(int, int, int);
+void ReCreateBitmap(Bitmap **, int, int, int);
 void FreeBitmap(Bitmap *);
 void BlitBitmap(Bitmap *, Bitmap *, int, int, int, int, int, int);
 void FadeRectangle(Bitmap *bitmap, int, int, int, int, int, int, int,