mirror of
https://github.com/ZDoom/gzdoom-gles.git
synced 2024-11-29 15:32:57 +00:00
- made win32gliface.cpp more readable.
This commit is contained in:
parent
0a62e177d1
commit
b59d82ad5b
1 changed files with 150 additions and 0 deletions
|
@ -33,6 +33,12 @@ RenderContext gl;
|
||||||
EXTERN_CVAR(Bool, gl_vid_compatibility)
|
EXTERN_CVAR(Bool, gl_vid_compatibility)
|
||||||
EXTERN_CVAR(Int, vid_refreshrate)
|
EXTERN_CVAR(Int, vid_refreshrate)
|
||||||
|
|
||||||
|
//==========================================================================
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//==========================================================================
|
||||||
|
|
||||||
Win32GLVideo::Win32GLVideo(int parm) : m_Modes(NULL), m_IsFullscreen(false)
|
Win32GLVideo::Win32GLVideo(int parm) : m_Modes(NULL), m_IsFullscreen(false)
|
||||||
{
|
{
|
||||||
#ifdef _WIN32
|
#ifdef _WIN32
|
||||||
|
@ -50,16 +56,34 @@ Win32GLVideo::Win32GLVideo(int parm) : m_Modes(NULL), m_IsFullscreen(false)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//==========================================================================
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//==========================================================================
|
||||||
|
|
||||||
Win32GLVideo::~Win32GLVideo()
|
Win32GLVideo::~Win32GLVideo()
|
||||||
{
|
{
|
||||||
FreeModes();
|
FreeModes();
|
||||||
if (GLRenderer != NULL) GLRenderer->FlushTextures();
|
if (GLRenderer != NULL) GLRenderer->FlushTextures();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//==========================================================================
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//==========================================================================
|
||||||
|
|
||||||
void Win32GLVideo::SetWindowedScale(float scale)
|
void Win32GLVideo::SetWindowedScale(float scale)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//==========================================================================
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//==========================================================================
|
||||||
|
|
||||||
struct MonitorEnumState
|
struct MonitorEnumState
|
||||||
{
|
{
|
||||||
int curIdx;
|
int curIdx;
|
||||||
|
@ -89,6 +113,12 @@ static BOOL CALLBACK GetDisplayDeviceNameMonitorEnumProc(HMONITOR hMonitor, HDC,
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//==========================================================================
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//==========================================================================
|
||||||
|
|
||||||
void Win32GLVideo::GetDisplayDeviceName()
|
void Win32GLVideo::GetDisplayDeviceName()
|
||||||
{
|
{
|
||||||
// If anything goes wrong, anything at all, everything uses the primary
|
// If anything goes wrong, anything at all, everything uses the primary
|
||||||
|
@ -121,6 +151,12 @@ void Win32GLVideo::GetDisplayDeviceName()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//==========================================================================
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//==========================================================================
|
||||||
|
|
||||||
void Win32GLVideo::MakeModesList()
|
void Win32GLVideo::MakeModesList()
|
||||||
{
|
{
|
||||||
ModeInfo *pMode, *nextmode;
|
ModeInfo *pMode, *nextmode;
|
||||||
|
@ -153,6 +189,12 @@ void Win32GLVideo::MakeModesList()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//==========================================================================
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//==========================================================================
|
||||||
|
|
||||||
void Win32GLVideo::StartModeIterator(int bits, bool fs)
|
void Win32GLVideo::StartModeIterator(int bits, bool fs)
|
||||||
{
|
{
|
||||||
m_IteratorMode = m_Modes;
|
m_IteratorMode = m_Modes;
|
||||||
|
@ -162,6 +204,12 @@ void Win32GLVideo::StartModeIterator(int bits, bool fs)
|
||||||
m_IteratorFS = fs;
|
m_IteratorFS = fs;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//==========================================================================
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//==========================================================================
|
||||||
|
|
||||||
bool Win32GLVideo::NextMode(int *width, int *height, bool *letterbox)
|
bool Win32GLVideo::NextMode(int *width, int *height, bool *letterbox)
|
||||||
{
|
{
|
||||||
if (m_IteratorMode)
|
if (m_IteratorMode)
|
||||||
|
@ -184,6 +232,12 @@ bool Win32GLVideo::NextMode(int *width, int *height, bool *letterbox)
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//==========================================================================
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//==========================================================================
|
||||||
|
|
||||||
void Win32GLVideo::AddMode(int x, int y, int bits, int baseHeight, int refreshHz)
|
void Win32GLVideo::AddMode(int x, int y, int bits, int baseHeight, int refreshHz)
|
||||||
{
|
{
|
||||||
ModeInfo **probep = &m_Modes;
|
ModeInfo **probep = &m_Modes;
|
||||||
|
@ -213,6 +267,12 @@ void Win32GLVideo::AddMode(int x, int y, int bits, int baseHeight, int refreshHz
|
||||||
(*probep)->next = probe;
|
(*probep)->next = probe;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//==========================================================================
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//==========================================================================
|
||||||
|
|
||||||
void Win32GLVideo::FreeModes()
|
void Win32GLVideo::FreeModes()
|
||||||
{
|
{
|
||||||
ModeInfo *mode = m_Modes;
|
ModeInfo *mode = m_Modes;
|
||||||
|
@ -227,6 +287,12 @@ void Win32GLVideo::FreeModes()
|
||||||
m_Modes = NULL;
|
m_Modes = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//==========================================================================
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//==========================================================================
|
||||||
|
|
||||||
bool Win32GLVideo::GoFullscreen(bool yes)
|
bool Win32GLVideo::GoFullscreen(bool yes)
|
||||||
{
|
{
|
||||||
m_IsFullscreen = yes;
|
m_IsFullscreen = yes;
|
||||||
|
@ -258,6 +324,12 @@ bool Win32GLVideo::GoFullscreen(bool yes)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//==========================================================================
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//==========================================================================
|
||||||
|
|
||||||
DFrameBuffer *Win32GLVideo::CreateFrameBuffer(int width, int height, bool fs, DFrameBuffer *old)
|
DFrameBuffer *Win32GLVideo::CreateFrameBuffer(int width, int height, bool fs, DFrameBuffer *old)
|
||||||
{
|
{
|
||||||
Win32GLFrameBuffer *fb;
|
Win32GLFrameBuffer *fb;
|
||||||
|
@ -302,6 +374,12 @@ DFrameBuffer *Win32GLVideo::CreateFrameBuffer(int width, int height, bool fs, DF
|
||||||
return fb;
|
return fb;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//==========================================================================
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//==========================================================================
|
||||||
|
|
||||||
bool Win32GLVideo::SetResolution (int width, int height, int bits)
|
bool Win32GLVideo::SetResolution (int width, int height, int bits)
|
||||||
{
|
{
|
||||||
if (GLRenderer != NULL) GLRenderer->FlushTextures();
|
if (GLRenderer != NULL) GLRenderer->FlushTextures();
|
||||||
|
@ -316,6 +394,12 @@ bool Win32GLVideo::SetResolution (int width, int height, int bits)
|
||||||
return true; // We must return true because the old video context no longer exists.
|
return true; // We must return true because the old video context no longer exists.
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//==========================================================================
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//==========================================================================
|
||||||
|
|
||||||
struct DumpAdaptersState
|
struct DumpAdaptersState
|
||||||
{
|
{
|
||||||
unsigned index;
|
unsigned index;
|
||||||
|
@ -359,6 +443,12 @@ static BOOL CALLBACK DumpAdaptersMonitorEnumProc(HMONITOR hMonitor, HDC, LPRECT,
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//==========================================================================
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//==========================================================================
|
||||||
|
|
||||||
void Win32GLVideo::DumpAdapters()
|
void Win32GLVideo::DumpAdapters()
|
||||||
{
|
{
|
||||||
DumpAdaptersState das;
|
DumpAdaptersState das;
|
||||||
|
@ -369,8 +459,20 @@ void Win32GLVideo::DumpAdapters()
|
||||||
EnumDisplayMonitors(0, 0, DumpAdaptersMonitorEnumProc, LPARAM(&das));
|
EnumDisplayMonitors(0, 0, DumpAdaptersMonitorEnumProc, LPARAM(&das));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//==========================================================================
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//==========================================================================
|
||||||
|
|
||||||
IMPLEMENT_ABSTRACT_CLASS(Win32GLFrameBuffer)
|
IMPLEMENT_ABSTRACT_CLASS(Win32GLFrameBuffer)
|
||||||
|
|
||||||
|
//==========================================================================
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//==========================================================================
|
||||||
|
|
||||||
Win32GLFrameBuffer::Win32GLFrameBuffer(void *hMonitor, int width, int height, int bits, int refreshHz, bool fullscreen) : BaseWinFB(width, height)
|
Win32GLFrameBuffer::Win32GLFrameBuffer(void *hMonitor, int width, int height, int bits, int refreshHz, bool fullscreen) : BaseWinFB(width, height)
|
||||||
{
|
{
|
||||||
static int localmultisample=-1;
|
static int localmultisample=-1;
|
||||||
|
@ -448,6 +550,12 @@ Win32GLFrameBuffer::Win32GLFrameBuffer(void *hMonitor, int width, int height, in
|
||||||
ReleaseDC(Window, hDC);
|
ReleaseDC(Window, hDC);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//==========================================================================
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//==========================================================================
|
||||||
|
|
||||||
Win32GLFrameBuffer::~Win32GLFrameBuffer()
|
Win32GLFrameBuffer::~Win32GLFrameBuffer()
|
||||||
{
|
{
|
||||||
if (m_supportsGamma)
|
if (m_supportsGamma)
|
||||||
|
@ -470,16 +578,34 @@ Win32GLFrameBuffer::~Win32GLFrameBuffer()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//==========================================================================
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//==========================================================================
|
||||||
|
|
||||||
void Win32GLFrameBuffer::InitializeState()
|
void Win32GLFrameBuffer::InitializeState()
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//==========================================================================
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//==========================================================================
|
||||||
|
|
||||||
bool Win32GLFrameBuffer::CanUpdate()
|
bool Win32GLFrameBuffer::CanUpdate()
|
||||||
{
|
{
|
||||||
if (!AppActive) return false;
|
if (!AppActive) return false;
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//==========================================================================
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//==========================================================================
|
||||||
|
|
||||||
void Win32GLFrameBuffer::SetGammaTable(WORD *tbl)
|
void Win32GLFrameBuffer::SetGammaTable(WORD *tbl)
|
||||||
{
|
{
|
||||||
HDC hDC = GetDC(Window);
|
HDC hDC = GetDC(Window);
|
||||||
|
@ -487,6 +613,12 @@ void Win32GLFrameBuffer::SetGammaTable(WORD *tbl)
|
||||||
ReleaseDC(Window, hDC);
|
ReleaseDC(Window, hDC);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//==========================================================================
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//==========================================================================
|
||||||
|
|
||||||
bool Win32GLFrameBuffer::Lock(bool buffered)
|
bool Win32GLFrameBuffer::Lock(bool buffered)
|
||||||
{
|
{
|
||||||
m_Lock++;
|
m_Lock++;
|
||||||
|
@ -509,6 +641,12 @@ bool Win32GLFrameBuffer::IsLocked ()
|
||||||
return m_Lock>0;// true;
|
return m_Lock>0;// true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//==========================================================================
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//==========================================================================
|
||||||
|
|
||||||
bool Win32GLFrameBuffer::IsFullscreen()
|
bool Win32GLFrameBuffer::IsFullscreen()
|
||||||
{
|
{
|
||||||
return m_Fullscreen;
|
return m_Fullscreen;
|
||||||
|
@ -546,11 +684,23 @@ void Win32GLFrameBuffer::ReleaseResources ()
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//==========================================================================
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//==========================================================================
|
||||||
|
|
||||||
void Win32GLFrameBuffer::SetVSync (bool vsync)
|
void Win32GLFrameBuffer::SetVSync (bool vsync)
|
||||||
{
|
{
|
||||||
if (gl.SetVSync!=NULL) gl.SetVSync(vsync);
|
if (gl.SetVSync!=NULL) gl.SetVSync(vsync);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//==========================================================================
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//==========================================================================
|
||||||
|
|
||||||
void Win32GLFrameBuffer::NewRefreshRate ()
|
void Win32GLFrameBuffer::NewRefreshRate ()
|
||||||
{
|
{
|
||||||
if (m_Fullscreen)
|
if (m_Fullscreen)
|
||||||
|
|
Loading…
Reference in a new issue