]> git.saurik.com Git - wxWidgets.git/commitdiff
support for wxNO_BORDER
authorStefan Csomor <csomor@advancedconcepts.ch>
Mon, 7 Nov 2005 16:36:00 +0000 (16:36 +0000)
committerStefan Csomor <csomor@advancedconcepts.ch>
Mon, 7 Nov 2005 16:36:00 +0000 (16:36 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@36107 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

src/mac/carbon/bmpbuttn.cpp

index ce68f575b629e315b82de817d3eae6b68c9d54cf..1176e5226bd12532cd273d708ecceacc9779876d 100644 (file)
@@ -63,14 +63,24 @@ bool wxBitmapButton::Create(wxWindow *parent, wxWindowID id, const wxBitmap& bit
     m_bmpNormal = bitmap;
         
     ControlButtonContentInfo info ;
-    wxMacCreateBitmapButton( &info , m_bmpNormal ) ;
 
     Rect bounds = wxMacGetBoundsForControl( this , pos , size ) ;
     m_peer = new wxMacControl( this ) ;
-    verify_noerr ( CreateBevelButtonControl( MAC_WXHWND(parent->MacGetTopLevelWindowRef()) , &bounds , CFSTR("") , 
-        (( style & wxBU_AUTODRAW ) ? kControlBevelButtonSmallBevel : kControlBevelButtonNormalBevel )  , 
-        kControlBehaviorOffsetContents , &info , 0 , 0 , 0 , m_peer->GetControlRefAddr() ) );
-    
+
+#ifdef __WXMAC_OSX__
+    if ( HasFlag( wxBORDER_NONE ) )
+    {
+        wxMacCreateBitmapButton( &info , m_bmpNormal , kControlContentIconRef ) ;
+        verify_noerr ( CreateIconControl( MAC_WXHWND(parent->MacGetTopLevelWindowRef()) , &bounds , &info , false ,  m_peer->GetControlRefAddr() ) );
+    }
+    else
+#endif
+    {
+        wxMacCreateBitmapButton( &info , m_bmpNormal ) ;
+        verify_noerr ( CreateBevelButtonControl( MAC_WXHWND(parent->MacGetTopLevelWindowRef()) , &bounds , CFSTR("") , 
+                                                 (( style & wxBU_AUTODRAW ) ? kControlBevelButtonSmallBevel : kControlBevelButtonNormalBevel )  , 
+                                                 kControlBehaviorOffsetContents , &info , 0 , 0 , 0 , m_peer->GetControlRefAddr() ) );
+    }
     wxMacReleaseBitmapButton( &info ) ;
     wxASSERT_MSG( m_peer != NULL && m_peer->Ok() , wxT("No valid mac control") ) ;
     
@@ -85,10 +95,23 @@ void wxBitmapButton::SetBitmapLabel(const wxBitmap& bitmap)
     InvalidateBestSize();
 
     ControlButtonContentInfo info ;
-    wxMacCreateBitmapButton( &info , m_bmpNormal ) ;
-    if ( info.contentType != kControlNoContent )
+#ifdef __WXMAC_OSX__
+    if ( HasFlag( wxBORDER_NONE ) )
+    {
+        wxMacCreateBitmapButton( &info , m_bmpNormal , kControlContentIconRef ) ;
+        if ( info.contentType != kControlNoContent )
+        {
+            m_peer->SetData( kControlIconPart , kControlIconContentTag , info ) ;
+        }
+    }
+    else
+#endif
     {
-        m_peer->SetData( kControlButtonPart , kControlBevelButtonContentTag , info ) ;
+        wxMacCreateBitmapButton( &info , m_bmpNormal ) ;
+        if ( info.contentType != kControlNoContent )
+        {
+            m_peer->SetData( kControlButtonPart , kControlBevelButtonContentTag , info ) ;
+        }
     }
     wxMacReleaseBitmapButton( &info ) ;
 }