]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/msw/bmpbuttn.h
Define wxUSE_CAIRO in wx/chkconf.h to ensure that it's always defined.
[wxWidgets.git] / include / wx / msw / bmpbuttn.h
index 86ffd452a4c176893f81ef9c4542fc8c90f58e34..aff0c0fe143963ddd4f5e9646749f340b5a07fc3 100644 (file)
 #include "wx/bitmap.h"
 #include "wx/brush.h"
 
-class WXDLLEXPORT wxBitmapButton : public wxBitmapButtonBase
+class WXDLLIMPEXP_CORE wxBitmapButton : public wxBitmapButtonBase
 {
 public:
-    wxBitmapButton() { }
+    wxBitmapButton() { Init(); }
 
     wxBitmapButton(wxWindow *parent,
                    wxWindowID id,
@@ -30,6 +30,8 @@ public:
                    const wxValidator& validator = wxDefaultValidator,
                    const wxString& name = wxButtonNameStr)
     {
+        Init();
+
         Create(parent, id, bitmap, pos, size, style, validator, name);
     }
 
@@ -42,27 +44,24 @@ public:
                 const wxValidator& validator = wxDefaultValidator,
                 const wxString& name = wxButtonNameStr);
 
-    // Implementation
-    virtual bool SetBackgroundColour(const wxColour& colour);
-    virtual bool MSWOnDraw(WXDRAWITEMSTRUCT *item);
-    virtual void DrawFace( WXHDC dc, int left, int top, int right, int bottom, bool sel );
-    virtual void DrawButtonFocus( WXHDC dc, int left, int top, int right, int bottom, bool sel );
-    virtual void DrawButtonDisable( WXHDC dc, int left, int top, int right, int bottom, bool with_marg );
-
 protected:
-    // reimplement some base class virtuals
-    virtual wxSize DoGetBestSize() const;
-    virtual void OnSetBitmap();
-
-    // invalidate m_brushDisabled when system colours change
-    void OnSysColourChanged(wxSysColourChangedEvent& event);
+    // common part of all ctors
+    void Init()
+    {
+        m_disabledSetByUser =
+        m_hoverSetByUser = false;
+    }
 
-    // change the currently bitmap if we have a hover one
-    void OnMouseEnterOrLeave(wxMouseEvent& event);
+    // reimplement some base class virtuals
+    virtual void DoSetBitmap(const wxBitmap& bitmap, State which);
 
+    // true if disabled bitmap was set by user, false if we created it
+    // ourselves from the normal one
+    bool m_disabledSetByUser;
 
-    // the brush we use to draw disabled buttons
-    wxBrush m_brushDisabled;
+    // true if hover bitmap was set by user, false if it was set from focused
+    // one
+    bool m_hoverSetByUser;
 
 
     DECLARE_EVENT_TABLE()