1 /////////////////////////////////////////////////////////////////////////////
3 // Purpose: SWIG interface for wxPen
7 // Created: 7-July-1997
9 // Copyright: (c) 2003 by Total Control Software
10 // Licence: wxWindows license
11 /////////////////////////////////////////////////////////////////////////////
16 //---------------------------------------------------------------------------
18 // wxDash is a signed char, byte is unsigned char...
19 %typemap(in) (int dashes, wxDash* dashes_array ) {
20 $1 = PyList_Size($input);
21 $2 = (wxDash*)byte_LIST_helper($input);
22 if ($2 == NULL) SWIG_fail;
24 %typemap(freearg) (int dashes, wxDash* dashes_array ) {
28 //---------------------------------------------------------------------------
32 class wxPen : public wxGDIObject {
34 wxPen(wxColour& colour, int width=1, int style=wxSOLID);
45 void SetCap(int cap_style);
46 void SetColour(wxColour& colour);
47 void SetJoin(int join_style);
48 void SetStyle(int style);
49 void SetWidth(int width);
51 void SetDashes(int dashes, wxDash* dashes_array);
52 //int GetDashes(wxDash **dashes);
54 PyObject* GetDashes() {
56 int count = self->GetDashes(&dashes);
57 bool blocked = wxPyBeginBlockThreads();
58 PyObject* retval = PyList_New(0);
59 for (int x=0; x<count; x++)
60 PyList_Append(retval, PyInt_FromLong(dashes[x]));
61 wxPyEndBlockThreads(blocked);
67 bool __eq__(const wxPen* other) { return other ? (*self == *other) : False; }
68 bool __ne__(const wxPen* other) { return other ? (*self != *other) : True; }
72 // wxDash* GetDash() const;
73 int GetDashCount() const;
77 wxBitmap* GetStipple();
78 void SetStipple(wxBitmap& stipple);
81 %pythoncode { def __nonzero__(self): return self.Ok() }
85 // The list of ints for the dashes needs to exist for the life of the pen
86 // so we make it part of the class to save it. See pyclasses.h
95 void wxPyPen::SetDashes(int nb_dashes, const wxDash *dash)
99 m_dash = new wxDash[nb_dashes];
100 for (int i=0; i<nb_dashes; i++) {
103 wxPen::SetDashes(nb_dashes, m_dash);
108 class wxPyPen : public wxPen {
110 wxPyPen(wxColour& colour, int width=1, int style=wxSOLID);
113 void SetDashes(int dashes, wxDash* dashes_array);
116 // wxPyPen is aliased to wxPen
117 %pythoncode { Pen = PyPen };
119 //---------------------------------------------------------------------------