rnd-20140129-1-src
[rocksndiamonds.git] / src / libgame / system.h
index b9f65d149e19f77bffcc2b2aefc5ccc982ec461d..9ec6e757a34ee7946ca309f58e3a62d0f59c5e03 100644 (file)
 #define WINDOW_SCALING_NOT_AVAILABLE   FALSE
 #define WINDOW_SCALING_AVAILABLE       TRUE
 
-#define MIN_WINDOW_SCALING_PERCENT     10
+#define MIN_WINDOW_SCALING_PERCENT     50
 #define STD_WINDOW_SCALING_PERCENT     100
 #define MAX_WINDOW_SCALING_PERCENT     300
+#define STEP_WINDOW_SCALING_PERCENT    10
+
+/* values for window scaling quality */
+#define SCALING_QUALITY_NEAREST                "nearest"
+#define SCALING_QUALITY_LINEAR         "linear"
+#define SCALING_QUALITY_BEST           "best"
+
+#define SCALING_QUALITY_DEFAULT                SCALING_QUALITY_LINEAR
 
 /* default input keys */
 #define DEFAULT_KEY_LEFT               KSYM_Left
@@ -732,14 +740,17 @@ 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;
+  char *window_scaling_quality;
 };
 
 struct AudioSystemInfo
@@ -950,6 +961,7 @@ struct SetupInfo
   boolean fullscreen;
   char *fullscreen_mode;
   int window_scaling_percent;
+  char *window_scaling_quality;
   boolean ask_on_escape;
   boolean ask_on_escape_editor;
   boolean quick_switch;
@@ -1195,6 +1207,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;
 };
@@ -1272,6 +1285,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);