1/////////////////////////////////////////////////////////////////////////////
2// Name:        wx/gtk/pen.h
3// Purpose:
4// Author:      Robert Roebling
5// Id:          $Id: pen.h 41751 2006-10-08 21:56:55Z VZ $
6// Copyright:   (c) 1998 Robert Roebling
7// Licence:     wxWindows licence
8/////////////////////////////////////////////////////////////////////////////
9
10#ifndef _WX_GTK_PEN_H_
11#define _WX_GTK_PEN_H_
12
13#include "wx/gdiobj.h"
14#include "wx/gdicmn.h"
15
16typedef    gint8 wxGTKDash;
17
18//-----------------------------------------------------------------------------
19// wxPen
20//-----------------------------------------------------------------------------
21
22class WXDLLIMPEXP_CORE wxPen: public wxGDIObject
23{
24public:
25    wxPen() { }
26
27    wxPen( const wxColour &colour, int width = 1, int style = wxSOLID );
28    virtual ~wxPen();
29
30    bool Ok() const { return IsOk(); }
31    bool IsOk() const { return m_refData != NULL; }
32
33    bool operator == ( const wxPen& pen ) const;
34    bool operator != (const wxPen& pen) const { return !(*this == pen); }
35
36    void SetColour( const wxColour &colour );
37    void SetColour( unsigned char red, unsigned char green, unsigned char blue );
38    void SetCap( int capStyle );
39    void SetJoin( int joinStyle );
40    void SetStyle( int style );
41    void SetWidth( int width );
42    void SetDashes( int number_of_dashes, const wxDash *dash );
43
44    wxColour &GetColour() const;
45    int GetCap() const;
46    int GetJoin() const;
47    int GetStyle() const;
48    int GetWidth() const;
49    int GetDashes(wxDash **ptr) const;
50    int GetDashCount() const;
51    wxDash* GetDash() const;
52
53protected:
54    // ref counting code
55    virtual wxObjectRefData *CreateRefData() const;
56    virtual wxObjectRefData *CloneRefData(const wxObjectRefData *data) const;
57
58    DECLARE_DYNAMIC_CLASS(wxPen)
59};
60
61#endif // _WX_GTK_PEN_H_
62