You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
248 lines
6.0 KiB
248 lines
6.0 KiB
13 years ago
|
// 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;
|
||
|
};
|