]> git.saurik.com Git - wxWidgets.git/commitdiff
wx..._EX_METAL styles support
authorStefan Csomor <csomor@advancedconcepts.ch>
Wed, 9 Nov 2005 09:45:58 +0000 (09:45 +0000)
committerStefan Csomor <csomor@advancedconcepts.ch>
Wed, 9 Nov 2005 09:45:58 +0000 (09:45 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@36138 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

include/wx/mac/carbon/toplevel.h
src/mac/carbon/toplevel.cpp

index 33dbb9c7f491929ba4b2cce0a92c89bad4c63cb5..dc0e1b5a5dd517030979f05319bb8e687f3b3f33 100644 (file)
@@ -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; }
index e091edbf52346e5254c27a2869ec558085a90779..538589ac0650ca4fab3cd29440b1b4ed2bd541a0 100644 (file)
@@ -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 )