X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/e40298d54ecd5b109222a7c60aa2ef084a304d69..6db6bfd1ce8c6c4b06a74e04fad3470ac792a770:/src/mac/carbon/statbmp.cpp diff --git a/src/mac/carbon/statbmp.cpp b/src/mac/carbon/statbmp.cpp index 68bc4efa6a..9a13660d97 100644 --- a/src/mac/carbon/statbmp.cpp +++ b/src/mac/carbon/statbmp.cpp @@ -9,18 +9,18 @@ // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// -#ifdef __GNUG__ +#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) #pragma implementation "statbmp.h" #endif -#include "wx/defs.h" +#include "wx/wxprec.h" + +#if wxUSE_STATBMP #include "wx/statbmp.h" #include "wx/dcclient.h" -#if !USE_SHARED_LIBRARY IMPLEMENT_DYNAMIC_CLASS(wxStaticBitmap, wxControl) -#endif /* * wxStaticBitmap @@ -33,19 +33,11 @@ END_EVENT_TABLE() bool wxStaticBitmap::Create(wxWindow *parent, wxWindowID id, const wxBitmap& bitmap, const wxPoint& pos, - const wxSize& s, + const wxSize& size, long style, const wxString& name) { SetName(name); - wxSize size = s ; - if ( bitmap.Ok() ) - { - if ( size.x == -1 ) - size.x = bitmap.GetWidth() ; - if ( size.y == -1 ) - size.y = bitmap.GetHeight() ; - } m_backgroundColour = parent->GetBackgroundColour() ; m_foregroundColour = parent->GetForegroundColour() ; @@ -67,7 +59,8 @@ bool wxStaticBitmap::Create(wxWindow *parent, wxWindowID id, void wxStaticBitmap::SetBitmap(const wxBitmap& bitmap) { m_bitmap = bitmap; - SetSize(wxSize(bitmap.GetWidth(), bitmap.GetHeight())); + InvalidateBestSize(); + SetSize(GetBestSize()); Refresh() ; } @@ -81,6 +74,12 @@ void wxStaticBitmap::OnPaint( wxPaintEvent& WXUNUSED(event) ) wxSize wxStaticBitmap::DoGetBestSize() const { - return wxWindow::DoGetBestSize() ; + if ( m_bitmap.Ok() ) + return DoGetSizeFromClientSize( wxSize(m_bitmap.GetWidth(), m_bitmap.GetHeight()) ); + + // this is completely arbitrary + return DoGetSizeFromClientSize( wxSize(16, 16) ); } +#endif +