X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/2883443e90bd0df8ffd3fdd0e194f7ab72adbc8d..cd5082468fc4dd397d7eea951fa4e905ea3f9368:/src/mac/carbon/statbmp.cpp diff --git a/src/mac/carbon/statbmp.cpp b/src/mac/carbon/statbmp.cpp index 40793c756a..d04e549b0e 100644 --- a/src/mac/carbon/statbmp.cpp +++ b/src/mac/carbon/statbmp.cpp @@ -10,9 +10,11 @@ ///////////////////////////////////////////////////////////////////////////// #ifdef __GNUG__ -#pragma implementation "statbmp.h" + #pragma implementation "statbmp.h" #endif +#include "wx/defs.h" + #include "wx/statbmp.h" #include "wx/dcclient.h" @@ -24,7 +26,7 @@ IMPLEMENT_DYNAMIC_CLASS(wxStaticBitmap, wxControl) * wxStaticBitmap */ -BEGIN_EVENT_TABLE(wxStaticBitmap, wxControl) +BEGIN_EVENT_TABLE(wxStaticBitmap, wxStaticBitmapBase) EVT_PAINT(wxStaticBitmap::OnPaint) END_EVENT_TABLE() @@ -37,11 +39,18 @@ bool wxStaticBitmap::Create(wxWindow *parent, wxWindowID id, { 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() ; - m_messageBitmap = bitmap; + m_bitmap = bitmap; if ( id == -1 ) m_windowId = (int)NewControlId(); else @@ -50,21 +59,16 @@ bool wxStaticBitmap::Create(wxWindow *parent, wxWindowID id, m_windowStyle = style; bool ret = wxControl::Create( parent, id, pos, size, style , wxDefaultValidator , name ); - SetSizeOrDefault( size ) ; + SetBestSize( size ) ; return ret; } -void wxStaticBitmap::SetSize(int x, int y, int width, int height, int sizeFlags) -{ - wxControl::SetSize( x , y , width , height , sizeFlags ) ; -} - void wxStaticBitmap::SetBitmap(const wxBitmap& bitmap) { - m_messageBitmap = bitmap; + m_bitmap = bitmap; + SetSize(wxSize(bitmap.GetWidth(), bitmap.GetHeight())); Refresh() ; - SetSizeOrDefault(); } void wxStaticBitmap::OnPaint( wxPaintEvent &event ) @@ -72,14 +76,11 @@ void wxStaticBitmap::OnPaint( wxPaintEvent &event ) wxPaintDC dc(this); PrepareDC(dc); - dc.DrawBitmap( m_messageBitmap , 0 , 0 , TRUE ) ; + dc.DrawBitmap( m_bitmap , 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 + return wxWindow::DoGetBestSize() ; }