]>
git.saurik.com Git - wxWidgets.git/blob - src/mac/carbon/pen.cpp
   1 ///////////////////////////////////////////////////////////////////////////// 
   2 // Name:        src/mac/carbon/pen.cpp 
   4 // Author:      Stefan Csomor 
   8 // Copyright:   (c) Stefan Csomor 
   9 // Licence:     wxWindows licence 
  10 ///////////////////////////////////////////////////////////////////////////// 
  12 #include "wx/wxprec.h" 
  20 IMPLEMENT_DYNAMIC_CLASS(wxPen
, wxGDIObject
) 
  22 wxPenRefData::wxPenRefData() 
  26     m_join 
= wxJOIN_ROUND 
; 
  32 wxPenRefData::wxPenRefData(const wxPenRefData
& data
) 
  35     m_style 
= data
.m_style
; 
  36     m_width 
= data
.m_width
; 
  39     m_nbDash 
= data
.m_nbDash
; 
  41     m_colour 
= data
.m_colour
; 
  44 wxPenRefData::~wxPenRefData() 
  58 // Should implement Create 
  59 wxPen::wxPen(const wxColour
& col
, int Width
, int Style
) 
  61     m_refData 
= new wxPenRefData
; 
  63     M_PENDATA
->m_colour 
= col
; 
  64     M_PENDATA
->m_width 
= Width
; 
  65     M_PENDATA
->m_style 
= Style
; 
  66     M_PENDATA
->m_join 
= wxJOIN_ROUND 
; 
  67     M_PENDATA
->m_cap 
= wxCAP_ROUND 
; 
  68     M_PENDATA
->m_nbDash 
= 0 ; 
  69     M_PENDATA
->m_dash 
= 0 ; 
  74 wxPen::wxPen(const wxBitmap
& stipple
, int Width
) 
  76     m_refData 
= new wxPenRefData
; 
  78     M_PENDATA
->m_stipple 
= stipple
; 
  79     M_PENDATA
->m_width 
= Width
; 
  80     M_PENDATA
->m_style 
= wxSTIPPLE
; 
  81     M_PENDATA
->m_join 
= wxJOIN_ROUND 
; 
  82     M_PENDATA
->m_cap 
= wxCAP_ROUND 
; 
  83     M_PENDATA
->m_nbDash 
= 0 ; 
  84     M_PENDATA
->m_dash 
= 0 ; 
  89 wxObjectRefData
* wxPen::CreateRefData() const 
  91     return new wxPenRefData
; 
  94 wxObjectRefData
* wxPen::CloneRefData(const wxObjectRefData
* data
) const 
  96     return new wxPenRefData(*wx_static_cast(const wxPenRefData
*, data
)); 
  99 void wxPen::SetColour(const wxColour
& col
) 
 103     M_PENDATA
->m_colour 
= col
; 
 108 void wxPen::SetColour(unsigned char r
, unsigned char g
, unsigned char b
) 
 112     M_PENDATA
->m_colour
.Set(r
, g
, b
); 
 117 void wxPen::SetWidth(int Width
) 
 121     M_PENDATA
->m_width 
= Width
; 
 126 void wxPen::SetStyle(int Style
) 
 130     M_PENDATA
->m_style 
= Style
; 
 135 void wxPen::SetStipple(const wxBitmap
& Stipple
) 
 139     M_PENDATA
->m_stipple 
= Stipple
; 
 140     M_PENDATA
->m_style 
= wxSTIPPLE
; 
 145 void wxPen::SetDashes(int nb_dashes
, const wxDash 
*Dash
) 
 149     M_PENDATA
->m_nbDash 
= nb_dashes
; 
 150     M_PENDATA
->m_dash 
= (wxDash 
*)Dash
; 
 155 void wxPen::SetJoin(int Join
) 
 159     M_PENDATA
->m_join 
= Join
; 
 164 void wxPen::SetCap(int Cap
) 
 168     M_PENDATA
->m_cap 
= Cap
; 
 173 bool wxPen::RealizeResource() 
 175     // nothing to do here for mac