X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/427ff66291af2d8dd34ff5ee68c81436997144a1..b77b87881bae2e6306366d79e7fe160334b3d4a2:/src/mac/carbon/bmpbuttn.cpp?ds=sidebyside diff --git a/src/mac/carbon/bmpbuttn.cpp b/src/mac/carbon/bmpbuttn.cpp index 046d548058..9d66f2da51 100644 --- a/src/mac/carbon/bmpbuttn.cpp +++ b/src/mac/carbon/bmpbuttn.cpp @@ -23,32 +23,49 @@ IMPLEMENT_DYNAMIC_CLASS(wxBitmapButton, wxButton) #include "wx/mac/uma.h" #include "wx/bitmap.h" +wxBitmapButtonBase::wxBitmapButtonBase() + : m_bmpNormal(), + m_bmpSelected(), + m_bmpFocus(), + m_bmpDisabled(), + m_marginX(0), + m_marginY(0) +{ +} + bool wxBitmapButton::Create(wxWindow *parent, wxWindowID id, const wxBitmap& bitmap, const wxPoint& pos, const wxSize& size, long style, const wxValidator& validator, const wxString& name) { + // since bitmapbuttonbase is subclass of button calling wxBitmapButtonBase::Create + // essentially creates an additional button + if ( !wxControl::Create(parent, id, pos, size, + style, validator, name) ) + return false; + m_bmpNormal = bitmap; - m_marginX = 0; - m_marginY = 0; + if (style & wxBU_AUTODRAW) + { + m_marginX = wxDEFAULT_BUTTON_MARGIN; + m_marginY = wxDEFAULT_BUTTON_MARGIN; + } + else + { + m_marginX = 0; + m_marginY = 0; + } - // int x = pos.x; - // int y = pos.y; int width = size.x; int height = size.y; - if (id == -1) - m_windowId = NewControlId(); - else - m_windowId = id; - if ( width == -1 && bitmap.Ok()) - width = bitmap.GetWidth() + 2*m_marginX; + width = bitmap.GetWidth() + 2*m_marginX; if ( height == -1 && bitmap.Ok()) - height = bitmap.GetHeight() + 2*m_marginY; + height = bitmap.GetHeight() + 2*m_marginY; Rect bounds ; Str255 title ;