supporting full style mask

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68724 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Stefan Csomor
2011-08-16 12:42:56 +00:00
parent 04f1f9b773
commit 773db5dfb3

View File

@@ -858,6 +858,7 @@ void wxNonOwnedWindowCocoaImpl::Maximize(bool WXUNUSED(maximize))
typedef struct
{
NSUInteger m_formerStyleMask;
int m_formerLevel;
NSRect m_formerFrame;
} FullScreenData ;
@@ -878,6 +879,7 @@ bool wxNonOwnedWindowCocoaImpl::ShowFullScreen(bool show, long WXUNUSED(style))
m_macFullScreenData = data ;
data->m_formerLevel = [m_macWindow level];
data->m_formerFrame = [m_macWindow frame];
data->m_formerStyleMask = [m_macWindow styleMask];
#if 0
// CGDisplayCapture( kCGDirectMainDisplay );
//[m_macWindow setLevel:NSMainMenuWindowLevel+1/*CGShieldingWindowLevel()*/];
@@ -885,6 +887,12 @@ bool wxNonOwnedWindowCocoaImpl::ShowFullScreen(bool show, long WXUNUSED(style))
NSRect screenframe = [[NSScreen mainScreen] frame];
NSRect frame = NSMakeRect (0, 0, 100, 100);
NSRect contentRect;
#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_6
if ( [ m_macWindow respondsToSelector:@selector(setStyleMask:) ] )
[m_macWindow setStyleMask:data->m_formerStyleMask & ~ NSResizableWindowMask];
#endif
contentRect = [NSWindow contentRectForFrameRect: frame
styleMask: [m_macWindow styleMask]];
screenframe.origin.y += (frame.origin.y - contentRect.origin.y);
@@ -907,6 +915,10 @@ bool wxNonOwnedWindowCocoaImpl::ShowFullScreen(bool show, long WXUNUSED(style))
#endif
[m_macWindow setFrame:data->m_formerFrame display:YES];
#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_6
if ( [ m_macWindow respondsToSelector:@selector(setStyleMask:) ] )
[m_macWindow setStyleMask:data->m_formerStyleMask];
#endif
delete data ;
m_macFullScreenData = NULL ;