summaryrefslogtreecommitdiffstats
path: root/sip/tqt/tqwmatrix.sip
diff options
context:
space:
mode:
Diffstat (limited to 'sip/tqt/tqwmatrix.sip')
-rw-r--r--sip/tqt/tqwmatrix.sip142
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);
+};