X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/7c551d959447b3aea01cc35f45aa4cacff2173ba..3ce946d47ef03fcf330b0a28c0ff815ea480da55:/src/mac/carbon/bmpbuttn.cpp diff --git a/src/mac/carbon/bmpbuttn.cpp b/src/mac/carbon/bmpbuttn.cpp index fecc971add..c143138609 100644 --- a/src/mac/carbon/bmpbuttn.cpp +++ b/src/mac/carbon/bmpbuttn.cpp @@ -21,7 +21,7 @@ IMPLEMENT_DYNAMIC_CLASS(wxBitmapButton, wxButton) #include -PicHandle MakePict(GWorldPtr wp) ; +PicHandle MakePict(GWorldPtr wp, GWorldPtr mask ) ; bool wxBitmapButton::Create(wxWindow *parent, wxWindowID id, const wxBitmap& bitmap, const wxPoint& pos, @@ -50,15 +50,13 @@ bool wxBitmapButton::Create(wxWindow *parent, wxWindowID id, const wxBitmap& bit if ( height == -1 && bitmap.Ok()) height = bitmap.GetHeight() + 2*m_marginY; - m_macHorizontalBorder = 2 ; // additional pixels around the real control - m_macVerticalBorder = 2 ; Rect bounds ; Str255 title ; MacPreControlCreate( parent , id , "" , pos , wxSize( width , height ) ,style, validator , name , &bounds , title ) ; m_macControl = UMANewControl( parent->GetMacRootWindow() , &bounds , title , true , 0 , kControlBehaviorOffsetContents + kControlContentPictHandle , 0, - kControlBevelButtonNormalBevelProc , (long) this ) ; + (( style & wxBU_AUTODRAW ) ? kControlBevelButtonSmallBevelProc : kControlBevelButtonNormalBevelProc ), (long) this ) ; wxASSERT_MSG( m_macControl != NULL , "No valid mac control" ) ; m_buttonBitmap = bitmap; @@ -70,7 +68,14 @@ bool wxBitmapButton::Create(wxWindow *parent, wxWindowID id, const wxBitmap& bit icon = bmap->m_hPict ; else if ( bmap->m_bitmapType == kMacBitmapTypeGrafWorld ) { - icon = MakePict( bmap->m_hBitmap ) ; + if ( m_buttonBitmap.GetMask() ) + { + icon = MakePict( bmap->m_hBitmap , m_buttonBitmap.GetMask()->GetMaskBitmap() ) ; + } + else + { + icon = MakePict( bmap->m_hBitmap , NULL ) ; + } } } ControlButtonContentInfo info ; @@ -96,7 +101,14 @@ void wxBitmapButton::SetBitmapLabel(const wxBitmap& bitmap) icon = bmap->m_hPict ; else if ( bmap->m_bitmapType == kMacBitmapTypeGrafWorld ) { - icon = MakePict( bmap->m_hBitmap ) ; + if ( m_buttonBitmap.GetMask() ) + { + icon = MakePict( bmap->m_hBitmap , m_buttonBitmap.GetMask()->GetMaskBitmap() ) ; + } + else + { + icon = MakePict( bmap->m_hBitmap , NULL ) ; + } } } ControlButtonContentInfo info ;