diff options
Diffstat (limited to 'WebKitTools/QtLauncher/webview.h')
-rw-r--r-- | WebKitTools/QtLauncher/webview.h | 43 |
1 files changed, 36 insertions, 7 deletions
diff --git a/WebKitTools/QtLauncher/webview.h b/WebKitTools/QtLauncher/webview.h index 68f220e..83bd801 100644 --- a/WebKitTools/QtLauncher/webview.h +++ b/WebKitTools/QtLauncher/webview.h @@ -36,27 +36,56 @@ #include "webpage.h" #include <qwebview.h> #include <qgraphicswebview.h> +#include <QGraphicsView> +#include <QGraphicsWidget> +#include <QTime> -class WebViewGraphicsBased : public QGraphicsWebView { +class WebViewTraditional : public QWebView { + Q_OBJECT + +public: + WebViewTraditional(QWidget* parent) : QWebView(parent) {} + +protected: + virtual void contextMenuEvent(QContextMenuEvent*); + virtual void mousePressEvent(QMouseEvent*); +}; + + +class GraphicsWebView : public QGraphicsWebView { Q_OBJECT public: - WebViewGraphicsBased(QGraphicsItem* parent = 0) : QGraphicsWebView(parent) {}; + GraphicsWebView(QGraphicsItem* parent = 0) : QGraphicsWebView(parent) {}; protected: virtual void contextMenuEvent(QGraphicsSceneContextMenuEvent*); virtual void mousePressEvent(QGraphicsSceneMouseEvent*); }; -class WebViewTraditional : public QWebView { + +class WebViewGraphicsBased : public QGraphicsView { Q_OBJECT public: - WebViewTraditional(QWidget* parent) : QWebView(parent) {} + WebViewGraphicsBased(QWidget* parent); + virtual void resizeEvent(QResizeEvent*); + void setPage(QWebPage* page) { m_item->setPage(page); } + void setItemCacheMode(QGraphicsItem::CacheMode mode) { m_item->setCacheMode(mode); } -protected: - virtual void contextMenuEvent(QContextMenuEvent*); - virtual void mousePressEvent(QMouseEvent*); + void enableFrameRateMeasurement(); + virtual void paintEvent(QPaintEvent* event); + +public slots: + void updateFrameRate(); + +private: + GraphicsWebView* m_item; + int m_numPaintsTotal; + int m_numPaintsSinceLastMeasure; + QTime m_startTime; + QTime m_lastConsultTime; + bool m_measureFps; }; #endif |