]> git.saurik.com Git - wxWidgets.git/blame - src/osx/bmpbuttn_osx.cpp
make the script executable
[wxWidgets.git] / src / osx / bmpbuttn_osx.cpp
CommitLineData
e53b3d16
SC
1/////////////////////////////////////////////////////////////////////////////
2// Name: src/osx/bmpbuttn_osx.cpp
3// Purpose: wxBitmapButton
4// Author: Stefan Csomor
5// Modified by:
6// Created: 1998-01-01
7// RCS-ID: $Id: bmpbuttn.cpp 54820 2008-07-29 20:04:11Z SC $
8// Copyright: (c) Stefan Csomor
9// Licence: wxWindows licence
10/////////////////////////////////////////////////////////////////////////////
11
12#include "wx/wxprec.h"
13
14#if wxUSE_BMPBUTTON
15
16#include "wx/bmpbuttn.h"
17#include "wx/image.h"
18
19#ifndef WX_PRECOMP
20 #include "wx/dcmemory.h"
21#endif
22
23IMPLEMENT_DYNAMIC_CLASS(wxBitmapButton, wxButton)
24
25#include "wx/osx/private.h"
26
27//---------------------------------------------------------------------------
28
29bool wxBitmapButton::Create( wxWindow *parent,
2352862a
VZ
30 wxWindowID id,
31 const wxBitmap& bitmap,
e53b3d16
SC
32 const wxPoint& pos,
33 const wxSize& size,
34 long style,
35 const wxValidator& validator,
36 const wxString& name )
37{
38 m_macIsUserPane = false;
39
4868bfb1
VZ
40 if ( !wxControl::Create( parent, id, pos, size, style | wxBU_NOTEXT,
41 validator, name ) )
e53b3d16
SC
42 return false;
43
44 if ( style & wxBU_AUTODRAW )
45 {
46 m_marginX =
47 m_marginY = wxDEFAULT_BUTTON_MARGIN;
48 }
49 else
50 {
51 m_marginX =
52 m_marginY = 0;
53 }
54
2352862a 55 m_bitmaps[State_Normal] = bitmap;
e53b3d16
SC
56
57 m_peer = wxWidgetImpl::CreateBitmapButton( this, parent, id, bitmap, pos, size, style, GetExtraStyle() );
58
59 MacPostControlCreate( pos, size );
60
61 return true;
62}
63
64void wxBitmapButton::SetBitmapLabel( const wxBitmap& bitmap )
2352862a 65{
e53b3d16 66 InvalidateBestSize();
2352862a 67
e53b3d16
SC
68 m_peer->SetBitmap( bitmap );
69}
70
71wxSize wxBitmapButton::DoGetBestSize() const
72{
2352862a 73 wxSize best(m_marginX, m_marginY);
e53b3d16 74
2352862a
VZ
75 best *= 2;
76
77 if ( GetBitmapLabel().IsOk() )
e53b3d16 78 {
2352862a 79 best += GetBitmapLabel().GetSize();
e53b3d16
SC
80 }
81
82 return best;
83}
84
2352862a 85#endif // wxUSE_BMPBUTTON