]>
git.saurik.com Git - wxWidgets.git/blob - include/wx/mac/pen.h
   1 ///////////////////////////////////////////////////////////////////////////// 
   3 // Purpose:     wxPen class 
   8 // Copyright:   (c) AUTHOR 
   9 // Licence:     wxWindows licence 
  10 ///////////////////////////////////////////////////////////////////////////// 
  16 #pragma interface "pen.h" 
  19 #include "wx/gdiobj.h" 
  20 #include "wx/colour.h" 
  21 #include "wx/bitmap.h" 
  23 class WXDLLEXPORT wxPen
; 
  25 class WXDLLEXPORT wxPenRefData
: public wxGDIRefData
 
  27     friend class WXDLLEXPORT wxPen
; 
  30     wxPenRefData(const wxPenRefData
& data
); 
  42 /* TODO: implementation 
  47 #define M_PENDATA ((wxPenRefData *)m_refData) 
  50 class WXDLLEXPORT wxPen
: public wxGDIObject
 
  52   DECLARE_DYNAMIC_CLASS(wxPen
) 
  55   wxPen(const wxColour
& col
, int width
, int style
); 
  56   wxPen(const wxBitmap
& stipple
, int width
); 
  57   inline wxPen(const wxPen
& pen
) { Ref(pen
); } 
  60   inline wxPen
& operator = (const wxPen
& pen
) { if (*this == pen
) return (*this); Ref(pen
); return *this; } 
  61   inline bool operator == (const wxPen
& pen
) { return m_refData 
== pen
.m_refData
; } 
  62   inline bool operator != (const wxPen
& pen
) { return m_refData 
!= pen
.m_refData
; } 
  64   virtual bool Ok() const { return (m_refData 
!= NULL
) ; } 
  66   // Override in order to recreate the pen 
  67   void SetColour(const wxColour
& col
) ; 
  68   void SetColour(unsigned char r
, unsigned char g
, unsigned char b
)  ; 
  70   void SetWidth(int width
)  ; 
  71   void SetStyle(int style
)  ; 
  72   void SetStipple(const wxBitmap
& stipple
)  ; 
  73   void SetDashes(int nb_dashes
, const wxDash 
*dash
)  ; 
  74   void SetJoin(int join
)  ; 
  75   void SetCap(int cap
)  ; 
  77   inline wxColour
& GetColour() const { return (M_PENDATA 
? M_PENDATA
->m_colour 
: wxNullColour
); }; 
  78   inline int GetWidth() const { return (M_PENDATA 
? M_PENDATA
->m_width 
: 0); }; 
  79   inline int GetStyle() const { return (M_PENDATA 
? M_PENDATA
->m_style 
: 0); }; 
  80   inline int GetJoin() const { return (M_PENDATA 
? M_PENDATA
->m_join 
: 0); }; 
  81   inline int GetCap() const { return (M_PENDATA 
? M_PENDATA
->m_cap 
: 0); }; 
  82   inline int GetDashes(wxDash 
**ptr
) const { 
  83      *ptr 
= (M_PENDATA 
? M_PENDATA
->m_dash 
: (wxDash
*) NULL
); return (M_PENDATA 
? M_PENDATA
->m_nbDash 
: 0); 
  86   inline wxBitmap 
*GetStipple() const { return (M_PENDATA 
? (& M_PENDATA
->m_stipple
) : (wxBitmap
*) NULL
); }; 
  90   // Useful helper: create the brush resource 
  91   bool RealizeResource(); 
  93   // When setting properties, we must make sure we're not changing