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.
pytqt/sip/tqt/tqpointarray.sip

231 lines
5.8 KiB

// This is the SIP interface definition for TQPointArray.
//
// Copyright (c) 2007
// Riverbank Computing Limited <info@riverbankcomputing.co.uk>
//
// 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
<Sect2><Title>TQPointArray</Title>
<FuncSynopsis>
<FuncDef><Function>TQPointArray</Function></FuncDef>
<ParamDef>int <Parameter>nPoints</Parameter></ParamDef>
<ParamDef>const TQCOORD *<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 TQCOORD *<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 TQCOORD *<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 TQPointArray
{
%TypeHeaderCode
#include <tqpointarray.h>
%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,...);
bool putPoints(int,int,const TQPointArray &,int = 0);
void makeArc(int,int,int,int,int,int);
void makeEllipse(int,int,int,int);
%If (TQt_TRANSFORMATIONS)
void makeArc(int,int,int,int,int,int,const TQWMatrix &);
%End
TQPointArray cubicBezier() const;
// 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);
TQPoint &at(uint) const;
void sort();
int bsearch(const TQPoint &) const;
int find(const TQPoint &,uint = 0) const;
int contains(const TQPoint &) const;
};