1 /****************************************************************************
3 ** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
4 ** Contact: http://www.qt-project.org/
6 ** This file is part of the QtQml module of the Qt Toolkit.
8 ** $QT_BEGIN_LICENSE:LGPL$
9 ** GNU Lesser General Public License Usage
10 ** This file may be used under the terms of the GNU Lesser General Public
11 ** License version 2.1 as published by the Free Software Foundation and
12 ** appearing in the file LICENSE.LGPL included in the packaging of this
13 ** file. Please review the following information to ensure the GNU Lesser
14 ** General Public License version 2.1 requirements will be met:
15 ** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
17 ** In addition, as a special exception, Nokia gives you certain additional
18 ** rights. These rights are described in the Nokia Qt LGPL Exception
19 ** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
21 ** GNU General Public License Usage
22 ** Alternatively, this file may be used under the terms of the GNU General
23 ** Public License version 3.0 as published by the Free Software Foundation
24 ** and appearing in the file LICENSE.GPL included in the packaging of this
25 ** file. Please review the following information to ensure the GNU General
26 ** Public License version 3.0 requirements will be met:
27 ** http://www.gnu.org/copyleft/gpl.html.
30 ** Alternatively, this file may be used in accordance with the terms and
31 ** conditions contained in a signed written agreement between you and Nokia.
40 ****************************************************************************/
42 #ifndef QQUICKTRANSLATE_P_H
43 #define QQUICKTRANSLATE_P_H
45 #include "qquickitem.h"
47 #include <QtGui/qmatrix4x4.h>
53 class QQuickTranslatePrivate;
54 class Q_AUTOTEST_EXPORT QQuickTranslate : public QQuickTransform
58 Q_PROPERTY(qreal x READ x WRITE setX NOTIFY xChanged)
59 Q_PROPERTY(qreal y READ y WRITE setY NOTIFY yChanged)
62 QQuickTranslate(QObject *parent = 0);
71 void applyTo(QMatrix4x4 *matrix) const;
78 Q_DECLARE_PRIVATE(QQuickTranslate)
79 Q_DISABLE_COPY(QQuickTranslate)
82 class QQuickScalePrivate;
83 class Q_AUTOTEST_EXPORT QQuickScale : public QQuickTransform
87 Q_PROPERTY(QVector3D origin READ origin WRITE setOrigin NOTIFY originChanged)
88 Q_PROPERTY(qreal xScale READ xScale WRITE setXScale NOTIFY xScaleChanged)
89 Q_PROPERTY(qreal yScale READ yScale WRITE setYScale NOTIFY yScaleChanged)
90 Q_PROPERTY(qreal zScale READ zScale WRITE setZScale NOTIFY zScaleChanged)
92 QQuickScale(QObject *parent = 0);
95 QVector3D origin() const;
96 void setOrigin(const QVector3D &point);
99 void setXScale(qreal);
101 qreal yScale() const;
102 void setYScale(qreal);
104 qreal zScale() const;
105 void setZScale(qreal);
107 void applyTo(QMatrix4x4 *matrix) const;
110 void originChanged();
111 void xScaleChanged();
112 void yScaleChanged();
113 void zScaleChanged();
117 Q_DECLARE_PRIVATE(QQuickScale)
120 class QQuickRotationPrivate;
121 class Q_AUTOTEST_EXPORT QQuickRotation : public QQuickTransform
125 Q_PROPERTY(QVector3D origin READ origin WRITE setOrigin NOTIFY originChanged)
126 Q_PROPERTY(qreal angle READ angle WRITE setAngle NOTIFY angleChanged)
127 Q_PROPERTY(QVector3D axis READ axis WRITE setAxis NOTIFY axisChanged)
129 QQuickRotation(QObject *parent = 0);
132 QVector3D origin() const;
133 void setOrigin(const QVector3D &point);
136 void setAngle(qreal);
138 QVector3D axis() const;
139 void setAxis(const QVector3D &axis);
140 void setAxis(Qt::Axis axis);
142 void applyTo(QMatrix4x4 *matrix) const;
145 void originChanged();
150 Q_DECLARE_PRIVATE(QQuickRotation)
155 QML_DECLARE_TYPE(QQuickTranslate)