bmpbuttn.h 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. /////////////////////////////////////////////////////////////////////////////
  2. // Name: wx/os2/bmpbuttn.h
  3. // Purpose: wxBitmapButton class
  4. // Author: David Webster
  5. // Modified by:
  6. // Created: 10/13/99
  7. // Copyright: (c) David Webster
  8. // Licence: wxWindows licence
  9. /////////////////////////////////////////////////////////////////////////////
  10. #ifndef _WX_BMPBUTTN_H_
  11. #define _WX_BMPBUTTN_H_
  12. #include "wx/button.h"
  13. #include "wx/dcclient.h"
  14. WXDLLIMPEXP_DATA_CORE(extern const char) wxButtonNameStr[];
  15. #define wxDEFAULT_BUTTON_MARGIN 4
  16. class WXDLLIMPEXP_CORE wxBitmapButton: public wxBitmapButtonBase
  17. {
  18. public:
  19. inline wxBitmapButton()
  20. {
  21. m_marginX = wxDEFAULT_BUTTON_MARGIN;
  22. m_marginY = wxDEFAULT_BUTTON_MARGIN;
  23. }
  24. inline wxBitmapButton( wxWindow* pParent
  25. ,wxWindowID vId
  26. ,const wxBitmap& rBitmap
  27. ,const wxPoint& rPos = wxDefaultPosition
  28. ,const wxSize& rSize = wxDefaultSize
  29. ,long lStyle = wxBU_AUTODRAW
  30. ,const wxValidator& rValidator = wxDefaultValidator
  31. ,const wxString& rsName = wxButtonNameStr
  32. )
  33. {
  34. Create( pParent
  35. ,vId
  36. ,rBitmap
  37. ,rPos
  38. ,rSize
  39. ,lStyle
  40. ,rValidator
  41. ,rsName
  42. );
  43. }
  44. bool Create( wxWindow* pParent
  45. ,wxWindowID vId
  46. ,const wxBitmap& rBitmap
  47. ,const wxPoint& rPos = wxDefaultPosition
  48. ,const wxSize& rSize = wxDefaultSize
  49. ,long lStyle = wxBU_AUTODRAW
  50. ,const wxValidator& rValidator = wxDefaultValidator
  51. ,const wxString& rsName = wxButtonNameStr
  52. );
  53. virtual void SetLabel(const wxBitmap& rBitmap)
  54. {
  55. SetBitmapLabel(rBitmap);
  56. }
  57. //
  58. // Implementation
  59. //
  60. virtual bool OS2OnDraw(WXDRAWITEMSTRUCT* pItem);
  61. private:
  62. virtual void DrawFace( wxClientDC& rDC
  63. ,bool bSel
  64. );
  65. virtual void DrawButtonFocus(wxClientDC& rDC);
  66. virtual void DrawButtonDisable( wxClientDC& rDC
  67. ,wxBitmap& rBmp
  68. );
  69. DECLARE_DYNAMIC_CLASS(wxBitmapButton)
  70. virtual void SetLabel(const wxString& rsString)
  71. {
  72. wxButton::SetLabel(rsString);
  73. }
  74. }; // end of CLASS wxBitmapButton
  75. #endif // _WX_BMPBUTTN_H_