diff options
author | Daniel Pope <daniel.pope@nokia.com> | 2009-12-10 00:46:37 (GMT) |
---|---|---|
committer | Daniel Pope <daniel.pope@nokia.com> | 2009-12-10 00:46:37 (GMT) |
commit | 3b5b7c87bcb6bb84d04664d81eb2262bea6f0d10 (patch) | |
tree | ed9a859b84537d54009505f95af1399d6c6be74f /src/declarative | |
parent | 4bad9d6661f6b63c6ce9b9a29e9f5cf7aa032e37 (diff) | |
download | Qt-3b5b7c87bcb6bb84d04664d81eb2262bea6f0d10.zip Qt-3b5b7c87bcb6bb84d04664d81eb2262bea6f0d10.tar.gz Qt-3b5b7c87bcb6bb84d04664d81eb2262bea6f0d10.tar.bz2 |
QML Animation framework additions for QVector3d
Diffstat (limited to 'src/declarative')
-rw-r--r-- | src/declarative/util/qmlanimation.cpp | 58 | ||||
-rw-r--r-- | src/declarative/util/qmlanimation_p.h | 22 |
2 files changed, 80 insertions, 0 deletions
diff --git a/src/declarative/util/qmlanimation.cpp b/src/declarative/util/qmlanimation.cpp index a4f67ac..357a03f 100644 --- a/src/declarative/util/qmlanimation.cpp +++ b/src/declarative/util/qmlanimation.cpp @@ -1367,6 +1367,64 @@ void QmlNumberAnimation::setTo(qreal t) QML_DEFINE_TYPE(Qt,4,6,NumberAnimation,QmlNumberAnimation) +/*! + \qmlclass Vector3dAnimation QmlVector3dAnimation + \inherits PropertyAnimation + \brief The Vector3dAnimation element allows you to animate changes in properties of type QVector3d. +*/ + +/*! + \internal + \class Vector3dAnimation +*/ + +QmlVector3dAnimation::QmlVector3dAnimation(QObject *parent) +: QmlPropertyAnimation(parent) +{ + Q_D(QmlPropertyAnimation); + d->interpolatorType = QMetaType::QVector3D; + d->interpolator = QVariantAnimationPrivate::getInterpolator(d->interpolatorType); + d->defaultToInterpolatorType = true; +} + +QmlVector3dAnimation::~QmlVector3dAnimation() +{ +} + +/*! + \qmlproperty real Vector3dAnimation::from + This property holds the starting value. + If not set, then the value defined in the start state of the transition. +*/ +QVector3D QmlVector3dAnimation::from() const +{ + Q_D(const QmlPropertyAnimation); + return d->from.value<QVector3D>(); +} + +void QmlVector3dAnimation::setFrom(QVector3D f) +{ + QmlPropertyAnimation::setFrom(f); +} + +/*! + \qmlproperty real Vector3dAnimation::to + This property holds the ending value. + If not set, then the value defined in the end state of the transition. +*/ +QVector3D QmlVector3dAnimation::to() const +{ + Q_D(const QmlPropertyAnimation); + return d->to.value<QVector3D>(); +} + +void QmlVector3dAnimation::setTo(QVector3D t) +{ + QmlPropertyAnimation::setTo(t); +} + +QML_DEFINE_TYPE(Qt,4,6,Vector3dAnimation,QmlVector3dAnimation) + QmlAnimationGroup::QmlAnimationGroup(QObject *parent) : QmlAbstractAnimation(*(new QmlAnimationGroupPrivate), parent) { diff --git a/src/declarative/util/qmlanimation_p.h b/src/declarative/util/qmlanimation_p.h index 322f048..a208742 100644 --- a/src/declarative/util/qmlanimation_p.h +++ b/src/declarative/util/qmlanimation_p.h @@ -44,6 +44,7 @@ #include "qmltransition_p.h" #include "qmlstate_p.h" +#include "../../gui/math3d/qvector3d.h" #include <qmlpropertyvaluesource.h> #include <qml.h> @@ -351,6 +352,26 @@ public: void setTo(qreal); }; +class Q_AUTOTEST_EXPORT QmlVector3dAnimation : public QmlPropertyAnimation +{ + + Q_OBJECT + Q_DECLARE_PRIVATE(QmlPropertyAnimation) + + Q_PROPERTY(QVector3D from READ from WRITE setFrom NOTIFY fromChanged) + Q_PROPERTY(QVector3D to READ to WRITE setTo NOTIFY toChanged) + +public: + QmlVector3dAnimation(QObject *parent=0); + virtual ~QmlVector3dAnimation(); + + QVector3D from() const; + void setFrom(QVector3D); + + QVector3D to() const; + void setTo(QVector3D); +}; + class QmlAnimationGroupPrivate; class QmlAnimationGroup : public QmlAbstractAnimation { @@ -414,6 +435,7 @@ QML_DECLARE_TYPE(QmlColorAnimation) QML_DECLARE_TYPE(QmlNumberAnimation) QML_DECLARE_TYPE(QmlSequentialAnimation) QML_DECLARE_TYPE(QmlParallelAnimation) +QML_DECLARE_TYPE(QmlVector3dAnimation) QT_END_HEADER |