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