- int m_width;
- int m_style;
- int m_join ;
- int m_cap ;
- wxBitmap m_stipple ;
- int m_nbDash ;
- wxDash * m_dash ;
- wxColour m_colour;
- WXHPEN m_hPen;
-
-private:
-// Cannot use
-// DECLARE_NO_COPY_CLASS(wxPenRefData)
-// because copy constructor is explicitly declared above;
-// but no copy assignment operator is defined, so declare
-// it private to prevent the compiler from defining it:
- wxPenRefData& operator=(const wxPenRefData&);
-};
-
-#define M_PENDATA ((wxPenRefData *)m_refData)
-#define wxPENDATA(x) ((wxPenRefData *)(x).m_refData)
-
-// Pen
-class WXDLLEXPORT wxPen: public wxGDIObject
-{
- DECLARE_DYNAMIC_CLASS(wxPen)
-public:
- wxPen();
- wxPen(const wxColour& col, int width = 1, int style = wxSOLID);
- wxPen(const wxBitmap& stipple, int width);
- inline wxPen(const wxPen& pen) { Ref(pen); }
- ~wxPen();
-
- inline wxPen& operator = (const wxPen& pen) { if (*this == pen) return (*this); Ref(pen); return *this; }
- inline bool operator == (const wxPen& pen) const
- {
- // It is impossible to know if the user dashes have changed,
- // so we must assume that they have
- if ( m_refData && pen.m_refData )
- {
- if ( M_PENDATA->m_nbDash != 0 || wxPENDATA(pen)->m_nbDash != 0 )
- return false;
- }
- return m_refData == pen.m_refData;
- }
- inline bool operator != (const wxPen& pen) const
- {
- // It is impossible to know if the user dashes have changed,
- // so we must assume that they have
- if ( m_refData && pen.m_refData )
- {
- if ( M_PENDATA->m_nbDash != 0 || wxPENDATA(pen)->m_nbDash != 0 )
- return true;
- }
- return m_refData != pen.m_refData;
- }
-
- virtual bool Ok() const { return (m_refData != NULL) ; }