X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/655719367ac5e131d9642e5783f3ecf64d1a3385..28dd9a9d035b5435897d626d1b57b4308daa0371:/include/wx/os2/brush.h diff --git a/include/wx/os2/brush.h b/include/wx/os2/brush.h index 3f6720cec8..cce9af579d 100644 --- a/include/wx/os2/brush.h +++ b/include/wx/os2/brush.h @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: brush.h +// Name: wx/os2/brush.h // Purpose: wxBrush class // Author: David Webster // Modified by: @@ -16,60 +16,56 @@ #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; - wxBitmap m_vStipple ; - wxColour m_vColour; - WXHBRUSH m_hBrush; // in OS/2 GPI this will be the PS the pen is associated with - AREABUNDLE m_vBundle; + int m_nStyle; + wxBitmap m_vStipple ; + wxColour m_vColour; + WXHBRUSH m_hBrush; // in OS/2 GPI this will be the PS the pen is associated with + AREABUNDLE m_vBundle; }; #define M_BRUSHDATA ((wxBrushRefData *)m_refData) // Brush -class WXDLLEXPORT wxBrush: public wxGDIObject +class WXDLLEXPORT wxBrush: public wxBrushBase { - DECLARE_DYNAMIC_CLASS(wxBrush) - public: wxBrush(); - wxBrush( const wxColour& rCol - ,int nStyle = wxSOLID - ); + 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( unsigned char cRed - ,unsigned char cGreen - ,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); inline wxColour& GetColour(void) const { return (M_BRUSHDATA ? M_BRUSHDATA->m_vColour : wxNullColour); }; - inline int GetStyle(void) const { return (M_BRUSHDATA ? M_BRUSHDATA->m_nStyle : 0); }; + virtual int GetStyle(void) const { return (M_BRUSHDATA ? M_BRUSHDATA->m_nStyle : 0); }; 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 // @@ -78,10 +74,16 @@ public: // Useful helper: create the brush resource // bool RealizeResource(void); - WXHANDLE GetResourceHandle(void) ; - bool FreeResource(bool bForce = FALSE); + 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