X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/fb9010ed40454cc978a9cbaa6de2ee41ea8b6c84..dd9f8b6bb6935360a8271dc3e8749fb026b601a8:/include/wx/os2/brush.h?ds=sidebyside diff --git a/include/wx/os2/brush.h b/include/wx/os2/brush.h index 6861816ec8..cce9af579d 100644 --- a/include/wx/os2/brush.h +++ b/include/wx/os2/brush.h @@ -1,84 +1,90 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: brush.h +// Name: wx/os2/brush.h // Purpose: wxBrush class -// Author: AUTHOR +// Author: David Webster // Modified by: -// Created: ??/??/98 +// Created: 10/13/99 // RCS-ID: $Id$ -// Copyright: (c) AUTHOR -// Licence: wxWindows licence +// Copyright: (c) David Webster +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// #ifndef _WX_BRUSH_H_ #define _WX_BRUSH_H_ -#ifdef __GNUG__ -#pragma interface "brush.h" -#endif - #include "wx/gdicmn.h" #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& data); - ~wxBrushRefData(); + wxBrushRefData(const wxBrushRefData& rData); + 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_style; - wxBitmap m_stipple ; - wxColour m_colour; - WXHBRUSH m_hBrush; + 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& col, int style); - wxBrush(const wxBitmap& stipple); - inline wxBrush(const wxBrush& brush) { Ref(brush); } - ~wxBrush(); - - virtual void SetColour(const wxColour& col) ; - virtual void SetColour(unsigned char r, unsigned char g, unsigned char b) ; - virtual void SetStyle(int style) ; - virtual void SetStipple(const wxBitmap& stipple) ; - - inline wxBrush& operator = (const wxBrush& brush) { if (*this == brush) return (*this); Ref(brush); return *this; } - inline bool operator == (const wxBrush& brush) { return m_refData == brush.m_refData; } - inline bool operator != (const wxBrush& brush) { return m_refData != brush.m_refData; } + wxBrush(); + wxBrush(const wxColour& rCol, int nStyle = wxSOLID); + wxBrush(const wxBitmap& rStipple); + virtual ~wxBrush(); + + 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 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); }; + 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); }; + + // + // Implementation + // + + // + // Useful helper: create the brush resource + // + bool RealizeResource(void); + virtual WXHANDLE GetResourceHandle(void) const; + bool FreeResource(bool bForce = false); + bool IsFree(void) const; - inline wxColour& GetColour() const { return (M_BRUSHDATA ? M_BRUSHDATA->m_colour : wxNullColour); }; - inline int GetStyle() const { return (M_BRUSHDATA ? M_BRUSHDATA->m_style : 0); }; - inline wxBitmap *GetStipple() const { return (M_BRUSHDATA ? & M_BRUSHDATA->m_stipple : 0); }; - - virtual bool Ok() const { return (m_refData != NULL) ; } - -// Implementation - - // Useful helper: create the brush resource - bool RealizeResource(); - - WXHANDLE GetResourceHandle(void) ; - bool FreeResource(bool force = FALSE); - bool IsFree() const; +protected: + virtual wxGDIRefData *CreateGDIRefData() const; + virtual wxGDIRefData *CloneGDIRefData(const wxGDIRefData *data) const; - // When setting properties, we must make sure we're not changing - // another object - void Unshare(); -}; +private: + DECLARE_DYNAMIC_CLASS(wxBrush) +}; // end of CLASS wxBrush #endif // _WX_BRUSH_H_