/////////////////////////////////////////////////////////////////////////////
-// Name: brush.h
+// Name: wx/os2/brush.h
// Purpose: wxBrush class
// Author: David Webster
// Modified by:
#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 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 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
//
// 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