Changeset 55025 in webkit
- Timestamp:
- Feb 19, 2010 11:47:00 AM (14 years ago)
- Location:
- trunk/WebKitTools
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/WebKitTools/ChangeLog
r55019 r55025 1 2010-02-19 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org> 2 3 Reviewed by Kenneth Rohde Christiansen. 4 5 [Qt] Need a final integration between QtLauncher and QGVLauncher 6 https://bugs.webkit.org/show_bug.cgi?id=35161 7 8 Add animated flip support to QtLauncher when running on QGraphicsView mode. 9 10 * QtLauncher/main.cpp: 11 (LauncherWindow::initializeView): 12 (LauncherWindow::setupUI): 13 * QtLauncher/webview.cpp: 14 (WebViewGraphicsBased::WebViewGraphicsBased): 15 (WebViewGraphicsBased::animatedFlip): 16 (WebViewGraphicsBased::animatedYFlip): 17 * QtLauncher/webview.h: 18 (WebViewGraphicsBased::setYRotation): 19 (WebViewGraphicsBased::yRotation): 20 1 21 2010-02-19 Andras Becsi <abecsi@webkit.org> 2 22 -
trunk/WebKitTools/QtLauncher/main.cpp
r54721 r55025 134 134 135 135 QAction* formatMenuAction; 136 QAction* flipAnimated; 137 QAction* flipYAnimated; 136 138 137 139 #if QT_VERSION >= QT_VERSION_CHECK(4, 6, 0) … … 462 464 view->enableFrameRateMeasurement(); 463 465 page()->settings()->setAttribute(QWebSettings::AcceleratedCompositingEnabled, gUseCompositing); 466 467 if (flipAnimated) 468 connect(flipAnimated, SIGNAL(triggered()), view, SLOT(animatedFlip())); 469 470 if (flipYAnimated) 471 connect(flipYAnimated, SIGNAL(triggered()), view, SLOT(animatedYFlip())); 472 464 473 m_view = view; 465 474 } … … 541 550 #endif 542 551 543 QAction* toggleAcceleratedCompositing = toolsMenu->addAction("Toggle Accelerated Compositing", this, SLOT(toggleAcceleratedCompositing(bool))); 552 QMenu* graphicsViewMenu = toolsMenu->addMenu("QGraphicsView"); 553 QAction* toggleGraphicsView = graphicsViewMenu->addAction("Toggle use of QGraphicsView", this, SLOT(initializeView(bool))); 554 toggleGraphicsView->setCheckable(true); 555 toggleGraphicsView->setChecked(false); 556 557 QAction* toggleAcceleratedCompositing = graphicsViewMenu->addAction("Toggle Accelerated Compositing", this, SLOT(toggleAcceleratedCompositing(bool))); 544 558 toggleAcceleratedCompositing->setCheckable(true); 545 559 toggleAcceleratedCompositing->setChecked(false); 546 547 QAction* toggleGraphicsView = toolsMenu->addAction("Toggle use of QGraphicsView", this, SLOT(initializeView(bool))); 548 toggleGraphicsView->setCheckable(true); 549 toggleGraphicsView->setChecked(false); 560 toggleAcceleratedCompositing->setEnabled(false); 561 toggleAcceleratedCompositing->connect(toggleGraphicsView, SIGNAL(toggled(bool)), SLOT(setEnabled(bool))); 562 563 graphicsViewMenu->addSeparator(); 564 565 flipAnimated = graphicsViewMenu->addAction("Animated Flip"); 566 flipAnimated->connect(toggleGraphicsView, SIGNAL(toggled(bool)), SLOT(setEnabled(bool))); 567 flipAnimated->setEnabled(false); 568 569 flipYAnimated = graphicsViewMenu->addAction("Animated Y-Flip"); 570 flipYAnimated->connect(toggleGraphicsView, SIGNAL(toggled(bool)), SLOT(setEnabled(bool))); 571 flipYAnimated->setEnabled(false); 550 572 } 551 573 -
trunk/WebKitTools/QtLauncher/webview.cpp
r54708 r55025 49 49 setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff); 50 50 51 #if QT_VERSION >= QT_VERSION_CHECK(4, 6, 0) 52 QStateMachine* machine = new QStateMachine(this); 53 QState* s0 = new QState(machine); 54 s0->assignProperty(this, "yRotation", 0); 55 56 QState* s1 = new QState(machine); 57 s1->assignProperty(this, "yRotation", 90); 58 59 QAbstractTransition* t1 = s0->addTransition(this, SIGNAL(yFlipRequest()), s1); 60 QPropertyAnimation* yRotationAnim = new QPropertyAnimation(this, "yRotation", this); 61 yRotationAnim->setDuration(1000); 62 t1->addAnimation(yRotationAnim); 63 64 QState* s2 = new QState(machine); 65 s2->assignProperty(this, "yRotation", -90); 66 s1->addTransition(s1, SIGNAL(propertiesAssigned()), s2); 67 68 QAbstractTransition* t2 = s2->addTransition(s0); 69 t2->addAnimation(yRotationAnim); 70 71 machine->setInitialState(s0); 72 machine->start(); 73 #endif 51 74 } 52 75 … … 82 105 m_lastConsultTime = now; 83 106 m_numPaintsSinceLastMeasure = 0; 107 } 108 109 void WebViewGraphicsBased::animatedFlip() 110 { 111 #if QT_VERSION >= QT_VERSION_CHECK(4, 6, 0) 112 QSizeF center = m_item->boundingRect().size() / 2; 113 QPointF centerPoint = QPointF(center.width(), center.height()); 114 m_item->setTransformOriginPoint(centerPoint); 115 116 QPropertyAnimation* animation = new QPropertyAnimation(m_item, "rotation", this); 117 animation->setDuration(1000); 118 119 int rotation = int(m_item->rotation()); 120 121 animation->setStartValue(rotation); 122 animation->setEndValue(rotation + 180 - (rotation % 180)); 123 124 animation->start(QAbstractAnimation::DeleteWhenStopped); 125 #endif 126 } 127 128 void WebViewGraphicsBased::animatedYFlip() 129 { 130 emit yFlipRequest(); 84 131 } 85 132 -
trunk/WebKitTools/QtLauncher/webview.h
r54512 r55025 67 67 class WebViewGraphicsBased : public QGraphicsView { 68 68 Q_OBJECT 69 Q_PROPERTY(qreal yRotation READ yRotation WRITE setYRotation) 69 70 70 71 public: … … 77 78 virtual void paintEvent(QPaintEvent* event); 78 79 80 void setYRotation(qreal angle) 81 { 82 #if QT_VERSION >= QT_VERSION_CHECK(4, 6, 0) 83 QRectF r = m_item->boundingRect(); 84 m_item->setTransform(QTransform() 85 .translate(r.width() / 2, r.height() / 2) 86 .rotate(angle, Qt::YAxis) 87 .translate(-r.width() / 2, -r.height() / 2)); 88 #endif 89 m_yRotation = angle; 90 } 91 qreal yRotation() const 92 { 93 return m_yRotation; 94 } 95 79 96 public slots: 80 97 void updateFrameRate(); 98 void animatedFlip(); 99 void animatedYFlip(); 100 101 signals: 102 void yFlipRequest(); 81 103 82 104 private: … … 87 109 QTime m_lastConsultTime; 88 110 bool m_measureFps; 111 qreal m_yRotation; 89 112 }; 90 113
Note: See TracChangeset
for help on using the changeset viewer.