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             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();
 
  67     wxBitmap* GetStipple();
 
  68     void SetStipple(wxBitmap& stipple);
 
  71     %pythoncode { def __nonzero__(self): return self.Ok() }
 
  75 // The list of ints for the dashes needs to exist for the life of the pen
 
  76 // so we make it part of the class to save it.  See pyclasses.h
 
  85 void wxPyPen::SetDashes(int nb_dashes, const wxDash *dash)
 
  89     m_dash = new wxDash[nb_dashes];
 
  90     for (int i=0; i<nb_dashes; i++) {
 
  93     wxPen::SetDashes(nb_dashes, m_dash);
 
  98 class wxPyPen : public wxPen {
 
 100     wxPyPen(wxColour& colour, int width=1, int style=wxSOLID);
 
 103     void SetDashes(int dashes, wxDash* dashes_array);
 
 106 // wxPyPen is aliased to wxPen
 
 107 %pythoncode { Pen = PyPen };
 
 109 //---------------------------------------------------------------------------