<class name="QTransform" doc="/**
&lt;p&gt;The &lt;a href=&quot;QTransform.html#QTransform()&quot;&gt;&lt;tt&gt;QTransform&lt;/tt&gt;&lt;/a&gt; class specifies 2D transformations of a coordinate system.&lt;/p&gt;
&lt;p&gt;A transformation specifies how to translate, scale, shear, rotate or project the coordinate system, and is typically used when rendering graphics.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;QTransform.html#QTransform()&quot;&gt;&lt;tt&gt;QTransform&lt;/tt&gt;&lt;/a&gt; differs from &lt;a href=&quot;QMatrix.html&quot;&gt;&lt;tt&gt;QMatrix&lt;/tt&gt;&lt;/a&gt; in that it is a true 3x3 matrix, allowing perpective transformations. &lt;a href=&quot;QTransform.html#QTransform()&quot;&gt;&lt;tt&gt;QTransform&lt;/tt&gt;&lt;/a&gt;'s &lt;a href=&quot;QTransform.html#toAffine()&quot;&gt;&lt;tt&gt;toAffine&lt;/tt&gt;&lt;/a&gt; method allows casting &lt;a href=&quot;QTransform.html#QTransform()&quot;&gt;&lt;tt&gt;QTransform&lt;/tt&gt;&lt;/a&gt; to &lt;a href=&quot;QMatrix.html&quot;&gt;&lt;tt&gt;QMatrix&lt;/tt&gt;&lt;/a&gt;. If a perspective transformation has been specified on the matrix, then the conversion to an affine &lt;a href=&quot;QMatrix.html&quot;&gt;&lt;tt&gt;QMatrix&lt;/tt&gt;&lt;/a&gt; will cause loss of data.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;QTransform.html#QTransform()&quot;&gt;&lt;tt&gt;QTransform&lt;/tt&gt;&lt;/a&gt; is the recommended transformation class in Qt.&lt;/p&gt;
&lt;p&gt;A &lt;a href=&quot;QTransform.html#QTransform()&quot;&gt;&lt;tt&gt;QTransform&lt;/tt&gt;&lt;/a&gt; object can be built using the &lt;a href=&quot;QTransform.html#setMatrix(double, double, double, double, double, double, double, double, double)&quot;&gt;&lt;tt&gt;setMatrix&lt;/tt&gt;&lt;/a&gt;, scale(), rotate(), translate() and shear() functions. Alternatively, it can be built by applying basic matrix operations&lt;/tt&gt;. The matrix can also be defined when constructed, and it can be reset to the identity matrix (the default) using the &lt;a href=&quot;QTransform.html#reset()&quot;&gt;&lt;tt&gt;reset&lt;/tt&gt;&lt;/a&gt; function.&lt;/p&gt;
&lt;p&gt;The &lt;a href=&quot;QTransform.html#QTransform()&quot;&gt;&lt;tt&gt;QTransform&lt;/tt&gt;&lt;/a&gt; class supports mapping of graphic primitives: A given point, line, polygon, region, or painter path can be mapped to the coordinate system defined by &lt;i&gt;this&lt;/i&gt; matrix using the &lt;a href=&quot;QTransform.html#map(com.trolltech.qt.gui.QRegion)&quot;&gt;&lt;tt&gt;map&lt;/tt&gt;&lt;/a&gt; function. In case of a rectangle, its coordinates can be transformed using the &lt;a href=&quot;QTransform.html#mapRect(com.trolltech.qt.core.QRect)&quot;&gt;&lt;tt&gt;mapRect&lt;/tt&gt;&lt;/a&gt; function. A rectangle can also be transformed into a &lt;i&gt;polygon&lt;/i&gt; (mapped to the coordinate system defined by &lt;i&gt;this&lt;/i&gt; matrix), using the &lt;a href=&quot;QTransform.html#mapToPolygon(com.trolltech.qt.core.QRect)&quot;&gt;&lt;tt&gt;mapToPolygon&lt;/tt&gt;&lt;/a&gt; function.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;QTransform.html#QTransform()&quot;&gt;&lt;tt&gt;QTransform&lt;/tt&gt;&lt;/a&gt; provides the &lt;a href=&quot;QTransform.html#isIdentity()&quot;&gt;&lt;tt&gt;isIdentity&lt;/tt&gt;&lt;/a&gt; function which returns true if the matrix is the identity matrix, and the &lt;a href=&quot;QTransform.html#isInvertible()&quot;&gt;&lt;tt&gt;isInvertible&lt;/tt&gt;&lt;/a&gt; function which returns true if the matrix is non-singular (i.e&amp;#x2e; AB = BA = I). The inverted() function returns an inverted copy of &lt;i&gt;this&lt;/i&gt; matrix if it is invertible (otherwise it returns the identity matrix). In addition, &lt;a href=&quot;QTransform.html#QTransform()&quot;&gt;&lt;tt&gt;QTransform&lt;/tt&gt;&lt;/a&gt; provides the &lt;a href=&quot;QTransform.html#det()&quot;&gt;&lt;tt&gt;det&lt;/tt&gt;&lt;/a&gt; function returning the matrix's determinant.&lt;/p&gt;
&lt;p&gt;Finally, the &lt;a href=&quot;QTransform.html#QTransform()&quot;&gt;&lt;tt&gt;QTransform&lt;/tt&gt;&lt;/a&gt; class supports matrix multiplication, and objects of the class can be streamed as well as compared.&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;#rendering-graphics&quot;&gt;Rendering Graphics&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#basic-matrix-operations&quot;&gt;Basic Matrix Operations&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;a name=&quot;rendering-graphics&quot;&gt;&lt;/a&gt;
&lt;h3&gt;Rendering Graphics&lt;/h3&gt;
&lt;p&gt;When rendering graphics, the matrix defines the transformations but the actual transformation is performed by the drawing routines in &lt;a href=&quot;QPainter.html&quot;&gt;&lt;tt&gt;QPainter&lt;/tt&gt;&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;By default, &lt;a href=&quot;QPainter.html&quot;&gt;&lt;tt&gt;QPainter&lt;/tt&gt;&lt;/a&gt; operates on the associated device's own coordinate system. The standard coordinate system of a &lt;a href=&quot;QPaintDevice.html&quot;&gt;&lt;tt&gt;QPaintDevice&lt;/tt&gt;&lt;/a&gt; has its origin located at the top-left position. The &lt;i&gt;x&lt;/i&gt; values increase to the right; &lt;i&gt;y&lt;/i&gt; values increase downward. For a complete description, see the &lt;a href=&quot;%2E%2E/coordsys.html&quot;&gt;coordinate system&lt;/tt&gt;&lt;/a&gt; documentation.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;QPainter.html&quot;&gt;&lt;tt&gt;QPainter&lt;/tt&gt;&lt;/a&gt; has functions to translate, scale, shear and rotate the coordinate system without using a &lt;a href=&quot;QTransform.html#QTransform()&quot;&gt;&lt;tt&gt;QTransform&lt;/tt&gt;&lt;/a&gt;. For example:&lt;/p&gt;
&lt;p&gt;&lt;table width=&quot;100%&quot; align=&quot;center&quot; cellpadding=&quot;2&quot; cellspacing=&quot;1&quot; border=&quot;0&quot;&gt;
&lt;tr valign=&quot;top&quot; class=&quot;odd&quot;&gt;&lt;td&gt;&lt;img src=&quot;%2E%2E/images/qtransform-simpletransformation.png&quot; /&gt;&lt;/td&gt;&lt;td&gt;&lt;pre&gt;    void SimpleTransformation::paintEvent(QPaintEvent *)
    {
        QPainter painter(this);
        painter.setPen(QPen(Qt::blue, 1, Qt::DashLine));
        painter.drawRect(0, 0, 100, 100);

        painter.rotate(45);

        painter.setFont(QFont(&amp;quot;Helvetica&amp;quot;, 24));
        painter.setPen(QPen(Qt::black, 1));
        painter.drawText(20, 10, &amp;quot;QTransform&amp;quot;);
    }&lt;/pre&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;&lt;/p&gt;
&lt;p&gt;Although these functions are very convenient, it can be more efficient to build a &lt;a href=&quot;QTransform.html#QTransform()&quot;&gt;&lt;tt&gt;QTransform&lt;/tt&gt;&lt;/a&gt; and call QPainter::setTransform() if you want to perform more than a single transform operation. For example:&lt;/p&gt;
&lt;p&gt;&lt;table width=&quot;100%&quot; align=&quot;center&quot; cellpadding=&quot;2&quot; cellspacing=&quot;1&quot; border=&quot;0&quot;&gt;
&lt;tr valign=&quot;top&quot; class=&quot;odd&quot;&gt;&lt;td&gt;&lt;img src=&quot;%2E%2E/images/qtransform-combinedtransformation.png&quot; /&gt;&lt;/td&gt;&lt;td&gt;&lt;pre&gt;    void CombinedTransformation::paintEvent(QPaintEvent *)
    {
        QPainter painter(this);
        painter.setPen(QPen(Qt::blue, 1, Qt::DashLine));
        painter.drawRect(0, 0, 100, 100);

        QTransform transform;
        transform.translate(50, 50);
        transform.rotate(45);
        transform.scale(0.5, 1.0);
        painter.setTransform(transform);

        painter.setFont(QFont(&amp;quot;Helvetica&amp;quot;, 24));
        painter.setPen(QPen(Qt::black, 1));
        painter.drawText(20, 10, &amp;quot;QTransform&amp;quot;);
    }&lt;/pre&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;&lt;/p&gt;
&lt;a name=&quot;basic-matrix-operations&quot;&gt;&lt;/a&gt;
&lt;h3&gt;Basic Matrix Operations&lt;/h3&gt;
&lt;p align=&quot;center&quot;&gt;&lt;img src=&quot;%2E%2E/images/qmatrix-representation.png&quot; /&gt;&lt;/p&gt;&lt;p&gt;A &lt;a href=&quot;QTransform.html#QTransform()&quot;&gt;&lt;tt&gt;QTransform&lt;/tt&gt;&lt;/a&gt; object contains a 3 x 3 matrix. The &lt;tt&gt;dx&lt;/tt&gt; and &lt;tt&gt;dy&lt;/tt&gt; elements specify horizontal and vertical translation. The &lt;tt&gt;m11&lt;/tt&gt; and &lt;tt&gt;m22&lt;/tt&gt; elements specify horizontal and vertical scaling. And finally, the &lt;tt&gt;m21&lt;/tt&gt; and &lt;tt&gt;m12&lt;/tt&gt; elements specify horizontal and vertical &lt;i&gt;shearing&lt;/i&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;QTransform.html#QTransform()&quot;&gt;&lt;tt&gt;QTransform&lt;/tt&gt;&lt;/a&gt; transforms a point in the plane to another point using the following formulas:&lt;/p&gt;
&lt;pre&gt;    x' = m11*x + m21*y + dx
    y' = m22*y + m12*x + dy&lt;/pre&gt;
&lt;p&gt;The point &lt;i&gt;(x, y)&lt;/i&gt; is the original point, and &lt;i&gt;(x', y')&lt;/i&gt; is the transformed point. &lt;i&gt;(x', y')&lt;/i&gt; can be transformed back to &lt;i&gt;(x, y)&lt;/i&gt; by performing the same operation on the inverted() matrix.&lt;/p&gt;
&lt;p&gt;The various matrix elements can be set when constructing the matrix, or by using the &lt;a href=&quot;QTransform.html#setMatrix(double, double, double, double, double, double, double, double, double)&quot;&gt;&lt;tt&gt;setMatrix&lt;/tt&gt;&lt;/a&gt; function later on. They also be manipulated using the translate(), rotate(), scale() and shear() convenience functions, The currently set values can be retrieved using the &lt;a href=&quot;QTransform.html#m11()&quot;&gt;&lt;tt&gt;m11&lt;/tt&gt;&lt;/a&gt;, &lt;a href=&quot;QTransform.html#m12()&quot;&gt;&lt;tt&gt;m12&lt;/tt&gt;&lt;/a&gt;, &lt;a href=&quot;QTransform.html#m21()&quot;&gt;&lt;tt&gt;m21&lt;/tt&gt;&lt;/a&gt;, &lt;a href=&quot;QTransform.html#m22()&quot;&gt;&lt;tt&gt;m22&lt;/tt&gt;&lt;/a&gt;, &lt;a href=&quot;QTransform.html#dx()&quot;&gt;&lt;tt&gt;dx&lt;/tt&gt;&lt;/a&gt; and &lt;a href=&quot;QTransform.html#dy()&quot;&gt;&lt;tt&gt;dy&lt;/tt&gt;&lt;/a&gt; functions.&lt;/p&gt;
&lt;p&gt;Translation is the simplest transformation. Setting &lt;tt&gt;dx&lt;/tt&gt; and &lt;tt&gt;dy&lt;/tt&gt; will move the coordinate system &lt;tt&gt;dx&lt;/tt&gt; units along the X axis and &lt;tt&gt;dy&lt;/tt&gt; units along the Y axis. Scaling can be done by setting &lt;tt&gt;m11&lt;/tt&gt; and &lt;tt&gt;m22&lt;/tt&gt;. For example, setting &lt;tt&gt;m11&lt;/tt&gt; to 2 and &lt;tt&gt;m22&lt;/tt&gt; to 1.5 will double the height and increase the width by 50%. The identity matrix has &lt;tt&gt;m11&lt;/tt&gt; and &lt;tt&gt;m22&lt;/tt&gt; set to 1 (all others are set to 0) mapping a point to itself. Shearing is controlled by &lt;tt&gt;m12&lt;/tt&gt; and &lt;tt&gt;m21&lt;/tt&gt;. Setting these elements to values different from zero will twist the coordinate system. Rotation is achieved by carefully setting both the shearing factors and the scaling factors.&lt;/p&gt;
&lt;p&gt;Here's the combined transformations example using basic matrix operations:&lt;/p&gt;
&lt;p&gt;&lt;table width=&quot;100%&quot; align=&quot;center&quot; cellpadding=&quot;2&quot; cellspacing=&quot;1&quot; border=&quot;0&quot;&gt;
&lt;tr valign=&quot;top&quot; class=&quot;odd&quot;&gt;&lt;td&gt;&lt;img src=&quot;%2E%2E/images/qtransform-combinedtransformation2.png&quot; /&gt;&lt;/td&gt;&lt;td&gt;&lt;pre&gt;    void BasicOperations::paintEvent(QPaintEvent *)
    {
        double pi = 3.14;

        double a    = pi/180 * 45.0;
        double sina = sin(a);
        double cosa = cos(a);

        QTransform translationTransform(1, 0, 0, 1, 50.0, 50.0);
        QTransform rotationTransform(cosa, sina, -sina, cosa, 0, 0);
        QTransform scalingTransform(0.5, 0, 0, 1.0, 0, 0);

        QTransform transform;
        transform = scalingTransform * rotationTransform * translationTransform;

        QPainter painter(this);
        painter.setPen(QPen(Qt::blue, 1, Qt::DashLine));
        painter.drawRect(0, 0, 100, 100);

        painter.setTransform(transform);

        painter.setFont(QFont(&amp;quot;Helvetica&amp;quot;, 24));
        painter.setPen(QPen(Qt::black, 1));
        painter.drawText(20, 10, &amp;quot;QTransform&amp;quot;);
    }&lt;/pre&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;&lt;/p&gt;

@see &lt;a href=&quot;QPainter.html&quot;&gt;&lt;tt&gt;QPainter&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;%2E%2E/coordsys.html&quot;&gt;The Coordinate System&lt;/tt&gt;&lt;/a&gt;
@see Affine Transformations Demo&lt;/tt&gt;
@see Transformations Example&lt;/tt&gt; */">
    <method name="public QTransform(com.trolltech.qt.gui.QMatrix mtx)" doc="/**
&lt;p&gt;Constructs a matrix that is a copy of the given &lt;tt&gt;mtx&lt;/tt&gt;. Note that the &lt;tt&gt;m13&lt;/tt&gt;, &lt;tt&gt;m23&lt;/tt&gt;, and &lt;tt&gt;m33&lt;/tt&gt; elements are set to 0, 0, and 1 respectively.&lt;/p&gt;
 */"/>
    <method name="public QTransform(double h11, double h12, double h13, double h21, double h22, double h23, double h31, double h32, double h33)" doc="/**
&lt;p&gt;Constructs a matrix with the elements, &lt;tt&gt;h11&lt;/tt&gt;, &lt;tt&gt;h12&lt;/tt&gt;, &lt;tt&gt;h13&lt;/tt&gt;, &lt;tt&gt;h21&lt;/tt&gt;, &lt;tt&gt;h22&lt;/tt&gt;, &lt;tt&gt;h23&lt;/tt&gt;, &lt;tt&gt;h31&lt;/tt&gt;, &lt;tt&gt;h32&lt;/tt&gt;, &lt;tt&gt;h33&lt;/tt&gt;.&lt;/p&gt;

@see &lt;a href=&quot;QTransform.html#setMatrix(double, double, double, double, double, double, double, double, double)&quot;&gt;&lt;tt&gt;setMatrix&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public QTransform(double h11, double h12, double h13, double h21, double h22, double h23, double h31, double h32)" doc="/**
&lt;p&gt;Equivalent to &lt;a href=&quot;QTransform.html#QTransform()&quot;&gt;&lt;tt&gt;QTransform&lt;/tt&gt;&lt;/a&gt;(&lt;tt&gt;h11&lt;/tt&gt;, &lt;tt&gt;h12&lt;/tt&gt;, &lt;tt&gt;h13&lt;/tt&gt;, &lt;tt&gt;h21&lt;/tt&gt;, &lt;tt&gt;h22&lt;/tt&gt;, &lt;tt&gt;h23&lt;/tt&gt;, &lt;tt&gt;h31&lt;/tt&gt;, &lt;tt&gt;h32&lt;/tt&gt;, 1.0). */"/>
    <method name="public QTransform(double h11, double h12, double h13, double h21, double h22, double h23)" doc="/**
&lt;p&gt;Constructs a matrix with the elements, &lt;tt&gt;h11&lt;/tt&gt;, &lt;tt&gt;h12&lt;/tt&gt;, &lt;tt&gt;h13&lt;/tt&gt;, &lt;tt&gt;h21&lt;/tt&gt;, &lt;tt&gt;h22&lt;/tt&gt; and &lt;tt&gt;h23&lt;/tt&gt;.&lt;/p&gt;

@see &lt;a href=&quot;QTransform.html#setMatrix(double, double, double, double, double, double, double, double, double)&quot;&gt;&lt;tt&gt;setMatrix&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public QTransform()" doc="/**
&lt;p&gt;Constructs an identity matrix.&lt;/p&gt;
&lt;p&gt;All elements are set to zero except &lt;tt&gt;m11&lt;/tt&gt; and &lt;tt&gt;m22&lt;/tt&gt; (specifying the scale) and &lt;tt&gt;m13&lt;/tt&gt; which are set to 1.&lt;/p&gt;

@see &lt;a href=&quot;QTransform.html#reset()&quot;&gt;&lt;tt&gt;reset&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public final com.trolltech.qt.gui.QTransform adjoint()" doc="/**
&lt;p&gt;Returns the adjoint of this matrix.&lt;/p&gt;
 */"/>
    <method name="public final double det()" doc="/**
&lt;p&gt;Returns the matrix's determinant.&lt;/p&gt;
 */"/>
    <method name="public final double determinant()" doc="/**
&lt;p&gt;Returns the matrix's determinant.&lt;/p&gt;
 */"/>
    <method name="public final double dx()" doc="/**
&lt;p&gt;Returns the horizontal translation factor.&lt;/p&gt;

@see &lt;a href=&quot;QTransform.html#m31()&quot;&gt;&lt;tt&gt;m31&lt;/tt&gt;&lt;/a&gt;
@see &lt;tt&gt;translate&lt;/tt&gt;
@see Basic Matrix Operations&lt;/tt&gt; */"/>
    <method name="public final double dy()" doc="/**
&lt;p&gt;Returns the vertical translation factor.&lt;/p&gt;

@see &lt;tt&gt;translate&lt;/tt&gt;
@see Basic Matrix Operations&lt;/tt&gt; */"/>
    <method name="public final boolean isAffine()" doc="/**
&lt;p&gt;Returns true if the matrix represent an affine transformation, otherwise returns false.&lt;/p&gt;
 */"/>
    <method name="public final boolean isIdentity()" doc="/**
&lt;p&gt;Returns true if the matrix is the identity matrix, otherwise returns false.&lt;/p&gt;

@see &lt;a href=&quot;QTransform.html#reset()&quot;&gt;&lt;tt&gt;reset&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public final boolean isInvertible()" doc="/**
&lt;p&gt;Returns true if the matrix is invertible, otherwise returns false.&lt;/p&gt;

@see &lt;tt&gt;inverted&lt;/tt&gt; */"/>
    <method name="public final boolean isRotating()" doc="/**
&lt;p&gt;Returns true if the matrix represents some kind of a scaling transformation, otherwise returns false.&lt;/p&gt;

@see &lt;a href=&quot;QTransform.html#reset()&quot;&gt;&lt;tt&gt;reset&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public final boolean isScaling()" doc="/**
&lt;p&gt;Returns true if the matrix represents a scaling transformation, otherwise returns false.&lt;/p&gt;

@see &lt;a href=&quot;QTransform.html#reset()&quot;&gt;&lt;tt&gt;reset&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public final boolean isTranslating()" doc="/**
&lt;p&gt;Returns true if the matrix represents a translating transformation, otherwise returns false.&lt;/p&gt;

@see &lt;a href=&quot;QTransform.html#reset()&quot;&gt;&lt;tt&gt;reset&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public final double m11()" doc="/**
&lt;p&gt;Returns the horizontal scaling factor.&lt;/p&gt;

@see &lt;tt&gt;scale&lt;/tt&gt;
@see Basic Matrix Operations&lt;/tt&gt; */"/>
    <method name="public final double m12()" doc="/**
&lt;p&gt;Returns the vertical shearing factor.&lt;/p&gt;

@see &lt;tt&gt;shear&lt;/tt&gt;
@see Basic Matrix Operations&lt;/tt&gt; */"/>
    <method name="public final double m13()" doc="/**
&lt;p&gt;Returns the horizontal projection factor.&lt;/p&gt;

@see &lt;tt&gt;translate&lt;/tt&gt;
@see Basic Matrix Operations&lt;/tt&gt; */"/>
    <method name="public final double m21()" doc="/**
&lt;p&gt;Returns the horizontal shearing factor.&lt;/p&gt;

@see &lt;tt&gt;shear&lt;/tt&gt;
@see Basic Matrix Operations&lt;/tt&gt; */"/>
    <method name="public final double m22()" doc="/**
&lt;p&gt;Returns the vertical scaling factor.&lt;/p&gt;

@see &lt;tt&gt;scale&lt;/tt&gt;
@see Basic Matrix Operations&lt;/tt&gt; */"/>
    <method name="public final double m23()" doc="/**
&lt;p&gt;Returns the vertical projection factor.&lt;/p&gt;

@see &lt;tt&gt;translate&lt;/tt&gt;
@see Basic Matrix Operations&lt;/tt&gt; */"/>
    <method name="public final double m31()" doc="/**
&lt;p&gt;Returns the horizontal translation factor.&lt;/p&gt;

@see &lt;a href=&quot;QTransform.html#dx()&quot;&gt;&lt;tt&gt;dx&lt;/tt&gt;&lt;/a&gt;
@see &lt;tt&gt;translate&lt;/tt&gt;
@see Basic Matrix Operations&lt;/tt&gt; */"/>
    <method name="public final double m32()" doc="/**
&lt;p&gt;Returns the vertical translation factor.&lt;/p&gt;

@see &lt;a href=&quot;QTransform.html#dy()&quot;&gt;&lt;tt&gt;dy&lt;/tt&gt;&lt;/a&gt;
@see &lt;tt&gt;translate&lt;/tt&gt;
@see Basic Matrix Operations&lt;/tt&gt; */"/>
    <method name="public final double m33()" doc="/**
&lt;p&gt;Returns the division factor.&lt;/p&gt;

@see &lt;tt&gt;translate&lt;/tt&gt;
@see Basic Matrix Operations&lt;/tt&gt; */"/>
    <method name="public final com.trolltech.qt.gui.QPolygon map(com.trolltech.qt.gui.QPolygon a)" doc="/**
&lt;p&gt;Creates and returns a &lt;a href=&quot;QPolygon.html&quot;&gt;&lt;tt&gt;QPolygon&lt;/tt&gt;&lt;/a&gt; object that is a copy of the given &lt;tt&gt;a&lt;/tt&gt;, mapped into the coordinate system defined by this matrix. Note that the transformed coordinates are rounded to the nearest integer.&lt;/p&gt;
 */"/>
    <method name="public final com.trolltech.qt.core.QPoint map(com.trolltech.qt.core.QPoint p)" doc="/**
&lt;p&gt;Creates and returns a &lt;a href=&quot;%2E%2E/core/QPoint.html&quot;&gt;&lt;tt&gt;QPoint&lt;/tt&gt;&lt;/a&gt; object that is a copy of the given &lt;tt&gt;p&lt;/tt&gt;, mapped into the coordinate system defined by this matrix. Note that the transformed coordinates are rounded to the nearest integer.&lt;/p&gt;
 */"/>
    <method name="public final com.trolltech.qt.core.QPointF map(com.trolltech.qt.core.QPointF p)" doc="/**
&lt;p&gt;Creates and returns a &lt;a href=&quot;%2E%2E/core/QPointF.html&quot;&gt;&lt;tt&gt;QPointF&lt;/tt&gt;&lt;/a&gt; object that is a copy of the given point, &lt;tt&gt;p&lt;/tt&gt;, mapped into the coordinate system defined by this matrix.&lt;/p&gt;
 */"/>
    <method name="public final com.trolltech.qt.gui.QPainterPath map(com.trolltech.qt.gui.QPainterPath p)" doc="/**
&lt;p&gt;Creates and returns a &lt;a href=&quot;QPainterPath.html&quot;&gt;&lt;tt&gt;QPainterPath&lt;/tt&gt;&lt;/a&gt; object that is a copy of the given &lt;tt&gt;p&lt;/tt&gt;, mapped into the coordinate system defined by this matrix.&lt;/p&gt;
 */"/>
    <method name="public final com.trolltech.qt.gui.QLineF map(com.trolltech.qt.gui.QLineF l)" doc="/**
&lt;p&gt;Creates and returns a &lt;a href=&quot;QLine.html&quot;&gt;&lt;tt&gt;QLine&lt;/tt&gt;&lt;/a&gt; object that is a copy of the given &lt;tt&gt;l&lt;/tt&gt;, mapped into the coordinate system defined by this matrix. Note that the transformed coordinates are rounded to the nearest integer.&lt;/p&gt;
 */"/>
    <method name="public final com.trolltech.qt.gui.QPolygonF map(com.trolltech.qt.gui.QPolygonF a)" doc="/**
&lt;p&gt;Creates and returns a &lt;a href=&quot;QPolygonF.html&quot;&gt;&lt;tt&gt;QPolygonF&lt;/tt&gt;&lt;/a&gt; object that is a copy of the given &lt;tt&gt;a&lt;/tt&gt;, mapped into the coordinate system defined by this matrix.&lt;/p&gt;
 */"/>
    <method name="public final com.trolltech.qt.gui.QLine map(com.trolltech.qt.gui.QLine l)" doc="/**
&lt;p&gt;Creates and returns a &lt;a href=&quot;QLineF.html&quot;&gt;&lt;tt&gt;QLineF&lt;/tt&gt;&lt;/a&gt; object that is a copy of the given line, &lt;tt&gt;l&lt;/tt&gt;, mapped into the coordinate system defined by this matrix.&lt;/p&gt;
 */"/>
    <method name="public final com.trolltech.qt.gui.QRegion map(com.trolltech.qt.gui.QRegion r)" doc="/**
&lt;p&gt;Creates and returns a &lt;a href=&quot;QRegion.html&quot;&gt;&lt;tt&gt;QRegion&lt;/tt&gt;&lt;/a&gt; object that is a copy of the given &lt;tt&gt;r&lt;/tt&gt;, mapped into the coordinate system defined by this matrix.&lt;/p&gt;
&lt;p&gt;Calling this method can be rather expensive if rotations or shearing are used.&lt;/p&gt;
 */"/>
    <method name="public final com.trolltech.qt.core.QRectF mapRect(com.trolltech.qt.core.QRectF arg__1)" doc="/**
&lt;p&gt;Creates and returns a &lt;a href=&quot;%2E%2E/core/QRectF.html&quot;&gt;&lt;tt&gt;QRectF&lt;/tt&gt;&lt;/a&gt; object that is a copy of the given &lt;tt&gt;arg__1&lt;/tt&gt;, mapped into the coordinate system defined by this matrix.&lt;/p&gt;
&lt;p&gt;The rectangle's coordinates are transformed using the following formulas:&lt;/p&gt;
&lt;pre&gt;    x' = m11*x + m21*y + dx
    y' = m22*y + m12*x + dy
    if (is not affine) {
        w' = m13*x + m23*y + m33
        x' /= w'
        y' /= w'
    }&lt;/pre&gt;
&lt;p&gt;If rotation or shearing has been specified, this function returns the &lt;i&gt;bounding&lt;/i&gt; rectangle. To retrieve the exact region the given &lt;tt&gt;arg__1&lt;/tt&gt; maps to, use the &lt;a href=&quot;QTransform.html#mapToPolygon(com.trolltech.qt.core.QRect)&quot;&gt;&lt;tt&gt;mapToPolygon&lt;/tt&gt;&lt;/a&gt; function instead.&lt;/p&gt;

@see &lt;a href=&quot;QTransform.html#mapToPolygon(com.trolltech.qt.core.QRect)&quot;&gt;&lt;tt&gt;mapToPolygon&lt;/tt&gt;&lt;/a&gt;
@see Basic Matrix Operations&lt;/tt&gt; */"/>
    <method name="public final com.trolltech.qt.core.QRect mapRect(com.trolltech.qt.core.QRect arg__1)" doc="/**
&lt;p&gt;Creates and returns a &lt;a href=&quot;%2E%2E/core/QRect.html&quot;&gt;&lt;tt&gt;QRect&lt;/tt&gt;&lt;/a&gt; object that is a copy of the given &lt;tt&gt;arg__1&lt;/tt&gt;, mapped into the coordinate system defined by this matrix. Note that the transformed coordinates are rounded to the nearest integer.&lt;/p&gt;
 */"/>
    <method name="public final com.trolltech.qt.gui.QPolygon mapToPolygon(com.trolltech.qt.core.QRect r)" doc="/**
&lt;p&gt;Creates and returns a &lt;a href=&quot;QPolygon.html&quot;&gt;&lt;tt&gt;QPolygon&lt;/tt&gt;&lt;/a&gt; representation of the given &lt;tt&gt;r&lt;/tt&gt;, mapped into the coordinate system defined by this matrix.&lt;/p&gt;
&lt;p&gt;The rectangle's coordinates are transformed using the following formulas:&lt;/p&gt;
&lt;pre&gt;    x' = m11*x + m21*y + dx
    y' = m22*y + m12*x + dy
    if (is not affine) {
        w' = m13*x + m23*y + m33
        x' /= w'
        y' /= w'
    }&lt;/pre&gt;
&lt;p&gt;Polygons and rectangles behave slightly differently when transformed (due to integer rounding), so &lt;tt&gt;matrix.map(QPolygon(rectangle))&lt;/tt&gt; is not always the same as &lt;tt&gt;matrix.mapToPolygon(rectangle)&lt;/tt&gt;.&lt;/p&gt;

@see &lt;a href=&quot;QTransform.html#mapRect(com.trolltech.qt.core.QRect)&quot;&gt;&lt;tt&gt;mapRect&lt;/tt&gt;&lt;/a&gt;
@see Basic Matrix Operations&lt;/tt&gt; */"/>
    <method name="public final void writeTo(com.trolltech.qt.core.QDataStream arg__1)"/>
    <method name="public final void readFrom(com.trolltech.qt.core.QDataStream arg__1)"/>
    <method name="public final void reset()" doc="/**
&lt;p&gt;Resets the matrix to an identity matrix, i.e&amp;#x2e; all elements are set to zero, except &lt;tt&gt;m11&lt;/tt&gt; and &lt;tt&gt;m22&lt;/tt&gt; (specifying the scale) which are set to 1.&lt;/p&gt;

@see &lt;a href=&quot;QTransform.html#QTransform()&quot;&gt;&lt;tt&gt;QTransform&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QTransform.html#isIdentity()&quot;&gt;&lt;tt&gt;isIdentity&lt;/tt&gt;&lt;/a&gt;
@see Basic Matrix Operations&lt;/tt&gt; */"/>
    <method name="public final void setMatrix(double m11, double m12, double m13, double m21, double m22, double m23, double m31, double m32, double m33)" doc="/**
&lt;p&gt;Sets the matrix elements to the specified values, &lt;tt&gt;m11&lt;/tt&gt;, &lt;tt&gt;m12&lt;/tt&gt;, &lt;tt&gt;m13&lt;/tt&gt; &lt;tt&gt;m21&lt;/tt&gt;, &lt;tt&gt;m22&lt;/tt&gt;, &lt;tt&gt;m23&lt;/tt&gt; &lt;tt&gt;m31&lt;/tt&gt;, &lt;tt&gt;m32&lt;/tt&gt; and &lt;tt&gt;m33&lt;/tt&gt;. Note that this function replaces the previous values. &lt;a href=&quot;QMatrix.html&quot;&gt;&lt;tt&gt;QMatrix&lt;/tt&gt;&lt;/a&gt; provides the translate(), rotate(), scale() and shear() convenience functions to manipulate the various matrix elements based on the currently defined coordinate system.&lt;/p&gt;

@see &lt;a href=&quot;QTransform.html#QTransform()&quot;&gt;&lt;tt&gt;QTransform&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public final com.trolltech.qt.gui.QMatrix toAffine()" doc="/**
&lt;p&gt;Returns the &lt;a href=&quot;QTransform.html#QTransform()&quot;&gt;&lt;tt&gt;QTransform&lt;/tt&gt;&lt;/a&gt; cast to a &lt;a href=&quot;QMatrix.html&quot;&gt;&lt;tt&gt;QMatrix&lt;/tt&gt;&lt;/a&gt;.&lt;/p&gt;
 */"/>
    <method name="public final com.trolltech.qt.gui.QTransform transposed()" doc="/**
&lt;p&gt;Returns the transpose of this matrix.&lt;/p&gt;
 */"/>
    <method name="public final com.trolltech.qt.gui.QTransform.TransformationType type()" doc="/**
&lt;p&gt;Returns the transformation type of this matrix.&lt;/p&gt;
 */"/>
    <enum name="TransformationType">
        <enum-value name="TxNone" doc="/**
Internal. */"/>
        <enum-value name="TxTranslate" doc="/**
Internal. */"/>
        <enum-value name="TxScale" doc="/**
Internal. */"/>
        <enum-value name="TxRotate" doc="/**
Internal. */"/>
        <enum-value name="TxShear" doc="/**
Internal. */"/>
        <enum-value name="TxProject" doc="/**
Internal. */"/>
</enum>
</class>
