]> git.saurik.com Git - wxWidgets.git/blobdiff - src/mac/carbon/statbrma.cpp
applied patch 923858 (fixes crash in zlib streams)
[wxWidgets.git] / src / mac / carbon / statbrma.cpp
index 8f3562c07496f4a10c71b48c72db37a14eb1fce6..8220559531ab79855966c3752e5bf4a5e0a9e73d 100644 (file)
@@ -27,6 +27,7 @@ END_EVENT_TABLE()
 
 #ifdef __WXMAC__
 #include "wx/mac/private.h"
+#include "wx/toplevel.h"
 #endif
 
 // ============================================================================
@@ -53,7 +54,8 @@ bool wxStatusBarMac::Create(wxWindow *parent, wxWindowID id,
     if( !wxStatusBarGeneric::Create( parent , id , style , name ) )
         return FALSE ;
     
-    m_macBackgroundBrush.MacSetTheme( kThemeBrushDialogBackgroundActive ) ;    
+    if ( parent->MacGetTopLevelWindow()->MacGetMetalAppearance() )
+        MacSetBackgroundBrush( wxNullBrush ) ;    
     
     return TRUE ;
 }
@@ -66,7 +68,7 @@ void wxStatusBarMac::DrawFieldText(wxDC& dc, int i)
     wxRect rect;
     GetFieldRect(i, rect);
     
-    if ( !IsWindowHilited( MAC_WXHWND( MacGetTopLevelWindowRef() ) ) )
+    if ( !MacIsReallyHilited()  )
     {
         dc.SetTextForeground( wxColour( 0x80 , 0x80 , 0x80 ) ) ;
     }
@@ -80,6 +82,9 @@ void wxStatusBarMac::DrawFieldText(wxDC& dc, int i)
     int xpos = rect.x + leftMargin + 1 ;
     int ypos = 1 ;
     
+    if ( MacGetTopLevelWindow()->MacGetMetalAppearance()  )
+        ypos++ ;
+        
     dc.SetClippingRegion(rect.x, 0, rect.width, h);
     
     dc.DrawText(text, xpos, ypos);
@@ -118,13 +123,16 @@ void wxStatusBarMac::OnPaint(wxPaintEvent& WXUNUSED(event) )
     int w, h ;
     GetSize( &w , &h ) ;
 
-       if ( IsWindowHilited( MAC_WXHWND( MacGetTopLevelWindowRef() ) ) )
+       if ( MacIsReallyHilited() )
        {
                wxPen white( wxWHITE , 1 , wxSOLID ) ;
-        if (major >= 10) 
+        if (major >= 10 
         {
             //Finder statusbar border color: (Project builder similar is 9B9B9B)
-            dc.SetPen(wxPen(wxColour(0xB1,0xB1,0xB1),1,wxSOLID));  
+            if ( MacGetTopLevelWindow()->MacGetMetalAppearance() )
+                dc.SetPen(wxPen(wxColour(0x40,40,40) ,1,wxSOLID)) ;
+            else
+                dc.SetPen(wxPen(wxColour(0xB1,0xB1,0xB1),1,wxSOLID));  
         }
         else
         {
@@ -157,3 +165,9 @@ void wxStatusBarMac::OnPaint(wxPaintEvent& WXUNUSED(event) )
        for ( i = 0; i < m_nFields; i ++ )
                DrawField(dc, i);
 }
+
+void wxStatusBarMac::MacHiliteChanged()
+{
+    Refresh() ;
+    Update() ;
+}