support retina display

This commit is contained in:
Grant Paul
2012-12-23 21:33:52 +13:00
committed by Matthew Parlane
parent e3eebdf591
commit 3aa9901618
7 changed files with 107 additions and 34 deletions

View File

@ -450,11 +450,26 @@ 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__) && MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_7
if (m_RenderFrame != NULL)
{
NSView *view = (NSView *) m_RenderFrame->GetHandle();
NSWindow *window = [view window];
if ([window respondsToSelector:@selector(toggleFullScreen:)]) {
fullscreen = (([window styleMask] & NSFullScreenWindowMask) == NSFullScreenWindowMask);
}
}
#endif
return fullscreen;
}
void CFrame::OnQuit(wxCommandEvent& WXUNUSED (event))
@ -1002,7 +1017,23 @@ void CFrame::DoFullscreen(bool bF)
{
ToggleDisplayMode(bF);
m_RenderFrame->ShowFullScreen(bF, wxFULLSCREEN_ALL);
#if defined(__APPLE__) && MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_7
NSView *view = (NSView *) m_RenderFrame->GetHandle();
NSWindow *window = [view window];
if ([window respondsToSelector:@selector(toggleFullScreen:)])
{
if (bF != RendererIsFullscreen())
{
[window toggleFullScreen:nil];
}
}
else
#endif
{
m_RenderFrame->ShowFullScreen(bF, wxFULLSCREEN_ALL);
}
if (SConfig::GetInstance().m_LocalCoreStartupParameter.bRenderToMain)
{
if (bF)