#ifndef SCREEN_H
#define SCREEN_H
+#include <stddef.h>
+#include "qtypes.h"
+struct portable_samplepair_s;
+
void CL_Screen_Init (void);
void CL_UpdateScreen (void);
-void SCR_CenterPrint(char *str);
+void SCR_CenterPrint(const char *str);
+
+void SCR_BeginLoadingPlaque (qbool startup);
+void SCR_EndLoadingPlaque (void);
+
+// invoke refresh of loading plaque (nothing else seen)
+void SCR_UpdateLoadingScreen(qbool clear, qbool startup);
+void SCR_UpdateLoadingScreenIfShown(void);
+
+// pushes an item on the loading screen
+void SCR_PushLoadingScreen (const char *msg, float len_in_parent);
+void SCR_PopLoadingScreen (qbool redraw);
+void SCR_ClearLoadingScreen (qbool redraw);
-void SCR_BeginLoadingPlaque (void);
+void SCR_CaptureVideo_SoundFrame(const struct portable_samplepair_s *paintbuffer, size_t length);
-extern float scr_con_current;
-extern float scr_conlines; // lines of console to display
+extern float scr_con_current; // current height of displayed console
extern int sb_lines;
-extern cvar_t scr_viewsize;
-extern cvar_t scr_fov;
-extern cvar_t showfps;
-extern cvar_t showtime;
-extern cvar_t showdate;
+extern struct cvar_s scr_viewsize;
+extern struct cvar_s scr_fov;
+extern struct cvar_s cl_showfps;
+extern struct cvar_s cl_showtime;
+extern struct cvar_s cl_showdate;
+
+extern struct cvar_s crosshair;
+extern struct cvar_s crosshair_size;
+
+extern struct cvar_s scr_conalpha;
+extern struct cvar_s scr_conalphafactor;
+extern struct cvar_s scr_conalpha2factor;
+extern struct cvar_s scr_conalpha3factor;
+extern struct cvar_s scr_conscroll_x;
+extern struct cvar_s scr_conscroll_y;
+extern struct cvar_s scr_conscroll2_x;
+extern struct cvar_s scr_conscroll2_y;
+extern struct cvar_s scr_conscroll3_x;
+extern struct cvar_s scr_conscroll3_y;
+extern struct cvar_s scr_conbrightness;
+extern struct cvar_s r_letterbox;
+
+extern struct cvar_s scr_refresh;
+extern struct cvar_s scr_stipple;
+
+extern struct cvar_s r_stereo_separation;
+extern struct cvar_s r_stereo_angle;
+qbool R_Stereo_Active(void);
+extern int r_stereo_side;
-extern cvar_t crosshair;
-extern cvar_t crosshair_size;
-extern cvar_t crosshair_static;
+typedef struct scr_touchscreenarea_s
+{
+ const char *pic;
+ const char *text;
+ float rect[4];
+ float textheight;
+ float active;
+ float activealpha;
+ float inactivealpha;
+}
+scr_touchscreenarea_t;
-extern cvar_t scr_conspeed;
-extern cvar_t scr_conalpha;
-extern cvar_t scr_conbrightness;
-extern cvar_t r_letterbox;
+// FIXME: should resize dynamically?
+extern int scr_numtouchscreenareas;
+extern scr_touchscreenarea_t scr_touchscreenareas[128];
#endif