// Author: Robert Roebling
// Id: $Id$
// Copyright: (c) 1998 Robert Roebling
-// Licence: wxWindows licence
+// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#ifndef __GTKBRUSHH__
#define __GTKBRUSHH__
-#ifdef __GNUG__
+#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
#pragma interface
#endif
// wxBrush
//-----------------------------------------------------------------------------
-class wxBrush: public wxGDIObject
+class wxBrush: public wxBrushBase
{
- DECLARE_DYNAMIC_CLASS(wxBrush)
+public:
+ wxBrush() { }
- public:
-
- wxBrush(void);
- wxBrush( const wxColour &colour, int style );
+ wxBrush( const wxColour &colour, int style = wxSOLID );
wxBrush( const wxBitmap &stippleBitmap );
- wxBrush( const wxBrush &brush );
- wxBrush( const wxBrush *brush );
- ~wxBrush(void);
- wxBrush& operator = ( const wxBrush& brush );
- bool operator == ( const wxBrush& brush );
- bool operator != ( const wxBrush& brush );
- bool Ok(void) const;
-
- int GetStyle(void) const;
- wxColour &GetColour(void) const;
- wxBitmap *GetStipple(void) const;
-
-
+ ~wxBrush();
+
+ wxBrush( const wxBrush &brush )
+ : wxBrushBase()
+ { Ref(brush); }
+ wxBrush& operator = ( const wxBrush& brush ) { Ref(brush); return *this; }
+
+ bool Ok() const { return m_refData != NULL; }
+
+ bool operator == ( const wxBrush& brush ) const;
+ bool operator != (const wxBrush& brush) const { return !(*this == brush); }
+
+ virtual int GetStyle() const;
+ wxColour &GetColour() const;
+ wxBitmap *GetStipple() const;
+
void SetColour( const wxColour& col );
void SetColour( unsigned char r, unsigned char g, unsigned char b );
void SetStyle( int style );
void SetStipple( const wxBitmap& stipple );
-
- void Unshare(void);
-
- // no data :-)
+
+private:
+ // ref counting code
+ virtual wxObjectRefData *CreateRefData() const;
+ virtual wxObjectRefData *CloneRefData(const wxObjectRefData *data) const;
+
+ DECLARE_DYNAMIC_CLASS(wxBrush)
};
#endif // __GTKBRUSHH__