additions
This commit is contained in:
@@ -31,6 +31,8 @@ public:
|
||||
virtual void *CreateVulkanSurface( void *pInstance ) override;
|
||||
virtual void DestroyVulkanSurface( void *pInstance ) override;
|
||||
|
||||
virtual bool IsValid() override;
|
||||
|
||||
SDL_WindowID WindowID();
|
||||
|
||||
KeyCallbackFn m_fnKeyCallback = NULL;
|
||||
@@ -40,6 +42,8 @@ public:
|
||||
uint32_t m_uRenderWidth;
|
||||
uint32_t m_uRenderHeight;
|
||||
|
||||
bool m_bIsValid = true;
|
||||
|
||||
private:
|
||||
|
||||
VkSurfaceKHR m_hSurface;
|
||||
@@ -60,7 +64,7 @@ void CSDLGameWindow::Init()
|
||||
|
||||
void CSDLGameWindow::Shutdown()
|
||||
{
|
||||
|
||||
SDL_DestroyWindow(m_pWindow);
|
||||
}
|
||||
|
||||
void CSDLGameWindow::Frame( float fDelta )
|
||||
@@ -122,6 +126,11 @@ SDL_WindowID CSDLGameWindow::WindowID()
|
||||
return SDL_GetWindowID(m_pWindow);
|
||||
}
|
||||
|
||||
bool CSDLGameWindow::IsValid()
|
||||
{
|
||||
return m_bIsValid;
|
||||
}
|
||||
|
||||
class CSDLGameWindowManager: public IGameWindowManager
|
||||
{
|
||||
public:
|
||||
@@ -239,6 +248,8 @@ void CSDLGameWindowManager::Frame( float fDelta )
|
||||
pWindow = a;
|
||||
break;
|
||||
}
|
||||
if (pWindow == NULL)
|
||||
continue;
|
||||
|
||||
switch (event.type)
|
||||
{
|
||||
@@ -267,7 +278,7 @@ void CSDLGameWindowManager::Frame( float fDelta )
|
||||
|
||||
break;
|
||||
case SDL_EVENT_QUIT:
|
||||
Plat_Exit(0);
|
||||
pWindow->m_bIsValid = false;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
@@ -290,6 +301,7 @@ IGameWindow *CSDLGameWindowManager::CreateWindow()
|
||||
|
||||
void CSDLGameWindowManager::DestroyWindow( IGameWindow* pWindow )
|
||||
{
|
||||
pWindow->Shutdown();
|
||||
delete (CSDLGameWindow*)pWindow;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user