This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
See the GNU General Public License for more details.
*/
// vid.h -- video driver defs
-#define VID_CBITS 6
-#define VID_GRADES (1 << VID_CBITS)
-
-// a pixel can be one, two, or four bytes
-typedef byte pixel_t;
-
-typedef struct vrect_s
-{
- int x,y,width,height;
- struct vrect_s *pnext;
-} vrect_t;
+#ifndef VID_H
+#define VID_H
typedef struct
{
- unsigned width;
- unsigned height;
- float aspect; // width / height -- < 0 is taller than wide
- int recalc_refdef; // if true, recalc vid-based stuff
- unsigned conwidth;
- unsigned conheight;
+ // these are set with VID_GetWindowSize and can change from frame to frame
+ int realx;
+ int realy;
+ int realwidth;
+ int realheight;
+
+ int conwidth;
+ int conheight;
} viddef_t;
-extern viddef_t vid; // global video state
+// global video state
+extern viddef_t vid;
extern void (*vid_menudrawfn)(void);
extern void (*vid_menukeyfn)(int key);
-extern qboolean isG200;
-extern qboolean isRagePro;
-extern qboolean gl_mtexable;
-extern qboolean gl_arrays;
+extern int vid_hidden;
+extern int vid_activewindow;
+
+extern cvar_t vid_mode;
+extern cvar_t vid_mouse;
+extern cvar_t vid_fullscreen;
+
+void VID_InitCvars(void);
void GL_Init (void);
-void VID_CheckMultiTexture();
-void VID_CheckVertexArrays();
+void VID_CheckExtensions(void);
-void VID_Init ();
+void VID_Init (void);
// Called at startup
-void VID_Shutdown (void);
+void VID_Shutdown (void);
// Called at shutdown
int VID_SetMode (int modenum);
// sets the mode; only used by the Quake engine for resetting to mode 0 (the
// base mode) on memory allocation failures
+
+// sets hardware gamma correction, returns false if the device does not
+// support gamma control
+int VID_SetGamma (float prescale, float gamma, float scale, float base);
+
+void VID_GetWindowSize (int *x, int *y, int *width, int *height);
+
+void VID_Finish (void);
+
+#endif
+