]> git.saurik.com Git - wxWidgets.git/blobdiff - src/mac/carbon/stattext.cpp
pen.h depends from brush.h in compat mode
[wxWidgets.git] / src / mac / carbon / stattext.cpp
index 236c88000eeb194913f7e3db34ccdd549ebc59bf..d2f9fd1ceaef0a167d715985ce978da64da5f50d 100644 (file)
@@ -92,9 +92,10 @@ wxSize wxStaticText::DoGetBestSize() const
         OSStatus err = m_peer->GetData<ControlFontStyleRec>( kControlEntireControl, kControlFontStyleTag, &controlFont );
         verify_noerr( err );
 
-        SInt16 baseline;
-        wxMacCFStringHolder str( m_label,  m_font.GetEncoding() );
+        wxCFStringRef str( m_label,  GetFont().GetEncoding() );
 
+#if wxMAC_USE_ATSU_TEXT
+        SInt16 baseline;
         if ( m_font.MacGetThemeFontID() != kThemeCurrentPortFont )
         {
             err = GetThemeTextDimensions(
@@ -103,24 +104,13 @@ wxSize wxStaticText::DoGetBestSize() const
             verify_noerr( err );
         }
         else
+#endif
         {
-    #if wxMAC_USE_CORE_GRAPHICS
             wxClientDC dc(const_cast<wxStaticText*>(this));
             wxCoord width, height ;
             dc.GetTextExtent( m_label , &width, &height);
             bounds.h = width;
             bounds.v = height;
-    #else
-            wxMacWindowStateSaver sv( this );
-            ::TextFont( m_font.MacGetFontNum() );
-            ::TextSize( (short)(m_font.MacGetFontSize()) );
-            ::TextFace( m_font.MacGetFontStyle() );
-
-            err = GetThemeTextDimensions(
-                (!m_label.empty() ? (CFStringRef)str : CFSTR(" ")),
-                kThemeCurrentPortFont, kThemeStateActive, false, &bounds, &baseline );
-            verify_noerr( err );
-    #endif
         }
 
         if ( m_label.empty() )
@@ -186,9 +176,10 @@ bool wxStaticText::SetFont(const wxFont& font)
 
 void wxStaticText::DoSetLabel(const wxString& label)
 {
+    m_labelOrig = label;
     m_label = RemoveMnemonics(label);
 
-    wxMacCFStringHolder str( m_label, m_font.GetEncoding() );
+    wxCFStringRef str( m_label, GetFont().GetEncoding() );
     OSStatus err = m_peer->SetData<CFStringRef>(kControlEntireControl, kControlStaticTextCFStringTag, str);
     verify_noerr( err );
 }