gzdoom/src/sdl/i_video.h

69 lines
2 KiB
C++

// 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);
void I_ReadScreen (byte *scr);
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__