X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/ad81651f00edc6f489d9b6a0839d316a964fd521..8803596043af5d782f7a7ee7221103844ecedf8a:/src/mac/statbmp.cpp?ds=sidebyside diff --git a/src/mac/statbmp.cpp b/src/mac/statbmp.cpp index 8bd5fecb71..40793c756a 100644 --- a/src/mac/statbmp.cpp +++ b/src/mac/statbmp.cpp @@ -14,8 +14,11 @@ #endif #include "wx/statbmp.h" +#include "wx/dcclient.h" +#if !USE_SHARED_LIBRARY IMPLEMENT_DYNAMIC_CLASS(wxStaticBitmap, wxControl) +#endif /* * wxStaticBitmap @@ -28,17 +31,17 @@ END_EVENT_TABLE() bool wxStaticBitmap::Create(wxWindow *parent, wxWindowID id, const wxBitmap& bitmap, const wxPoint& pos, - const wxSize& size, + const wxSize& s, long style, const wxString& name) { SetName(name); + wxSize size = s ; m_backgroundColour = parent->GetBackgroundColour() ; m_foregroundColour = parent->GetForegroundColour() ; m_messageBitmap = bitmap; - if ( id == -1 ) m_windowId = (int)NewControlId(); else @@ -46,10 +49,9 @@ bool wxStaticBitmap::Create(wxWindow *parent, wxWindowID id, m_windowStyle = style; - bool ret = wxControl::Create( parent, id, pos, size, style , name ); + bool ret = wxControl::Create( parent, id, pos, size, style , wxDefaultValidator , name ); + SetSizeOrDefault( size ) ; - SetSizeOrDefault() ; - return ret; } @@ -61,21 +63,23 @@ 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.DrawBitmap( m_messageBitmap , 0 , 0 , TRUE ) ; } wxSize wxStaticBitmap::DoGetBestSize() const { - if ( m_messageBitmap.Ok() ) - return wxSize(m_messageBitmap.GetWidth(), m_messageBitmap.GetHeight()); - else - return wxSize(16, 16); // completely arbitrary + if ( m_messageBitmap.Ok() ) + return wxSize(m_messageBitmap.GetWidth(), m_messageBitmap.GetHeight()); + else + return wxSize(16, 16); // completely arbitrary }