From 8ec0a8fa72b2d7b465752d062addf84e5ba535c5 Mon Sep 17 00:00:00 2001 From: Stefan Csomor Date: Wed, 9 Nov 2005 09:45:58 +0000 Subject: [PATCH] wx..._EX_METAL styles support git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@36138 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- include/wx/mac/carbon/toplevel.h | 2 ++ src/mac/carbon/toplevel.cpp | 27 +++++++++++++++++++++++++++ 2 files changed, 29 insertions(+) diff --git a/include/wx/mac/carbon/toplevel.h b/include/wx/mac/carbon/toplevel.h index 33dbb9c7f4..dc0e1b5a5d 100644 --- a/include/wx/mac/carbon/toplevel.h +++ b/include/wx/mac/carbon/toplevel.h @@ -91,6 +91,8 @@ public: virtual void Lower(); virtual bool Show( bool show = true ); + virtual void SetExtraStyle(long exStyle) ; + virtual void MacSetBackgroundBrush( const wxBrush &brush ) ; bool MacUsesCompositing() { return m_macUsesCompositing; } diff --git a/src/mac/carbon/toplevel.cpp b/src/mac/carbon/toplevel.cpp index e091edbf52..538589ac06 100644 --- a/src/mac/carbon/toplevel.cpp +++ b/src/mac/carbon/toplevel.cpp @@ -1208,6 +1208,16 @@ void wxTopLevelWindowMac::MacCreateRealWindow( const wxString& title, // the root control level handleer MacInstallEventHandler( (WXWidget) m_peer->GetControlRef() ) ; +#if TARGET_API_MAC_OSX + if ( m_macUsesCompositing && m_macWindow != NULL ) + { + if ( GetExtraStyle() & wxFRAME_EX_METAL ) + MacSetMetalAppearance( true ) ; + } +#endif + + + // the frame window event handler InstallStandardEventHandler( GetWindowEventTarget(MAC_WXHWND(m_macWindow)) ) ; MacInstallTopLevelWindowEventHandler() ; @@ -1385,6 +1395,23 @@ bool wxTopLevelWindowMac::IsFullScreen() const return m_macFullScreenData != NULL ; } +void wxTopLevelWindowMac::SetExtraStyle(long exStyle) +{ + if ( GetExtraStyle() == exStyle ) + return ; + + wxTopLevelWindowBase::SetExtraStyle( exStyle ) ; +#if TARGET_API_MAC_OSX + if ( m_macUsesCompositing && m_macWindow != NULL ) + { + bool metal = GetExtraStyle() & wxFRAME_EX_METAL ; + if ( MacGetMetalAppearance() != metal ) + MacSetMetalAppearance( metal ) ; + } +#endif +} + + // we are still using coordinates of the content view, todo switch to structure bounds void wxTopLevelWindowMac::MacGetContentAreaInset( int &left , int &top , int &right , int &bottom ) -- 2.47.2