diff options
author | Steve Block <steveblock@google.com> | 2010-04-27 16:23:55 +0100 |
---|---|---|
committer | Steve Block <steveblock@google.com> | 2010-04-27 17:07:03 +0100 |
commit | 692e5dbf12901edacf14812a6fae25462920af42 (patch) | |
tree | d62802373a429e0a9dc093b6046c166b2c514285 /WebKitTools/QtLauncher/webview.cpp | |
parent | e24bea4efef1c414137d36a9778aa4e142e10c7d (diff) | |
download | external_webkit-692e5dbf12901edacf14812a6fae25462920af42.zip external_webkit-692e5dbf12901edacf14812a6fae25462920af42.tar.gz external_webkit-692e5dbf12901edacf14812a6fae25462920af42.tar.bz2 |
Merge webkit.org at r55033 : Initial merge by git
Change-Id: I98a4af828067cc243ec3dc5e5826154dd88074b5
Diffstat (limited to 'WebKitTools/QtLauncher/webview.cpp')
-rw-r--r-- | WebKitTools/QtLauncher/webview.cpp | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/WebKitTools/QtLauncher/webview.cpp b/WebKitTools/QtLauncher/webview.cpp index 443fc3e..311d79b 100644 --- a/WebKitTools/QtLauncher/webview.cpp +++ b/WebKitTools/QtLauncher/webview.cpp @@ -48,6 +48,29 @@ WebViewGraphicsBased::WebViewGraphicsBased(QWidget* parent) setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff); setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff); +#if QT_VERSION >= QT_VERSION_CHECK(4, 6, 0) + QStateMachine* machine = new QStateMachine(this); + QState* s0 = new QState(machine); + s0->assignProperty(this, "yRotation", 0); + + QState* s1 = new QState(machine); + s1->assignProperty(this, "yRotation", 90); + + QAbstractTransition* t1 = s0->addTransition(this, SIGNAL(yFlipRequest()), s1); + QPropertyAnimation* yRotationAnim = new QPropertyAnimation(this, "yRotation", this); + yRotationAnim->setDuration(1000); + t1->addAnimation(yRotationAnim); + + QState* s2 = new QState(machine); + s2->assignProperty(this, "yRotation", -90); + s1->addTransition(s1, SIGNAL(propertiesAssigned()), s2); + + QAbstractTransition* t2 = s2->addTransition(s0); + t2->addAnimation(yRotationAnim); + + machine->setInitialState(s0); + machine->start(); +#endif } void WebViewGraphicsBased::resizeEvent(QResizeEvent* event) @@ -83,6 +106,30 @@ void WebViewGraphicsBased::updateFrameRate() m_numPaintsSinceLastMeasure = 0; } +void WebViewGraphicsBased::animatedFlip() +{ +#if QT_VERSION >= QT_VERSION_CHECK(4, 6, 0) + QSizeF center = m_item->boundingRect().size() / 2; + QPointF centerPoint = QPointF(center.width(), center.height()); + m_item->setTransformOriginPoint(centerPoint); + + QPropertyAnimation* animation = new QPropertyAnimation(m_item, "rotation", this); + animation->setDuration(1000); + + int rotation = int(m_item->rotation()); + + animation->setStartValue(rotation); + animation->setEndValue(rotation + 180 - (rotation % 180)); + + animation->start(QAbstractAnimation::DeleteWhenStopped); +#endif +} + +void WebViewGraphicsBased::animatedYFlip() +{ + emit yFlipRequest(); +} + void WebViewGraphicsBased::paintEvent(QPaintEvent* event) { QGraphicsView::paintEvent(event); |