// Copyright (C) 2016 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 #ifndef WEBVIEW_P_H #define WEBVIEW_P_H #include "webview.h" #include #include #include #include #include #include #include #include class WebViewCache; class WebViewPrivate { public: WebViewPrivate(WebView *w); void adjustSize(); void _q_loadStarted(); void _q_loadProgress(int); void _q_loadFinished(bool); void _q_viewportChanged(QGraphicsWidget*); void _q_motionEnded(); WebView *q; QGraphicsWebView *web; WebViewCache *cache; QTimer motionTimer; }; class WebViewCache : public QGraphicsEffect { Q_OBJECT public: WebViewCache(QGraphicsWebView *webView); virtual ~WebViewCache(); public: void refresh(); void draw(QPainter * painter, QGraphicsEffectSource * source); private: QList m_tileRects; QList m_tilePixmaps; QSizeF m_itemSize; QGraphicsWebView *m_webView; friend class WebViewPrivate; }; #endif // WEBVIEW_P_H