X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/519cb848a8f4c91c73421bb75314754284e593a4..cfe17b74353dcf5ed47c1449e6e415aeb0f1c295:/src/mac/statbmp.cpp?ds=sidebyside diff --git a/src/mac/statbmp.cpp b/src/mac/statbmp.cpp index 721c254234..8bd5fecb71 100644 --- a/src/mac/statbmp.cpp +++ b/src/mac/statbmp.cpp @@ -15,9 +15,7 @@ #include "wx/statbmp.h" -#if !USE_SHARED_LIBRARY IMPLEMENT_DYNAMIC_CLASS(wxStaticBitmap, wxControl) -#endif /* * wxStaticBitmap @@ -34,9 +32,12 @@ bool wxStaticBitmap::Create(wxWindow *parent, wxWindowID id, long style, const wxString& name) { - m_messageBitmap = bitmap; SetName(name); - if (parent) parent->AddChild(this); + + m_backgroundColour = parent->GetBackgroundColour() ; + m_foregroundColour = parent->GetForegroundColour() ; + + m_messageBitmap = bitmap; if ( id == -1 ) m_windowId = (int)NewControlId(); @@ -46,7 +47,9 @@ bool wxStaticBitmap::Create(wxWindow *parent, wxWindowID id, m_windowStyle = style; bool ret = wxControl::Create( parent, id, pos, size, style , name ); - + + SetSizeOrDefault() ; + return ret; } @@ -58,14 +61,21 @@ void wxStaticBitmap::SetSize(int x, int y, int width, int height, int sizeFlags) void wxStaticBitmap::SetBitmap(const wxBitmap& bitmap) { m_messageBitmap = bitmap; - - Refresh() ; + SetSizeOrDefault(); } void wxStaticBitmap::OnPaint( wxPaintEvent &event ) { wxPaintDC dc(this); PrepareDC(dc); - dc.SetPalette( *m_messageBitmap.GetPalette() ) ; - dc.DrawBitmap( m_messageBitmap , 0 , 0 ) ; + dc.SetPalette( *m_messageBitmap.GetPalette() ) ; + dc.DrawBitmap( m_messageBitmap , 0 , 0 ) ; +} + +wxSize wxStaticBitmap::DoGetBestSize() const +{ + if ( m_messageBitmap.Ok() ) + return wxSize(m_messageBitmap.GetWidth(), m_messageBitmap.GetHeight()); + else + return wxSize(16, 16); // completely arbitrary }