2016-03-01 15:47:10 +00:00
|
|
|
#ifndef __I_VIDEO_H__
|
|
|
|
#define __I_VIDEO_H__
|
|
|
|
|
2019-12-05 20:18:11 +00:00
|
|
|
#include <cstdint>
|
2016-03-01 15:47:10 +00:00
|
|
|
|
|
|
|
class DFrameBuffer;
|
|
|
|
|
|
|
|
|
2018-06-17 14:19:14 +00:00
|
|
|
class IVideo
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
virtual ~IVideo() {}
|
|
|
|
|
|
|
|
virtual DFrameBuffer *CreateFrameBuffer() = 0;
|
|
|
|
|
|
|
|
bool SetResolution();
|
|
|
|
|
|
|
|
virtual void DumpAdapters();
|
|
|
|
};
|
|
|
|
|
|
|
|
void I_InitGraphics();
|
|
|
|
void I_ShutdownGraphics();
|
|
|
|
|
|
|
|
extern IVideo *Video;
|
|
|
|
|
2019-12-05 20:26:01 +00:00
|
|
|
void I_PolyPresentInit();
|
|
|
|
uint8_t *I_PolyPresentLock(int w, int h, bool vsync, int &pitch);
|
|
|
|
void I_PolyPresentUnlock(int x, int y, int w, int h);
|
|
|
|
void I_PolyPresentDeinit();
|
|
|
|
|
2016-03-01 15:47:10 +00:00
|
|
|
|
|
|
|
// Pause a bit.
|
|
|
|
// [RH] Despite the name, it apparently never waited for the VBL, even in
|
|
|
|
// the original DOS version (if the Heretic/Hexen source is any indicator).
|
|
|
|
void I_WaitVBL(int count);
|
|
|
|
|
|
|
|
|
|
|
|
#endif // __I_VIDEO_H__
|