summaryrefslogtreecommitdiffstats
path: root/python/pyqt/sip/qt/qpointarray.sip
diff options
context:
space:
mode:
Diffstat (limited to 'python/pyqt/sip/qt/qpointarray.sip')
-rw-r--r--python/pyqt/sip/qt/qpointarray.sip247
1 files changed, 247 insertions, 0 deletions
diff --git a/python/pyqt/sip/qt/qpointarray.sip b/python/pyqt/sip/qt/qpointarray.sip
new file mode 100644
index 00000000..c88b56b6
--- /dev/null
+++ b/python/pyqt/sip/qt/qpointarray.sip
@@ -0,0 +1,247 @@
+// This is the SIP interface definition for QPointArray.
+//
+// Copyright (c) 2007
+// Riverbank Computing Limited <info@riverbankcomputing.co.uk>
+//
+// 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;
+};