2006-02-24 04:48:15 +00:00
|
|
|
// Emacs style mode select -*- C++ -*-
|
|
|
|
//-----------------------------------------------------------------------------
|
|
|
|
//
|
|
|
|
// $Id:$
|
|
|
|
//
|
|
|
|
// Copyright (C) 1993-1996 by id Software, Inc.
|
|
|
|
//
|
|
|
|
// This source is available for distribution and/or modification
|
|
|
|
// only under the terms of the DOOM Source Code License as
|
|
|
|
// published by id Software. All rights reserved.
|
|
|
|
//
|
|
|
|
// The source is distributed in the hope that it will be useful,
|
|
|
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
// FITNESS FOR A PARTICULAR PURPOSE. See the DOOM Source Code License
|
|
|
|
// for more details.
|
|
|
|
//
|
|
|
|
// DESCRIPTION:
|
|
|
|
// System specific interface stuff.
|
|
|
|
//
|
|
|
|
//-----------------------------------------------------------------------------
|
|
|
|
|
|
|
|
|
|
|
|
#ifndef __I_VIDEO_H__
|
|
|
|
#define __I_VIDEO_H__
|
|
|
|
|
|
|
|
#include "doomtype.h"
|
|
|
|
#include "v_video.h"
|
|
|
|
|
|
|
|
|
|
|
|
// [RH] Set the display mode
|
|
|
|
void I_SetMode (int &width, int &height, int &bits);
|
|
|
|
|
|
|
|
// Takes full 8 bit values.
|
|
|
|
void I_SetPalette (DWORD *palette);
|
|
|
|
|
|
|
|
void I_BeginUpdate (void); // [RH] Locks screen[0]
|
|
|
|
void I_FinishUpdate (void);
|
|
|
|
void I_FinishUpdateNoBlit (void);
|
|
|
|
|
|
|
|
// Wait for vertical retrace or pause a bit.
|
|
|
|
void I_WaitVBL(int count);
|
|
|
|
|
2006-09-14 00:02:31 +00:00
|
|
|
void I_ReadScreen (BYTE *scr);
|
2006-02-24 04:48:15 +00:00
|
|
|
|
|
|
|
bool I_CheckResolution (int width, int height, int bits);
|
|
|
|
void I_ClosestResolution (int *width, int *height, int bits);
|
|
|
|
bool I_SetResolution (int width, int height, int bits);
|
|
|
|
|
|
|
|
void I_StartModeIterator (int bits);
|
|
|
|
bool I_NextMode (int *width, int *height, bool letterbox);
|
|
|
|
|
|
|
|
bool I_AllocateScreen (DCanvas *canvas, int width, int height, int bits);
|
|
|
|
void I_FreeScreen (DCanvas *canvas);
|
|
|
|
|
|
|
|
void I_LockScreen (DCanvas *canvas);
|
|
|
|
void I_UnlockScreen (DCanvas *canvas);
|
|
|
|
void I_Blit (DCanvas *from, int srcx, int srcy, int srcwidth, int srcheight,
|
|
|
|
DCanvas *to, int destx, int desty, int destwidth, int destheight);
|
|
|
|
|
|
|
|
enum EDisplayType
|
|
|
|
{
|
|
|
|
DISPLAY_WindowOnly,
|
|
|
|
DISPLAY_FullscreenOnly,
|
|
|
|
DISPLAY_Both
|
|
|
|
};
|
|
|
|
|
|
|
|
EDisplayType I_DisplayType ();
|
|
|
|
|
|
|
|
#endif // __I_VIDEO_H__
|