// This is the SIP interface definition for TQPointArray. // // Copyright (c) 2007 // Riverbank Computing Limited // // This file is part of PyTQt. // // This copy of PyTQt is free software; you can redistribute it and/or modify it // under the terms of the GNU General Public License as published by the Free // Software Foundation; either version 2, or (at your option) any later // version. // // PyTQt is supplied in the hope that it will be useful, but WITHOUT ANY // WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS // FOR A PARTICULAR PURPOSE. See the GNU General Public License for more // details. // // You should have received a copy of the GNU General Public License along with // PyTQt; see the file LICENSE. If not, write to the Free Software Foundation, // Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. %ExportedDoc TQPointArray TQPointArray int nPoints const TQCOORD *points This takes a single parameter which is a list of points. void point uint i int *x int *y This takes the single parameter i and returns the x and y values as a tuple. bool putPoints int index int nPoints const TQCOORD *points This takes two parameters, index and a list of points. bool putPoints int index int nPoints int firstx int firsty ... Not implemented. bool setPoints int nPoints const TQCOORD *points This takes a single parameter which is a list of points. bool setPoints int nPoints int firstx int firsty ... Not implemented. %End class TQPointArray { %TypeHeaderCode #include %End %TypeCode // Convert a list of numbers to an array on TQCOORDs on the heap. static TQCOORD *getPoints(int nrpnts,PyObject *pntlist) { TQCOORD *pnts, *pp; if ((pnts = (TQCOORD *)sipMalloc(nrpnts * sizeof (TQCOORD))) == NULL) return NULL; // Convert the list. pp = pnts; for (int i = 0; i < nrpnts; ++i) { *pp++ = (TQCOORD)PyLong_AsLong(PyList_GetItem(pntlist,i)); if (PyErr_Occurred() != NULL) { sipFree((void *)pnts); return NULL; } } return pnts; } %End public: TQPointArray(); TQPointArray(int); TQPointArray(const TQPointArray &); TQPointArray(const TQRect &,bool = 0); TQPointArray(SIP_PYLIST) [(int,const TQCOORD *)]; %MethodCode // The Python interface is a list of TQCOORDs. int nrpnts; TQCOORD *pnts; nrpnts = PyList_GET_SIZE(a0); if ((pnts = getPoints(nrpnts,a0)) == NULL) sipIsErr = 1; else { // No wrapper class for TQPointArray. Py_BEGIN_ALLOW_THREADS sipCpp = new TQPointArray(nrpnts / 2,pnts); Py_END_ALLOW_THREADS sipFree((void *)pnts); } %End TQPointArray copy() const; void translate(int,int); TQRect boundingRect() const; void point(uint,int *,int *) const; // This is hidden by the above. It would probably be better to remove // the one above, but that would break backwards compatibility. //TQPoint point(uint) const; void setPoint(uint,int,int); void setPoint(uint,const TQPoint &); bool setPoints(SIP_PYLIST); %MethodCode int nrpnts; TQCOORD *pnts; nrpnts = PyList_GET_SIZE(a0); if ((pnts = getPoints(nrpnts,a0)) == NULL) sipIsErr = 1; else { Py_BEGIN_ALLOW_THREADS sipRes = sipCpp -> setPoints(nrpnts / 2,pnts); Py_END_ALLOW_THREADS sipFree((void *)pnts); } %End // bool setPoints(int,int,int,...); bool putPoints(int,SIP_PYLIST); %MethodCode int nrpnts; TQCOORD *pnts; nrpnts = PyList_GET_SIZE(a1); if ((pnts = getPoints(nrpnts,a1)) == NULL) sipIsErr = 1; else { Py_BEGIN_ALLOW_THREADS sipRes = sipCpp -> putPoints(a0,nrpnts / 2,pnts); Py_END_ALLOW_THREADS sipFree((void *)pnts); } %End // bool putPoints(int,int,int,int,...); %If (TQt_3_0_0 -) bool putPoints(int,int,const TQPointArray &,int = 0); %End %If (- TQt_2_00) TQPoint at(uint) const; %End void makeArc(int,int,int,int,int,int); void makeEllipse(int,int,int,int); %If (TQt_TRANSFORMATIONS) %If (TQt_2_00 -) void makeArc(int,int,int,int,int,int,const TQWMatrix &); %End %End %If (- TQt_3_0_0) TQPointArray quadBezier() const; %End %If (TQt_3_0_0 -) TQPointArray cubicBezier() const; %End // These are actually in TQArray, which isn't implemented so pretend // they are here. uint nrefs() const; bool isEmpty() const; bool isNull() const; bool resize(uint); uint size() const; bool truncate(uint); bool fill(const TQPoint &,int = -1); %If (TQt_2_00 -) TQPoint &at(uint) const; %End %If (TQt_2_1_0 -) void sort(); int bsearch(const TQPoint &) const; %End int find(const TQPoint &,uint = 0) const; int contains(const TQPoint &) const; };