X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/83df96d63a52ebb08b9e32549dc255354b4a18d0..9d5507f7a2701395e1d5c121bd877bb9066ee6ea:/include/wx/x11/brush.h diff --git a/include/wx/x11/brush.h b/include/wx/x11/brush.h index 513d7fc9c3..ce581ab06d 100644 --- a/include/wx/x11/brush.h +++ b/include/wx/x11/brush.h @@ -1,78 +1,61 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: brush.h +// Name: wx/x11/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__ -#pragma interface "brush.h" -#endif - -#include "wx/gdicmn.h" #include "wx/gdiobj.h" -#include "wx/bitmap.h" -class WXDLLEXPORT wxBrush; +//----------------------------------------------------------------------------- +// classes +//----------------------------------------------------------------------------- + +class WXDLLIMPEXP_FWD_CORE wxBrush; +class WXDLLIMPEXP_FWD_CORE wxColour; +class WXDLLIMPEXP_FWD_CORE wxBitmap; + +//----------------------------------------------------------------------------- +// wxBrush +//----------------------------------------------------------------------------- -class WXDLLEXPORT wxBrushRefData: public wxGDIRefData +class WXDLLIMPEXP_CORE wxBrush: public wxBrushBase { - friend class WXDLLEXPORT wxBrush; public: - wxBrushRefData(); - wxBrushRefData(const wxBrushRefData& data); - ~wxBrushRefData(); - -protected: - int m_style; - wxBitmap m_stipple ; - wxColour m_colour; -}; + wxBrush() { } -#define M_BRUSHDATA ((wxBrushRefData *)m_refData) + wxBrush( const wxColour &colour, int style = wxSOLID ); + wxBrush( const wxBitmap &stippleBitmap ); + virtual ~wxBrush(); + + bool Ok() const { return IsOk(); } + bool IsOk() 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 ); + +protected: + // ref counting code + virtual wxObjectRefData *CreateRefData() const; + virtual wxObjectRefData *CloneRefData(const wxObjectRefData *data) const; -// Brush -class WXDLLEXPORT 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) ; - - 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(); }; #endif