Add native fullscreen support for OS X.

This commit is contained in:
Grant Paul
2013-03-31 09:08:29 -07:00
parent 9f8841e960
commit 39965e894d
4 changed files with 52 additions and 5 deletions

View File

@ -398,11 +398,24 @@ CFrame::~CFrame()
bool CFrame::RendererIsFullscreen()
{
bool fullscreen = false;
if (Core::GetState() == Core::CORE_RUN || Core::GetState() == Core::CORE_PAUSE)
{
return m_RenderFrame->IsFullScreen();
fullscreen = m_RenderFrame->IsFullScreen();
}
return false;
#if defined(__APPLE__)
if (m_RenderFrame != NULL)
{
NSView *view = (NSView *) m_RenderFrame->GetHandle();
NSWindow *window = [view window];
fullscreen = (([window styleMask] & NSFullScreenWindowMask) == NSFullScreenWindowMask);
}
#endif
return fullscreen;
}
void CFrame::OnQuit(wxCommandEvent& WXUNUSED (event))
@ -979,7 +992,18 @@ void CFrame::DoFullscreen(bool bF)
{
ToggleDisplayMode(bF);
#if defined(__APPLE__)
NSView *view = (NSView *) m_RenderFrame->GetHandle();
NSWindow *window = [view window];
if (bF != RendererIsFullscreen())
{
[window toggleFullScreen:nil];
}
#else
m_RenderFrame->ShowFullScreen(bF, wxFULLSCREEN_ALL);
#endif
if (SConfig::GetInstance().m_LocalCoreStartupParameter.bRenderToMain)
{
if (bF)