X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/83df96d63a52ebb08b9e32549dc255354b4a18d0..9d9ad67384e5dc658c4de46e49113c321489bf81:/include/wx/x11/brush.h diff --git a/include/wx/x11/brush.h b/include/wx/x11/brush.h index 513d7fc9c3..58160f1fc3 100644 --- a/include/wx/x11/brush.h +++ b/include/wx/x11/brush.h @@ -1,78 +1,67 @@ ///////////////////////////////////////////////////////////////////////////// // 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 -// Licence: wxWindows licence +// Copyright: (c) Julian Smart, Robert Roebling +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// #ifndef _WX_BRUSH_H_ #define _WX_BRUSH_H_ -#ifdef __GNUG__ +#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) #pragma interface "brush.h" #endif -#include "wx/gdicmn.h" #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; +class wxColour; +class wxBitmap; -#define M_BRUSHDATA ((wxBrushRefData *)m_refData) +//----------------------------------------------------------------------------- +// wxBrush +//----------------------------------------------------------------------------- -// Brush -class WXDLLEXPORT wxBrush: public wxGDIObject +class 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() { } + + wxBrush( const wxColour &colour, int style = wxSOLID ); + wxBrush( const wxBitmap &stippleBitmap ); ~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) 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); }; - - virtual bool Ok() const { return (m_refData != NULL) ; } - - // Implementation - - // Useful helper: create the brush resource - bool RealizeResource(); - - // When setting properties, we must make sure we're not changing - // another object - void Unshare(); + + wxBrush( const wxBrush &brush ) { 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 ); + +private: + // ref counting code + virtual wxObjectRefData *CreateRefData() const; + virtual wxObjectRefData *CloneRefData(const wxObjectRefData *data) const; + + DECLARE_DYNAMIC_CLASS(wxBrush) }; #endif