///////////////////////////////////////////////////////////////////////////// // Name: _colour.i // Purpose: SWIG interface for wxColour // // Author: Robin Dunn // // Created: 7-July-1997 // RCS-ID: $Id$ // Copyright: (c) 2003 by Total Control Software // Licence: wxWindows license ///////////////////////////////////////////////////////////////////////////// // Not a %module //--------------------------------------------------------------------------- %newgroup; class wxColour : public wxObject { public: wxColour(unsigned char red=0, unsigned char green=0, unsigned char blue=0); ~wxColour(); %name(NamedColour) wxColour( const wxString& colorName); %name(ColourRGB) wxColour( unsigned long colRGB ); unsigned char Red(); unsigned char Green(); unsigned char Blue(); bool Ok(); void Set(unsigned char red, unsigned char green, unsigned char blue); %name(SetRGB) void Set(unsigned long colRGB); bool operator==(const wxColour& colour) const; bool operator != (const wxColour& colour) const; void InitFromName(const wxString& colourName); %extend { PyObject* Get() { PyObject* rv = PyTuple_New(3); int red = -1; int green = -1; int blue = -1; if (self->Ok()) { red = self->Red(); green = self->Green(); blue = self->Blue(); } PyTuple_SetItem(rv, 0, PyInt_FromLong(red)); PyTuple_SetItem(rv, 1, PyInt_FromLong(green)); PyTuple_SetItem(rv, 2, PyInt_FromLong(blue)); return rv; } // bool __eq__(PyObject* obj) { // wxColour tmp; // wxColour* ptr = &tmp; // if (obj == Py_None) return False; // wxPyBLOCK_THREADS(bool success = wxColour_helper(obj, &ptr); PyErr_Clear()); // if (! success) return False; // return *self == *ptr; // } // bool __ne__(PyObject* obj) { // wxColour tmp; // wxColour* ptr = &tmp; // if (obj == Py_None) return True; // wxPyBLOCK_THREADS(bool success = wxColour_helper(obj, &ptr); PyErr_Clear()); // if (! success) return True; // return *self != *ptr; // } } %pythoncode { asTuple = Get def __str__(self): return str(self.asTuple()) def __repr__(self): return 'wx.Colour' + str(self.asTuple()) def __nonzero__(self): return self.Ok() __safe_for_unpickling__ = True def __reduce__(self): return (Colour, self.Get()) } }; %pythoncode { Color = Colour NamedColor = NamedColour ColorRGB = ColourRGB } //---------------------------------------------------------------------------