X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/d1fc95780b48e4663cdc45dddc7e211ca813e52e..60372b0d54379701d62edf5595a7dc25c48330e1:/src/osx/cocoa/nonownedwnd.mm diff --git a/src/osx/cocoa/nonownedwnd.mm b/src/osx/cocoa/nonownedwnd.mm index 31b96950c6..f95db4d67a 100644 --- a/src/osx/cocoa/nonownedwnd.mm +++ b/src/osx/cocoa/nonownedwnd.mm @@ -271,7 +271,7 @@ extern int wxOSXGetIdFromSelector(SEL action ); - (id) init { - [super init]; + self = [super init]; return self; } @@ -452,6 +452,7 @@ extern int wxOSXGetIdFromSelector(SEL action ); editor = [[wxNSTextFieldEditor alloc] init]; [editor setFieldEditor:YES]; [tf setFieldEditor:editor]; + [editor release]; } return editor; } @@ -716,8 +717,12 @@ bool wxNonOwnedWindowCocoaImpl::SetTransparent(wxByte alpha) return true; } -bool wxNonOwnedWindowCocoaImpl::SetBackgroundColour(const wxColour& WXUNUSED(col) ) +bool wxNonOwnedWindowCocoaImpl::SetBackgroundColour(const wxColour& col ) { + [m_macWindow setBackgroundColor:[NSColor colorWithCalibratedRed:(CGFloat) (col.Red() / 255.0) + green:(CGFloat) (col.Green() / 255.0) + blue:(CGFloat) (col.Blue() / 255.0) + alpha:(CGFloat) (col.Alpha() / 255.0)]]; return true; } @@ -853,6 +858,7 @@ void wxNonOwnedWindowCocoaImpl::Maximize(bool WXUNUSED(maximize)) typedef struct { + NSUInteger m_formerStyleMask; int m_formerLevel; NSRect m_formerFrame; } FullScreenData ; @@ -873,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()*/]; @@ -880,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); @@ -902,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 ;