From 3d0b488be00d44b89a3507063a3094bd15090ac9 Mon Sep 17 00:00:00 2001 From: Stefan Csomor Date: Thu, 31 Jul 2008 09:56:44 +0000 Subject: [PATCH] pen and brush are platform neutral on osx git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@54872 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- include/wx/osx/brush.h | 58 ++++++++++++++++++++++++++++++++ include/wx/osx/pen.h | 76 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 134 insertions(+) create mode 100644 include/wx/osx/brush.h create mode 100644 include/wx/osx/pen.h diff --git a/include/wx/osx/brush.h b/include/wx/osx/brush.h new file mode 100644 index 0000000000..68778697e2 --- /dev/null +++ b/include/wx/osx/brush.h @@ -0,0 +1,58 @@ +///////////////////////////////////////////////////////////////////////////// +// Name: wx/mac/carbon/brush.h +// Purpose: wxBrush class +// Author: Stefan Csomor +// Modified by: +// Created: 1998-01-01 +// RCS-ID: $Id$ +// Copyright: (c) Stefan Csomor +// Licence: wxWindows licence +///////////////////////////////////////////////////////////////////////////// + +#ifndef _WX_BRUSH_H_ +#define _WX_BRUSH_H_ + +#include "wx/gdicmn.h" +#include "wx/gdiobj.h" +#include "wx/bitmap.h" + +class WXDLLIMPEXP_FWD_CORE wxBrush; + +// Brush +class WXDLLIMPEXP_CORE wxBrush: public wxBrushBase +{ +public: + wxBrush(); + wxBrush(const wxColour& col, wxBrushStyle style = wxBRUSHSTYLE_SOLID); +#if FUTURE_WXWIN_COMPATIBILITY_3_0 + wxDEPRECATED_FUTURE( wxBrush(const wxColour& col, int style) ); +#endif + wxBrush(const wxBitmap& stipple); + virtual ~wxBrush(); + + virtual void SetColour(const wxColour& col) ; + virtual void SetColour(unsigned char r, unsigned char g, unsigned char b) ; + virtual void SetStyle(wxBrushStyle style) ; + virtual void SetStipple(const wxBitmap& stipple) ; + + bool operator==(const wxBrush& brush) const; + bool operator!=(const wxBrush& brush) const { return !(*this == brush); } + + wxColour GetColour() const; + wxBrushStyle GetStyle() const ; + wxBitmap *GetStipple() const ; + +#if FUTURE_WXWIN_COMPATIBILITY_3_0 + wxDEPRECATED_FUTURE( void SetStyle(int style) ) + { SetStyle((wxBrushStyle)style); } +#endif + +protected: + virtual wxGDIRefData *CreateGDIRefData() const; + virtual wxGDIRefData *CloneGDIRefData(const wxGDIRefData *data) const; + +private: + DECLARE_DYNAMIC_CLASS(wxBrush) +}; + +#endif // _WX_BRUSH_H_ diff --git a/include/wx/osx/pen.h b/include/wx/osx/pen.h new file mode 100644 index 0000000000..a5ae6095e3 --- /dev/null +++ b/include/wx/osx/pen.h @@ -0,0 +1,76 @@ +///////////////////////////////////////////////////////////////////////////// +// Name: wx/mac/carbon/pen.h +// Purpose: wxPen class +// Author: Stefan Csomor +// Modified by: +// Created: 1998-01-01 +// RCS-ID: $Id$ +// Copyright: (c) Stefan Csomor +// Licence: wxWindows licence +///////////////////////////////////////////////////////////////////////////// + +#ifndef _WX_PEN_H_ +#define _WX_PEN_H_ + +#include "wx/gdiobj.h" +#include "wx/colour.h" +#include "wx/bitmap.h" + +// Pen +class WXDLLIMPEXP_CORE wxPen : public wxPenBase +{ +public: + wxPen(); + wxPen(const wxColour& col, int width = 1, wxPenStyle style = wxPENSTYLE_SOLID); +#if FUTURE_WXWIN_COMPATIBILITY_3_0 + wxDEPRECATED_FUTURE( wxPen(const wxColour& col, int width, int style) ); +#endif + + wxPen(const wxBitmap& stipple, int width); + virtual ~wxPen(); + + bool operator==(const wxPen& pen) const; + bool operator!=(const wxPen& pen) const { return !(*this == pen); } + + // Override in order to recreate the pen + void SetColour(const wxColour& col) ; + void SetColour(unsigned char r, unsigned char g, unsigned char b) ; + + void SetWidth(int width) ; + void SetStyle(wxPenStyle style) ; + void SetStipple(const wxBitmap& stipple) ; + void SetDashes(int nb_dashes, const wxDash *dash) ; + void SetJoin(wxPenJoin join) ; + void SetCap(wxPenCap cap) ; + + wxColour GetColour() const ; + int GetWidth() const; + wxPenStyle GetStyle() const; + wxPenJoin GetJoin() const; + wxPenCap GetCap() const; + int GetDashes(wxDash **ptr) const; + + wxBitmap *GetStipple() const ; + +#if FUTURE_WXWIN_COMPATIBILITY_3_0 + wxDEPRECATED_FUTURE( void SetStyle(int style) ) + { SetStyle((wxPenStyle)style); } +#endif + + // Implementation + + // Useful helper: create the brush resource + bool RealizeResource(); + +protected: + virtual wxGDIRefData *CreateGDIRefData() const; + virtual wxGDIRefData *CloneGDIRefData(const wxGDIRefData *data) const; + +private: + void Unshare(); + + DECLARE_DYNAMIC_CLASS(wxPen) +}; + +#endif + // _WX_PEN_H_