diff options
Diffstat (limited to 'sip/tqt/tqwmatrix.sip')
-rw-r--r-- | sip/tqt/tqwmatrix.sip | 142 |
1 files changed, 142 insertions, 0 deletions
diff --git a/sip/tqt/tqwmatrix.sip b/sip/tqt/tqwmatrix.sip new file mode 100644 index 0000000..965130e --- /dev/null +++ b/sip/tqt/tqwmatrix.sip @@ -0,0 +1,142 @@ +// This is the SIP interface definition for TQWMatrix. +// +// 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>TQWMatrix</Title> +<Para> +The Python <Literal>==</Literal>, <Literal>!=</Literal> and +<Literal>*=</Literal> operators are supported. +</Para> + +<FuncSynopsis> + <FuncDef>TQWMatrix <Function>invert</Function> const</FuncDef> + <ParamDef>bool *<Parameter>invertible</Parameter> = 0</ParamDef> +</FuncSynopsis> +<Para> +This takes no parameters and returns a tuple of the <Literal>TQWMatrix</Literal> +result and the <Literal>invertible</Literal> value. +</Para> + +<FuncSynopsis> + <FuncDef>void <Function>map</Function> const</FuncDef> + <ParamDef>int <Parameter>x</Parameter></ParamDef> + <ParamDef>int <Parameter>y</Parameter></ParamDef> + <ParamDef>int *<Parameter>tx</Parameter></ParamDef> + <ParamDef>int *<Parameter>ty</Parameter></ParamDef> +</FuncSynopsis> +<Para> +This takes the <Literal>x</Literal> and <Literal>y</Literal> parameters and +returns a tuple containing the <Literal>tx</Literal> and <Literal>ty</Literal> +values. +</Para> + +<FuncSynopsis> + <FuncDef>void <Function>map</Function> const</FuncDef> + <ParamDef>float <Parameter>x</Parameter></ParamDef> + <ParamDef>float <Parameter>y</Parameter></ParamDef> + <ParamDef>float *<Parameter>tx</Parameter></ParamDef> + <ParamDef>float *<Parameter>ty</Parameter></ParamDef> +</FuncSynopsis> +<Para> +This takes the <Literal>x</Literal> and <Literal>y</Literal> parameters and +returns a tuple containing the <Literal>tx</Literal> and <Literal>ty</Literal> +values. (TQt v1.x) +</Para> + +<FuncSynopsis> + <FuncDef>void <Function>map</Function> const</FuncDef> + <ParamDef>double <Parameter>x</Parameter></ParamDef> + <ParamDef>double <Parameter>y</Parameter></ParamDef> + <ParamDef>double *<Parameter>tx</Parameter></ParamDef> + <ParamDef>double *<Parameter>ty</Parameter></ParamDef> +</FuncSynopsis> +<Para> +This takes the <Literal>x</Literal> and <Literal>y</Literal> parameters and +returns a tuple containing the <Literal>tx</Literal> and <Literal>ty</Literal> +values. (TQt v2+) +</Para> +</Sect2> +%End + + +class TQWMatrix +{ +%TypeHeaderCode +#include <tqwmatrix.h> +%End + +public: + TQWMatrix(); + TQWMatrix(double,double,double,double,double,double); + + void map(int /Constrained/,int /Constrained/,int *,int *) const; + + TQRect mapRect(const TQRect &) const; + + TQPoint map(const TQPoint &) const; + TQRect map(const TQRect &); const + TQPointArray map(const TQPointArray &) const; + TQRegion map(const TQRegion &) const; + TQRegion mapToRegion(const TQRect &) const; + TQPointArray mapToPolygon(const TQRect &) const; + + void reset(); + bool isIdentity() const; + + bool isInvertible() const; + double det() const; + + TQWMatrix invert(bool * = 0) const; + + bool operator==(const TQWMatrix &) const; + bool operator!=(const TQWMatrix &) const; + TQWMatrix &operator*=(const TQWMatrix &); + + // These aren't documented but are used in TQt examples. + TQPoint operator*(const TQPoint &) const; + TQRegion operator*(const TQRect &) const; + TQRegion operator*(const TQRegion &) const; + TQPointArray operator*(const TQPointArray &) const; + + enum TransformationMode { + Points, + Areas + }; + + static void setTransformationMode(TransformationMode); + static TransformationMode transformationMode(); + + void setMatrix(double,double,double,double,double,double); + double m11(); + double m12(); + double m21(); + double m22(); + double dx(); + double dy(); + + void map(double,double,double *,double *) const; + + TQWMatrix &translate(double,double); + TQWMatrix &scale(double,double); + TQWMatrix &shear(double,double); + TQWMatrix &rotate(double); +}; |