diff options
author | Timothy Pearson <[email protected]> | 2011-11-29 00:31:00 -0600 |
---|---|---|
committer | Timothy Pearson <[email protected]> | 2011-11-29 00:31:00 -0600 |
commit | b388516ca2691303a076a0764fd40bf7116fe43d (patch) | |
tree | 6f1615d1f12b325f4d1cd9c25d1519303794001a /sip/qt/qpointarray.sip | |
download | pytqt-b388516ca2691303a076a0764fd40bf7116fe43d.tar.gz pytqt-b388516ca2691303a076a0764fd40bf7116fe43d.zip |
Initial import of python-qt3
Diffstat (limited to 'sip/qt/qpointarray.sip')
-rw-r--r-- | sip/qt/qpointarray.sip | 247 |
1 files changed, 247 insertions, 0 deletions
diff --git a/sip/qt/qpointarray.sip b/sip/qt/qpointarray.sip new file mode 100644 index 0000000..c88b56b --- /dev/null +++ b/sip/qt/qpointarray.sip @@ -0,0 +1,247 @@ +// This is the SIP interface definition for QPointArray. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <[email protected]> +// +// This file is part of PyQt. +// +// This copy of PyQt 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. +// +// PyQt 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 +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QPointArray</Title> +<FuncSynopsis> + <FuncDef><Function>QPointArray</Function></FuncDef> + <ParamDef>int <Parameter>nPoints</Parameter></ParamDef> + <ParamDef>const QCOORD *<Parameter>points</Parameter></ParamDef> +</FuncSynopsis> +<Para> +This takes a single parameter which is a list of points. +</Para> + +<FuncSynopsis> + <FuncDef>void <Function>point</Function></FuncDef> + <ParamDef>uint <Parameter>i</Parameter></ParamDef> + <ParamDef>int *<Parameter>x</Parameter></ParamDef> + <ParamDef>int *<Parameter>y</Parameter></ParamDef> +</FuncSynopsis> +<Para> +This takes the single parameter <Literal>i</Literal> and returns the +<Literal>x</Literal> and <Literal>y</Literal> values as a tuple. +</Para> + +<FuncSynopsis> + <FuncDef>bool <Function>putPoints</Function></FuncDef> + <ParamDef>int <Parameter>index</Parameter></ParamDef> + <ParamDef>int <Parameter>nPoints</Parameter></ParamDef> + <ParamDef>const QCOORD *<Parameter>points</Parameter></ParamDef> +</FuncSynopsis> +<Para> +This takes two parameters, <Literal>index</Literal> and a list of points. +</Para> + +<FuncSynopsis> + <FuncDef>bool <Function>putPoints</Function></FuncDef> + <ParamDef>int <Parameter>index</Parameter></ParamDef> + <ParamDef>int <Parameter>nPoints</Parameter></ParamDef> + <ParamDef>int <Parameter>firstx</Parameter></ParamDef> + <ParamDef>int <Parameter>firsty</Parameter></ParamDef> + <ParamDef>...</ParamDef> +</FuncSynopsis> +<Para> +Not implemented. +</Para> + +<FuncSynopsis> + <FuncDef>bool <Function>setPoints</Function></FuncDef> + <ParamDef>int <Parameter>nPoints</Parameter></ParamDef> + <ParamDef>const QCOORD *<Parameter>points</Parameter></ParamDef> +</FuncSynopsis> +<Para> +This takes a single parameter which is a list of points. +</Para> + +<FuncSynopsis> + <FuncDef>bool <Function>setPoints</Function></FuncDef> + <ParamDef>int <Parameter>nPoints</Parameter></ParamDef> + <ParamDef>int <Parameter>firstx</Parameter></ParamDef> + <ParamDef>int <Parameter>firsty</Parameter></ParamDef> + <ParamDef>...</ParamDef> +</FuncSynopsis> +<Para> +Not implemented. +</Para> +</Sect2> +%End + + +class QPointArray +{ +%TypeHeaderCode +#include <qpointarray.h> +%End + +%TypeCode +// Convert a list of numbers to an array on QCOORDs on the heap. + +static QCOORD *getPoints(int nrpnts,PyObject *pntlist) +{ + QCOORD *pnts, *pp; + + if ((pnts = (QCOORD *)sipMalloc(nrpnts * sizeof (QCOORD))) == NULL) + return NULL; + + // Convert the list. + + pp = pnts; + + for (int i = 0; i < nrpnts; ++i) + { + *pp++ = (QCOORD)PyInt_AsLong(PyList_GetItem(pntlist,i)); + + if (PyErr_Occurred() != NULL) + { + sipFree((ANY *)pnts); + return NULL; + } + } + + return pnts; +} +%End + +public: + QPointArray(); + QPointArray(int); + QPointArray(const QPointArray &); + QPointArray(const QRect &,bool = 0); + + QPointArray(SIP_PYLIST) [(int,const QCOORD *)]; +%MethodCode + // The Python interface is a list of QCOORDs. + + int nrpnts; + QCOORD *pnts; + + nrpnts = PyList_GET_SIZE(a0); + + if ((pnts = getPoints(nrpnts,a0)) == NULL) + sipIsErr = 1; + else + { + // No wrapper class for QPointArray. + + Py_BEGIN_ALLOW_THREADS + sipCpp = new QPointArray(nrpnts / 2,pnts); + Py_END_ALLOW_THREADS + + sipFree((ANY *)pnts); + } +%End + + QPointArray copy() const; + void translate(int,int); + QRect 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. + //QPoint point(uint) const; + void setPoint(uint,int,int); + void setPoint(uint,const QPoint &); + + bool setPoints(SIP_PYLIST); +%MethodCode + int nrpnts; + QCOORD *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((ANY *)pnts); + } +%End + +// bool setPoints(int,int,int,...); + + bool putPoints(int,SIP_PYLIST); +%MethodCode + int nrpnts; + QCOORD *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((ANY *)pnts); + } +%End + +// bool putPoints(int,int,int,int,...); +%If (Qt_3_0_0 -) + bool putPoints(int,int,const QPointArray &,int = 0); +%End + +%If (- Qt_2_00) + QPoint at(uint) const; +%End + + void makeArc(int,int,int,int,int,int); + void makeEllipse(int,int,int,int); +%If (Qt_TRANSFORMATIONS) +%If (Qt_2_00 -) + void makeArc(int,int,int,int,int,int,const QWMatrix &); +%End +%End +%If (- Qt_3_0_0) + QPointArray quadBezier() const; +%End +%If (Qt_3_0_0 -) + QPointArray cubicBezier() const; +%End + + // These are actually in QArray, 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 QPoint &,int = -1); +%If (Qt_2_00 -) + QPoint &at(uint) const; +%End +%If (Qt_2_1_0 -) + void sort(); + int bsearch(const QPoint &) const; +%End + int find(const QPoint &,uint = 0) const; + int contains(const QPoint &) const; +}; |