X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/584bede0618774ad7f62476c9adddeb9776fb737..5aba0d3610d33bd060639a640343025433dc3640:/src/mac/carbon/statbmp.cpp diff --git a/src/mac/carbon/statbmp.cpp b/src/mac/carbon/statbmp.cpp index 03f68a2ea7..1ebe5ec765 100644 --- a/src/mac/carbon/statbmp.cpp +++ b/src/mac/carbon/statbmp.cpp @@ -1,25 +1,27 @@ ///////////////////////////////////////////////////////////////////////////// // Name: statbmp.cpp // Purpose: wxStaticBitmap -// Author: AUTHOR +// Author: Stefan Csomor // Modified by: -// Created: ??/??/98 +// Created: 1998-01-01 // RCS-ID: $Id$ -// Copyright: (c) AUTHOR -// Licence: wxWindows licence +// Copyright: (c) Stefan Csomor +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// -#ifdef __GNUG__ -#pragma implementation "statbmp.h" +#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, wxStaticBitmapBase) +IMPLEMENT_DYNAMIC_CLASS(wxStaticBitmap, wxControl) #endif /* @@ -33,43 +35,38 @@ 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 ; m_backgroundColour = parent->GetBackgroundColour() ; m_foregroundColour = parent->GetForegroundColour() ; m_bitmap = bitmap; if ( id == -1 ) - m_windowId = (int)NewControlId(); + 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 ) ; + 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_bitmap = bitmap; + InvalidateBestSize(); + SetSize(GetBestSize()); Refresh() ; - SetBestSize(wxSize(bitmap.GetWidth(), bitmap.GetHeight())); } -void wxStaticBitmap::OnPaint( wxPaintEvent &event ) +void wxStaticBitmap::OnPaint( wxPaintEvent& WXUNUSED(event) ) { wxPaintDC dc(this); PrepareDC(dc); @@ -79,9 +76,12 @@ void wxStaticBitmap::OnPaint( wxPaintEvent &event ) wxSize wxStaticBitmap::DoGetBestSize() const { - if ( m_bitmap.Ok() ) - return wxSize(m_bitmap.GetWidth(), m_bitmap.GetHeight()); - else - return wxSize(16, 16); // completely arbitrary + if ( m_bitmap.Ok() ) + return DoGetSizeFromClientSize( wxSize(m_bitmap.GetWidth(), m_bitmap.GetHeight()) ); + + // this is completely arbitrary + return DoGetSizeFromClientSize( wxSize(16, 16) ); } +#endif +