gzdoom-gles/src/win32/gl_sysfb.h
alexey.lysiuk e6e2b11167 Set common name for system-specific framebuffer class
Implementation details are hidden as much as possible in platform-specific source files
Reduced number of included header files
2018-04-09 20:47:49 +02:00

50 lines
1.1 KiB
C++

#ifndef __WIN32_GL_SYSFB_H__
#define __WIN32_GL_SYSFB_H__
#include "v_video.h"
class SystemFrameBuffer : public DFrameBuffer
{
typedef DFrameBuffer Super;
public:
SystemFrameBuffer() {}
// Actually, hMonitor is a HMONITOR, but it's passed as a void * as there
// look to be some cross-platform bits in the way.
SystemFrameBuffer(void *hMonitor, int width, int height, int bits, int refreshHz, bool fullscreen, bool bgra);
virtual ~SystemFrameBuffer();
void SetVSync (bool vsync);
void SwapBuffers();
void NewRefreshRate ();
int GetClientWidth();
int GetClientHeight();
int GetTrueHeight();
bool IsFullscreen();
void InitializeState();
protected:
bool CanUpdate();
void ResetGammaTable();
void SetGammaTable(uint16_t * tbl);
float m_Gamma, m_Brightness, m_Contrast;
uint16_t m_origGamma[768];
bool m_supportsGamma;
bool m_Fullscreen, m_Bgra;
int m_Width, m_Height, m_Bits, m_RefreshHz;
char m_displayDeviceNameBuffer[32/*CCHDEVICENAME*/]; // do not use windows.h constants here!
char *m_displayDeviceName;
int SwapInterval;
friend class Win32GLVideo;
};
#endif // __WIN32_GL_SYSFB_H__