rnd-20061019-1-src
[rocksndiamonds.git] / src / libgame / system.h
index 8fdc788190093236f29066c9f57c41632c319c86..6fa176b434bcdbbe1f4b76ab5102d555fbc7639d 100644 (file)
@@ -1,7 +1,7 @@
 /***********************************************************
 * Artsoft Retro-Game Library                               *
 *----------------------------------------------------------*
-* (c) 1994-2002 Artsoft Entertainment                      *
+* (c) 1994-2006 Artsoft Entertainment                      *
 *               Holger Schemel                             *
 *               Detmolder Strasse 189                      *
 *               33604 Bielefeld                            *
 /* values for special (non game element) animation modes */
 #define ANIM_HORIZONTAL                (1 << 10)
 #define ANIM_VERTICAL          (1 << 11)
-#define ANIM_STATIC_PANEL      (1 << 12)
+#define ANIM_CENTERED          (1 << 12)
+#define ANIM_STATIC_PANEL      (1 << 13)
 
 #define ANIM_DEFAULT           ANIM_LOOP
 
+/* values for text alignment */
+#define ALIGN_LEFT             (1 << 0)
+#define ALIGN_RIGHT            (1 << 1)
+#define ALIGN_CENTER           (1 << 2)
+
+#define ALIGN_DEFAULT          ALIGN_LEFT
+
+#define ALIGNED_XPOS(x,w,a)    ((a) == ALIGN_CENTER ? (x) - (w) / 2 :  \
+                                (a) == ALIGN_RIGHT  ? (x) - (w) : (x))
+
 /* values for redraw_mask */
 #define REDRAW_NONE            (0)
 #define REDRAW_ALL             (1 << 0)
@@ -769,7 +780,7 @@ struct SetupInfo
   boolean direct_draw;         /* !double_buffering (redundant!) */
   boolean scroll_delay;
   boolean soft_scrolling;
-  boolean fading;
+  boolean fade_screens;
   boolean autorecord;
   boolean show_titlescreen;
   boolean quick_doors;
@@ -984,6 +995,12 @@ struct XY
   int x, y;
 };
 
+struct Rect
+{
+  int x, y;
+  int width, height;
+};
+
 
 /* ========================================================================= */
 /* exported variables                                                        */
@@ -1047,7 +1064,8 @@ Bitmap *CreateBitmapStruct(void);
 Bitmap *CreateBitmap(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);
+void FadeRectangle(Bitmap *bitmap, int, int, int, int, int, int, int,
+                  void (*draw_border_function)(void));
 void FillRectangle(Bitmap *, int, int, int, int, Pixel);
 void ClearRectangle(Bitmap *, int, int, int, int);
 void ClearRectangleOnBackground(Bitmap *, int, int, int, int);