From 08de828a119182a61416b92a743635a12691bd5f Mon Sep 17 00:00:00 2001 From: Shawn Rutledge Date: Mon, 10 Aug 2015 14:43:59 +0200 Subject: QTabletEvent manual test: show events/sec and frames/sec, proximity Task-number: QTBUG-47464 Change-Id: I476586bb15dd5113cf6463b1dc6f05e5bb26127a Reviewed-by: Laszlo Agocs --- tests/manual/qtabletevent/regular_widgets/main.cpp | 24 +++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) (limited to 'tests') diff --git a/tests/manual/qtabletevent/regular_widgets/main.cpp b/tests/manual/qtabletevent/regular_widgets/main.cpp index c8353a40c0..a6fddd4b18 100644 --- a/tests/manual/qtabletevent/regular_widgets/main.cpp +++ b/tests/manual/qtabletevent/regular_widgets/main.cpp @@ -39,6 +39,7 @@ #include #include #include +#include #include #include #include @@ -72,6 +73,9 @@ public: public slots: void clearPoints() { m_points.clear(); update(); } +signals: + void stats(QString s); + protected: void mouseDoubleClickEvent(QMouseEvent *event) { outputMouseEvent(event); } void mouseMoveEvent(QMouseEvent *event) { outputMouseEvent(event); } @@ -81,6 +85,7 @@ protected: void tabletEvent(QTabletEvent *); void paintEvent(QPaintEvent *); + void timerEvent(QTimerEvent *); private: void outputMouseEvent(QMouseEvent *event); @@ -89,13 +94,19 @@ private: bool m_lastIsTabletMove; Qt::MouseButton m_lastButton; QVector m_points; + int m_tabletMoveCount; + int m_paintEventCount; }; EventReportWidget::EventReportWidget() : m_lastIsMouseMove(false) , m_lastIsTabletMove(false) , m_lastButton(Qt::NoButton) -{ } + , m_tabletMoveCount(0) + , m_paintEventCount(0) +{ + startTimer(1000); +} void EventReportWidget::paintEvent(QPaintEvent *) { @@ -145,6 +156,7 @@ void EventReportWidget::paintEvent(QPaintEvent *) } } } + ++m_paintEventCount; } void EventReportWidget::tabletEvent(QTabletEvent *event) @@ -154,11 +166,13 @@ void EventReportWidget::tabletEvent(QTabletEvent *event) switch (event->type()) { case QEvent::TabletEnterProximity: case QEvent::TabletLeaveProximity: + qDebug() << "proximity" << event; break; case QEvent::TabletMove: m_points.push_back(TabletPoint(event->pos(), TabletMove, m_lastButton, event->pointerType(), event->pressure(), event->rotation())); update(); isMove = true; + ++m_tabletMoveCount; break; case QEvent::TabletPress: m_points.push_back(TabletPoint(event->pos(), TabletButtonPress, event->button(), event->pointerType(), event->rotation())); @@ -194,6 +208,13 @@ void EventReportWidget::outputMouseEvent(QMouseEvent *event) qDebug() << event; } +void EventReportWidget::timerEvent(QTimerEvent *) +{ + emit stats(QString("%1 moves/sec, %2 frames/sec").arg(m_tabletMoveCount).arg(m_paintEventCount)); + m_tabletMoveCount = 0; + m_paintEventCount = 0; +} + int main(int argc, char *argv[]) { QApplication app(argc, argv); @@ -203,6 +224,7 @@ int main(int argc, char *argv[]) widget->setMinimumSize(640, 480); QMenu *fileMenu = mainWindow.menuBar()->addMenu("File"); QObject::connect(fileMenu->addAction("Clear"), SIGNAL(triggered()), widget, SLOT(clearPoints())); + QObject::connect(widget, SIGNAL(stats(QString)), mainWindow.statusBar(), SLOT(showMessage(QString))); QAction *quitAction = fileMenu->addAction("Quit"); QObject::connect(quitAction, SIGNAL(triggered()), qApp, SLOT(quit())); quitAction->setShortcut(Qt::CTRL + Qt::Key_Q); -- cgit v1.2.3