X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/46562151eb21235344768ea4b53c204d0c03fcee..74b57569a3caaf8758b616f8259b154dcaf1c651:/include/wx/os2/brush.h diff --git a/include/wx/os2/brush.h b/include/wx/os2/brush.h index 71661f2277..cce9af579d 100644 --- a/include/wx/os2/brush.h +++ b/include/wx/os2/brush.h @@ -16,15 +16,22 @@ #include "wx/gdiobj.h" #include "wx/bitmap.h" -class WXDLLEXPORT wxBrush; +class WXDLLIMPEXP_FWD_CORE wxBrush; class WXDLLEXPORT wxBrushRefData: public wxGDIRefData { - friend class WXDLLEXPORT wxBrush; + friend class WXDLLIMPEXP_FWD_CORE wxBrush; public: wxBrushRefData(); wxBrushRefData(const wxBrushRefData& rData); - ~wxBrushRefData(); + virtual ~wxBrushRefData(); + + bool operator == (const wxBrushRefData& data) const + { + return (m_nStyle == data.m_nStyle && + m_vStipple.IsSameAs(data.m_vStipple) && + m_vColour == data.m_vColour); + } protected: int m_nStyle; @@ -39,21 +46,17 @@ protected: // Brush class WXDLLEXPORT wxBrush: public wxBrushBase { - DECLARE_DYNAMIC_CLASS(wxBrush) - public: wxBrush(); wxBrush(const wxColour& rCol, int nStyle = wxSOLID); wxBrush(const wxBitmap& rStipple); - inline wxBrush(const wxBrush& rBrush) { Ref(rBrush); } - ~wxBrush(); + virtual ~wxBrush(); - inline wxBrush& operator = (const wxBrush& rBrush) { if (*this == rBrush) return (*this); Ref(rBrush); return *this; } - inline bool operator == (const wxBrush& rBrush) const { return m_refData == rBrush.m_refData; } - inline bool operator != (const wxBrush& rBrush) const { return m_refData != rBrush.m_refData; } + bool operator == (const wxBrush& rBrush) const; + inline bool operator != (const wxBrush& rBrush) const { return !(*this == rBrush); } virtual void SetColour(const wxColour& rColour); - virtual void SetColour(const unsigned char cRed, const unsigned char cGreen, const unsigned char cBrush); + virtual void SetColour(unsigned char cRed, unsigned char cGreen, unsigned char cBrush); virtual void SetPS(HPS hPS); virtual void SetStyle(int nStyle) ; virtual void SetStipple(const wxBitmap& rStipple); @@ -63,8 +66,6 @@ public: inline wxBitmap* GetStipple(void) const { return (M_BRUSHDATA ? & M_BRUSHDATA->m_vStipple : 0); }; inline int GetPS(void) const { return (M_BRUSHDATA ? M_BRUSHDATA->m_hBrush : 0); }; - inline virtual bool Ok(void) const { return (m_refData != NULL) ; } - // // Implementation // @@ -73,10 +74,16 @@ public: // Useful helper: create the brush resource // bool RealizeResource(void); - WXHANDLE GetResourceHandle(void) ; + virtual WXHANDLE GetResourceHandle(void) const; bool FreeResource(bool bForce = false); bool IsFree(void) const; - void Unshare(void); + +protected: + virtual wxGDIRefData *CreateGDIRefData() const; + virtual wxGDIRefData *CloneGDIRefData(const wxGDIRefData *data) const; + +private: + DECLARE_DYNAMIC_CLASS(wxBrush) }; // end of CLASS wxBrush #endif