X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/a31a5f85341a2ef131d86a1dee12f3d6c8156118..a7868cdf6a8782a04a46791dd63de2ade825a8bc:/src/mac/carbon/statbmp.cpp diff --git a/src/mac/carbon/statbmp.cpp b/src/mac/carbon/statbmp.cpp index ab37567e88..8948b0c3e5 100644 --- a/src/mac/carbon/statbmp.cpp +++ b/src/mac/carbon/statbmp.cpp @@ -1,27 +1,26 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: statbmp.cpp +// Name: src/mac/carbon/statbmp.cpp // Purpose: wxStaticBitmap // Author: Stefan Csomor // Modified by: // Created: 1998-01-01 // RCS-ID: $Id$ // Copyright: (c) Stefan Csomor -// Licence: wxWindows licence +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// -#ifdef __GNUG__ - #pragma implementation "statbmp.h" -#endif +#include "wx/wxprec.h" -#include "wx/defs.h" +#if wxUSE_STATBMP #include "wx/statbmp.h" -#include "wx/dcclient.h" -#if !USE_SHARED_LIBRARY -IMPLEMENT_DYNAMIC_CLASS(wxStaticBitmap, wxControl) +#ifndef WX_PRECOMP + #include "wx/dcclient.h" #endif +IMPLEMENT_DYNAMIC_CLASS(wxStaticBitmap, wxControl) + /* * wxStaticBitmap */ @@ -33,54 +32,55 @@ 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() ; m_bitmap = bitmap; - if ( id == -1 ) - m_windowId = (int)NewControlId(); + if ( id == wxID_ANY ) + m_windowId = (int)NewControlId(); else - m_windowId = id; + m_windowId = id; m_windowStyle = style; bool ret = wxControl::Create( parent, id, pos, size, style , wxDefaultValidator , name ); - SetBestSize( size ) ; - + SetInitialSize( size ) ; + return ret; } void wxStaticBitmap::SetBitmap(const wxBitmap& bitmap) { m_bitmap = bitmap; - SetSize(wxSize(bitmap.GetWidth(), bitmap.GetHeight())); + InvalidateBestSize(); + SetSize(GetBestSize()); Refresh() ; } -void wxStaticBitmap::OnPaint( wxPaintEvent& WXUNUSED(event) ) +void wxStaticBitmap::OnPaint( wxPaintEvent& WXUNUSED(event) ) { wxPaintDC dc(this); PrepareDC(dc); - dc.DrawBitmap( m_bitmap , 0 , 0 , TRUE ) ; + if (m_bitmap.Ok()) + { + dc.DrawBitmap( m_bitmap , 0 , 0 , TRUE ) ; + } } 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