1998-04-07 00:00:00 +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__
|
|
|
|
#define __I_VIDEO__
|
|
|
|
|
|
|
|
|
|
|
|
#include "doomtype.h"
|
1998-07-14 00:00:00 +00:00
|
|
|
#include "v_video.h"
|
1998-04-07 00:00:00 +00:00
|
|
|
|
|
|
|
|
1998-07-14 00:00:00 +00:00
|
|
|
// [RH] True if the display is not in a window
|
|
|
|
extern BOOL Fullscreen;
|
1998-04-07 00:00:00 +00:00
|
|
|
|
|
|
|
|
|
|
|
// Called by D_DoomMain,
|
|
|
|
// Sets up the video mode
|
|
|
|
void I_InitGraphics (void);
|
|
|
|
|
1998-07-14 00:00:00 +00:00
|
|
|
// [RH] Set the display mode
|
|
|
|
void I_SetMode (int width, int height, int Bpp);
|
1998-04-07 00:00:00 +00:00
|
|
|
|
1999-02-17 00:00:00 +00:00
|
|
|
void STACK_ARGS I_ShutdownGraphics(void);
|
1998-04-07 00:00:00 +00:00
|
|
|
|
|
|
|
// Takes full 8 bit values.
|
1998-07-14 00:00:00 +00:00
|
|
|
void I_SetPalette (unsigned int *palette);
|
1998-04-07 00:00:00 +00:00
|
|
|
|
1998-07-14 00:00:00 +00:00
|
|
|
void I_BeginUpdate (void); // [RH] Locks screen[0]
|
1998-04-07 00:00:00 +00:00
|
|
|
void I_FinishUpdate (void);
|
1998-12-22 00:00:00 +00:00
|
|
|
void I_FinishUpdateNoBlit (void);
|
1998-04-07 00:00:00 +00:00
|
|
|
|
|
|
|
// Wait for vertical retrace or pause a bit.
|
|
|
|
void I_WaitVBL(int count);
|
|
|
|
|
1998-07-14 00:00:00 +00:00
|
|
|
void I_ReadScreen (byte *scr);
|
1998-04-07 00:00:00 +00:00
|
|
|
|
|
|
|
void I_BeginRead (void);
|
|
|
|
void I_EndRead (void);
|
|
|
|
|
1998-07-14 00:00:00 +00:00
|
|
|
BOOL I_CheckResolution (int width, int height, int bpp);
|
|
|
|
BOOL I_SetResolution (int width, int height, int bpp);
|
1998-04-07 00:00:00 +00:00
|
|
|
|
1998-07-14 00:00:00 +00:00
|
|
|
BOOL I_AllocateScreen (screen_t *scrn, int width, int height, int Bpp);
|
|
|
|
void I_FreeScreen (screen_t *scrn);
|
|
|
|
void I_LockScreen (screen_t *scrn);
|
|
|
|
void I_UnlockScreen (screen_t *scrn);
|
|
|
|
void I_Blit (screen_t *src, int srcx, int srcy, int srcwidth, int srcheight,
|
|
|
|
screen_t *dest, int destx, int desty, int destwidth, int destheight);
|
1998-04-07 00:00:00 +00:00
|
|
|
|
|
|
|
#endif
|
|
|
|
//-----------------------------------------------------------------------------
|
|
|
|
//
|
|
|
|
// $Log:$
|
|
|
|
//
|
|
|
|
//-----------------------------------------------------------------------------
|