1 /////////////////////////////////////////////////////////////////////////////
3 // Purpose: wxBitmapButton class
4 // Author: David Webster
8 // Copyright: (c) David Webster
9 // Licence: wxWindows licence
10 /////////////////////////////////////////////////////////////////////////////
12 #ifndef _WX_BMPBUTTN_H_
13 #define _WX_BMPBUTTN_H_
15 #include "wx/button.h"
17 WXDLLEXPORT_DATA(extern const char*) wxButtonNameStr
;
19 #define wxDEFAULT_BUTTON_MARGIN 4
21 class WXDLLEXPORT wxBitmapButton
: public wxButton
23 DECLARE_DYNAMIC_CLASS(wxBitmapButton
)
25 inline wxBitmapButton() { m_marginX
= wxDEFAULT_BUTTON_MARGIN
; m_marginY
= wxDEFAULT_BUTTON_MARGIN
; }
26 inline wxBitmapButton(wxWindow
*parent
, wxWindowID id
, const wxBitmap
& bitmap
,
27 const wxPoint
& pos
= wxDefaultPosition
,
28 const wxSize
& size
= wxDefaultSize
, long style
= wxBU_AUTODRAW
,
30 # if defined(__VISAGECPP__)
31 const wxValidator
* validator
= wxDefaultValidator
,
33 const wxValidator
& validator
= wxDefaultValidator
,
36 const wxString
& name
= wxButtonNameStr
)
38 Create(parent
, id
, bitmap
, pos
, size
, style
, validator
, name
);
41 bool Create(wxWindow
*parent
, wxWindowID id
, const wxBitmap
& bitmap
,
42 const wxPoint
& pos
= wxDefaultPosition
,
43 const wxSize
& size
= wxDefaultSize
, long style
= wxBU_AUTODRAW
,
45 # if defined(__VISAGECPP__)
46 const wxValidator
* validator
= wxDefaultValidator
,
48 const wxValidator
& validator
= wxDefaultValidator
,
51 const wxString
& name
= wxButtonNameStr
);
53 virtual void SetLabel(const wxBitmap
& bitmap
)
55 SetBitmapLabel(bitmap
);
58 virtual void SetBitmapLabel(const wxBitmap
& bitmap
);
60 #if WXWIN_COMPATIBILITY
61 wxBitmap
*GetBitmap() const { return (wxBitmap
*) & m_buttonBitmap
; }
64 inline wxBitmap
& GetBitmapLabel() const { return (wxBitmap
&) m_buttonBitmap
; }
65 inline wxBitmap
& GetBitmapSelected() const { return (wxBitmap
&) m_buttonBitmapSelected
; }
66 inline wxBitmap
& GetBitmapFocus() const { return (wxBitmap
&) m_buttonBitmapFocus
; }
67 inline wxBitmap
& GetBitmapDisabled() const { return (wxBitmap
&) m_buttonBitmapDisabled
; }
69 inline void SetBitmapSelected(const wxBitmap
& sel
) { m_buttonBitmapSelected
= sel
; };
70 inline void SetBitmapFocus(const wxBitmap
& focus
) { m_buttonBitmapFocus
= focus
; };
71 inline void SetBitmapDisabled(const wxBitmap
& disabled
) { m_buttonBitmapDisabled
= disabled
; };
73 inline void SetMargins(int x
, int y
) { m_marginX
= x
; m_marginY
= y
; }
74 inline int GetMarginX() { return m_marginX
; }
75 inline int GetMarginY() { return m_marginY
; }
77 virtual void SetDefault();
78 // virtual bool OS2OnDraw(WXDRAWITEMSTRUCT *item);
79 virtual void DrawFace( WXHDC dc
, int left
, int top
, int right
, int bottom
, bool sel
);
80 virtual void DrawButtonFocus( WXHDC dc
, int left
, int top
, int right
, int bottom
, bool sel
);
81 virtual void DrawButtonDisable( WXHDC dc
, int left
, int top
, int right
, int bottom
, bool with_marg
);
84 wxBitmap m_buttonBitmap
;
85 wxBitmap m_buttonBitmapSelected
;
86 wxBitmap m_buttonBitmapFocus
;
87 wxBitmap m_buttonBitmapDisabled
;
91 virtual void SetLabel(const wxString
& string
)
92 { wxButton::SetLabel(string
); };