summaryrefslogtreecommitdiffstats
path: root/src/declarative
diff options
context:
space:
mode:
authorMichael Brasser <michael.brasser@nokia.com>2009-05-19 05:27:44 (GMT)
committerMichael Brasser <michael.brasser@nokia.com>2009-05-19 05:27:44 (GMT)
commitda5cb2883e2b0e4a52a0aecba2c82808e64668f8 (patch)
tree9e1506f7f2b9e5318f5025147acfe1f8de9c65f1 /src/declarative
parentf9aa68b172ddcaa63e5a1bc4d91649d0734d3b15 (diff)
downloadQt-da5cb2883e2b0e4a52a0aecba2c82808e64668f8.zip
Qt-da5cb2883e2b0e4a52a0aecba2c82808e64668f8.tar.gz
Qt-da5cb2883e2b0e4a52a0aecba2c82808e64668f8.tar.bz2
Docs and minor fixes for the Rotation element.
Diffstat (limited to 'src/declarative')
-rw-r--r--src/declarative/fx/qfxtransform.cpp28
-rw-r--r--src/declarative/fx/qfxtransform.h5
2 files changed, 32 insertions, 1 deletions
diff --git a/src/declarative/fx/qfxtransform.cpp b/src/declarative/fx/qfxtransform.cpp
index 7b76367..bc59e0a 100644
--- a/src/declarative/fx/qfxtransform.cpp
+++ b/src/declarative/fx/qfxtransform.cpp
@@ -179,6 +179,20 @@ void QFxAxis::setEndZ(qreal z)
emit updated();
}
+/*!
+ \qmlclass Rotation
+ \brief A Rotation object provides a way to rotate an Item around a point.
+
+ The following example rotates a Rect around its interior point 25, 25:
+ \qml
+ Rect {
+ width: 100; height: 100
+ color: "blue"
+ transform: Rotation { originX: 25; originY: 25; angle: 45}
+ }
+ \endqml
+*/
+
QFxRotation::QFxRotation(QObject *parent)
: QFxTransform(parent), _originX(0), _originY(0), _angle(0), _dirty(true)
{
@@ -188,6 +202,12 @@ QFxRotation::~QFxRotation()
{
}
+/*!
+ \qmlproperty real Rotation::originX
+ \qmlproperty real Rotation::originY
+
+ The point to rotate around.
+*/
qreal QFxRotation::originX() const
{
return _originX;
@@ -210,6 +230,11 @@ void QFxRotation::setOriginY(qreal oy)
update();
}
+/*!
+ \qmlproperty real Rotation::angle
+
+ The angle, in degrees, to rotate.
+*/
qreal QFxRotation::angle() const
{
return _angle;
@@ -217,8 +242,11 @@ qreal QFxRotation::angle() const
void QFxRotation::setAngle(qreal angle)
{
+ if (_angle == angle)
+ return;
_angle = angle;
update();
+ emit angleChanged();
}
bool QFxRotation::isIdentity() const
diff --git a/src/declarative/fx/qfxtransform.h b/src/declarative/fx/qfxtransform.h
index a3a1a83..2e17ed5 100644
--- a/src/declarative/fx/qfxtransform.h
+++ b/src/declarative/fx/qfxtransform.h
@@ -115,7 +115,7 @@ class Q_DECLARATIVE_EXPORT QFxRotation : public QFxTransform
Q_PROPERTY(qreal originX READ originX WRITE setOriginX)
Q_PROPERTY(qreal originY READ originY WRITE setOriginY)
- Q_PROPERTY(qreal angle READ angle WRITE setAngle)
+ Q_PROPERTY(qreal angle READ angle WRITE setAngle NOTIFY angleChanged())
public:
QFxRotation(QObject *parent=0);
~QFxRotation();
@@ -132,6 +132,9 @@ public:
virtual bool isIdentity() const;
virtual QSimpleCanvas::Matrix transform() const;
+Q_SIGNALS:
+ void angleChanged();
+
private Q_SLOTS:
void update();
private: