rnd-20140117-1-src
[rocksndiamonds.git] / src / libgame / system.h
index 9f997cf16d63d7f6d4603389a880b7f67b259cfe..95076061b8f175cb6c167c25cd559f4675cad8aa 100644 (file)
 #define BLIT_INVERSE                   2
 #define BLIT_ON_BACKGROUND             3
 
+/* values for fullscreen status */
 #define FULLSCREEN_NOT_AVAILABLE       FALSE
 #define FULLSCREEN_AVAILABLE           TRUE
 
+/* values for window scaling */
+#define WINDOW_SCALING_NOT_AVAILABLE   FALSE
+#define WINDOW_SCALING_AVAILABLE       TRUE
+
+#define MIN_WINDOW_SCALING_PERCENT     50
+#define STD_WINDOW_SCALING_PERCENT     100
+#define MAX_WINDOW_SCALING_PERCENT     300
+#define STEP_WINDOW_SCALING_PERCENT    10
+
 /* default input keys */
 #define DEFAULT_KEY_LEFT               KSYM_Left
 #define DEFAULT_KEY_RIGHT              KSYM_Right
@@ -723,11 +733,16 @@ struct VideoSystemInfo
 {
   int default_depth;
   int width, height, depth;
+  int window_width, window_height;
 
   boolean fullscreen_available;
   boolean fullscreen_enabled;
+  boolean fullscreen_initial;
   struct ScreenModeInfo *fullscreen_modes;
   char *fullscreen_mode_current;
+
+  boolean window_scaling_available;
+  int window_scaling_percent;
 };
 
 struct AudioSystemInfo
@@ -937,6 +952,7 @@ struct SetupInfo
   boolean time_limit;
   boolean fullscreen;
   char *fullscreen_mode;
+  int window_scaling_percent;
   boolean ask_on_escape;
   boolean ask_on_escape_editor;
   boolean quick_switch;
@@ -1182,6 +1198,7 @@ struct TextPosInfo
   int size;
   int font, font_alt;
   boolean draw_masked;
+  boolean draw_player;         /* special case for network player buttons */
   int sort_priority;
   int id;
 };
@@ -1259,6 +1276,8 @@ void SetWindowBackgroundBitmap(Bitmap *);
 void SetMainBackgroundBitmap(Bitmap *);
 void SetDoorBackgroundBitmap(Bitmap *);
 
+void LimitScreenUpdates(boolean);
+
 void InitVideoDisplay(void);
 void CloseVideoDisplay(void);
 void InitVideoBuffer(int, int, int, boolean);