X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/83df96d63a52ebb08b9e32549dc255354b4a18d0..10769d8c47c21fe0ec5034726791a5ad4cf19475:/include/wx/x11/brush.h diff --git a/include/wx/x11/brush.h b/include/wx/x11/brush.h index 513d7fc9c3..25f2efd422 100644 --- a/include/wx/x11/brush.h +++ b/include/wx/x11/brush.h @@ -1,11 +1,11 @@ ///////////////////////////////////////////////////////////////////////////// // Name: brush.h // Purpose: wxBrush class -// Author: Julian Smart +// Author: Julian Smart, Robert Roebling // Modified by: // Created: 17/09/98 // RCS-ID: $Id$ -// Copyright: (c) Julian Smart +// Copyright: (c) Julian Smart, Robert Roebling // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// @@ -20,59 +20,48 @@ #include "wx/gdiobj.h" #include "wx/bitmap.h" -class WXDLLEXPORT wxBrush; +//----------------------------------------------------------------------------- +// classes +//----------------------------------------------------------------------------- -class WXDLLEXPORT wxBrushRefData: public wxGDIRefData -{ - friend class WXDLLEXPORT wxBrush; -public: - wxBrushRefData(); - wxBrushRefData(const wxBrushRefData& data); - ~wxBrushRefData(); - -protected: - int m_style; - wxBitmap m_stipple ; - wxColour m_colour; -}; +class wxBrush; -#define M_BRUSHDATA ((wxBrushRefData *)m_refData) +//----------------------------------------------------------------------------- +// wxBrush +//----------------------------------------------------------------------------- -// Brush -class WXDLLEXPORT wxBrush: public wxGDIObject +class wxBrush: public wxGDIObject { - 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) ; + wxBrush() { } - inline wxBrush& operator = (const wxBrush& brush) { if (*this == brush) return (*this); Ref(brush); return *this; } - inline bool operator == (const wxBrush& brush) const { return m_refData == brush.m_refData; } - inline bool operator != (const wxBrush& brush) const { return m_refData != brush.m_refData; } - - 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); }; + wxBrush( const wxColour &colour, int style ); + wxBrush( const wxBitmap &stippleBitmap ); + ~wxBrush(); - virtual bool Ok() const { return (m_refData != NULL) ; } + wxBrush( const wxBrush &brush ) { Ref(brush); } + wxBrush& operator = ( const wxBrush& brush ) { Ref(brush); return *this; } - // Implementation + bool Ok() const { return m_refData != NULL; } - // Useful helper: create the brush resource - bool RealizeResource(); + bool operator == ( const wxBrush& brush ) const; + bool operator != (const wxBrush& brush) const { return !(*this == brush); } + + 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 ); + +private: + // ref counting code + virtual wxObjectRefData *CreateRefData() const; + virtual wxObjectRefData *CloneRefData(const wxObjectRefData *data) const; - // When setting properties, we must make sure we're not changing - // another object - void Unshare(); + DECLARE_DYNAMIC_CLASS(wxBrush) }; #endif