X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/ab9d0a8ca3d306898d92960ecfaefb8c1191b18a..dd9f8b6bb6935360a8271dc3e8749fb026b601a8:/include/wx/os2/brush.h diff --git a/include/wx/os2/brush.h b/include/wx/os2/brush.h index 3655cfeaf4..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,63 +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); }; - bool IsHatch() const - { return (GetStyle()>=wxBDIAGONAL_HATCH) && (GetStyle()<=wxVERTICAL_HATCH); } - - inline virtual bool Ok(void) const { return (m_refData != NULL) ; } - // // Implementation // @@ -81,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