tests/benchmarks/uimodels/GraphicsViewBenchmark/widgets/webview_p.h
changeset 3 41300fa6a67c
equal deleted inserted replaced
2:56cd8111b7f7 3:41300fa6a67c
       
     1 #ifndef WEBVIEW_P_H
       
     2 #define WEBVIEW_P_H
       
     3 
       
     4 #include "webview.h"
       
     5 #include <QtWebKit/qgraphicswebview.h>
       
     6 #include <QtWebKit/qwebpage.h>
       
     7 #include <QtWebKit/qwebframe.h>
       
     8 #include <QGraphicsEffect>
       
     9 #include <QPainter>
       
    10 #include <QPixmapCache>
       
    11 #include <QTimer>
       
    12 #include <QDebug>
       
    13 
       
    14 class WebViewCache;
       
    15 
       
    16 class WebViewPrivate {
       
    17 public:
       
    18 
       
    19     WebViewPrivate(WebView *w);
       
    20     void adjustSize();
       
    21     void _q_loadStarted();
       
    22     void _q_loadProgress(int);
       
    23     void _q_loadFinished(bool);
       
    24     void _q_viewportChanged(QGraphicsWidget*);
       
    25     void _q_motionEnded();
       
    26 
       
    27     WebView *q;
       
    28     QGraphicsWebView *web;
       
    29     WebViewCache *cache;
       
    30     QTimer motionTimer;
       
    31 };
       
    32 
       
    33 class WebViewCache : public QGraphicsEffect 
       
    34 {
       
    35     Q_OBJECT
       
    36 
       
    37 public:
       
    38 
       
    39     WebViewCache(QGraphicsWebView *webView);
       
    40     virtual ~WebViewCache();
       
    41 
       
    42 public:
       
    43 
       
    44     void refresh();
       
    45 
       
    46     void draw(QPainter * painter, QGraphicsEffectSource * source);
       
    47 
       
    48 private:
       
    49 
       
    50     QVector<QRectF> m_tileRects;
       
    51     QVector<QPixmapCache::Key> m_tilePixmaps;
       
    52     QSizeF m_itemSize;
       
    53     QGraphicsWebView *m_webView;
       
    54 
       
    55     friend class WebViewPrivate;
       
    56 };
       
    57 
       
    58 #endif // WEBVIEW_P_H