]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/motif/bmpbuttn.h
fixes to previous fixes for Sun's CC 5.0
[wxWidgets.git] / include / wx / motif / bmpbuttn.h
index 8dcb69598f525b5ccad8ef671a2c2194046d5f1c..66e0ed7713142e8b15e7737501e79cf698e0e0c9 100644 (file)
@@ -26,7 +26,8 @@ class WXDLLEXPORT wxBitmapButton: public wxButton
 {
   DECLARE_DYNAMIC_CLASS(wxBitmapButton)
  public:
-  inline wxBitmapButton() { m_marginX = wxDEFAULT_BUTTON_MARGIN; m_marginY = wxDEFAULT_BUTTON_MARGIN; }
+  wxBitmapButton();
+  ~wxBitmapButton();
   inline wxBitmapButton(wxWindow *parent, wxWindowID id, const wxBitmap& bitmap,
            const wxPoint& pos = wxDefaultPosition,
            const wxSize& size = wxDefaultSize, long style = wxBU_AUTODRAW,
@@ -54,29 +55,34 @@ class WXDLLEXPORT wxBitmapButton: public wxButton
   inline wxBitmap& GetBitmapFocus() const { return (wxBitmap&) m_buttonBitmapFocus; }
   inline wxBitmap& GetBitmapDisabled() const { return (wxBitmap&) m_buttonBitmapDisabled; }
 
-  inline void SetBitmapSelected(const wxBitmap& sel) { m_buttonBitmapSelected = sel; };
-  inline void SetBitmapFocus(const wxBitmap& focus) { m_buttonBitmapFocus = focus; };
-  inline void SetBitmapDisabled(const wxBitmap& disabled) { m_buttonBitmapDisabled = disabled; };
+  void SetBitmapSelected(const wxBitmap& sel);
+  void SetBitmapFocus(const wxBitmap& focus);
+  void SetBitmapDisabled(const wxBitmap& disabled);
 
   inline void SetMargins(int x, int y) { m_marginX = x; m_marginY = y; }
   inline int GetMarginX() { return m_marginX; }
   inline int GetMarginY() { return m_marginY; }
 
-/*
-  // TODO: Implementation
-  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 );
-*/
+// Implementation
+  void DoSetBitmap();
+  virtual void ChangeBackgroundColour();
 
  protected:
+  wxBitmap m_buttonBitmapFocus;
   wxBitmap m_buttonBitmap;
+  wxBitmap m_buttonBitmapOriginal; // May be different from m_buttonBitmap
+                                   // if m_buttonBitmap has been changed
+                                   // to reflect button background colour
   wxBitmap m_buttonBitmapSelected;
-  wxBitmap m_buttonBitmapFocus;
+  wxBitmap m_buttonBitmapSelectedOriginal;
+
   wxBitmap m_buttonBitmapDisabled;
+  wxBitmap m_buttonBitmapDisabledOriginal;
+
   int      m_marginX;
   int      m_marginY;
+
+  WXPixmap m_insensPixmap;
 };
 
 #endif