diff options
author | Jocelyn Turcotte <jocelyn.turcotte@digia.com> | 2013-09-09 15:21:23 +0200 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-09-27 19:28:35 +0200 |
commit | a3eaa1530feed293f966bb2a886d9efb6bed5f44 (patch) | |
tree | e5f22ddb66270598a86e43728be96608a2de091d /lib/quick/render_widget_host_view_qt_delegate_quick.cpp | |
parent | b7dc59562ccd44c57114415b6a121f04f84a40a3 (diff) |
Ground work for splitting RenderWidgetHostViewQtDelegateQuick.
This prepares the addition of a delegated renderer implementation
for the QtQuick view.
Use a template for the base class since the accelerated delegate
will derive from QQuickItem instead of QQuickPaintedItem.
Change-Id: I5619290c0023bafdd27f18dab9edc10f5fbbf838
Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
Diffstat (limited to 'lib/quick/render_widget_host_view_qt_delegate_quick.cpp')
-rw-r--r-- | lib/quick/render_widget_host_view_qt_delegate_quick.cpp | 133 |
1 files changed, 6 insertions, 127 deletions
diff --git a/lib/quick/render_widget_host_view_qt_delegate_quick.cpp b/lib/quick/render_widget_host_view_qt_delegate_quick.cpp index 1a6759ff1..6f8243690 100644 --- a/lib/quick/render_widget_host_view_qt_delegate_quick.cpp +++ b/lib/quick/render_widget_host_view_qt_delegate_quick.cpp @@ -41,56 +41,12 @@ #include "render_widget_host_view_qt_delegate_quick.h" -#include "qquickwebengineview_p.h" -#include "qquickwebengineview_p_p.h" -#include <QQuickWindow> -#include <QWindow> - -RenderWidgetHostViewQtDelegateQuick::RenderWidgetHostViewQtDelegateQuick(QQuickItem *parent) - : QQuickPaintedItem(parent) -{ - setAcceptedMouseButtons(Qt::AllButtons); - setAcceptHoverEvents(true); -} - -void RenderWidgetHostViewQtDelegateQuick::initAsChild(WebContentsAdapterClient* container) -{ - QQuickWebEngineViewPrivate *viewPrivate = static_cast<QQuickWebEngineViewPrivate *>(container); - setParentItem(viewPrivate->q_func()); -} - -QRectF RenderWidgetHostViewQtDelegateQuick::screenRect() const -{ - QPointF pos = mapToScene(QPointF(0,0)); - return QRectF(pos.x(), pos.y(), width(), height()); -} - -void RenderWidgetHostViewQtDelegateQuick::setKeyboardFocus() -{ - setFocus(true); -} - -bool RenderWidgetHostViewQtDelegateQuick::hasKeyboardFocus() -{ - return hasFocus(); -} - -void RenderWidgetHostViewQtDelegateQuick::show() -{ - setVisible(true); -} - -void RenderWidgetHostViewQtDelegateQuick::hide() -{ - setVisible(false); -} - -bool RenderWidgetHostViewQtDelegateQuick::isVisible() const +RenderWidgetHostViewQtDelegateQuickPainted::RenderWidgetHostViewQtDelegateQuickPainted(QQuickItem *parent) + : RenderWidgetHostViewQtDelegateQuickBase<QQuickPaintedItem>(parent) { - return QQuickPaintedItem::isVisible(); } -WId RenderWidgetHostViewQtDelegateQuick::nativeWindowIdForCompositor() const +WId RenderWidgetHostViewQtDelegateQuickPainted::nativeWindowIdForCompositor() const { // Only used to enable accelerated compositing by the compositor // directly on our native window, which we want to eventually do @@ -98,98 +54,21 @@ WId RenderWidgetHostViewQtDelegateQuick::nativeWindowIdForCompositor() const return 0; } -QWindow* RenderWidgetHostViewQtDelegateQuick::window() const -{ - return QQuickPaintedItem::window(); -} - -void RenderWidgetHostViewQtDelegateQuick::update(const QRect& rect) +void RenderWidgetHostViewQtDelegateQuickPainted::update(const QRect& rect) { polish(); QQuickPaintedItem::update(rect); } -void RenderWidgetHostViewQtDelegateQuick::updateCursor(const QCursor &cursor) -{ - QQuickPaintedItem::setCursor(cursor); -} - -void RenderWidgetHostViewQtDelegateQuick::resize(int width, int height) -{ - setSize(QSizeF(width, height)); -} - -void RenderWidgetHostViewQtDelegateQuick::paint(QPainter *painter) +void RenderWidgetHostViewQtDelegateQuickPainted::paint(QPainter *painter) { RenderWidgetHostViewQtDelegate::paint(painter, boundingRect()); } -void RenderWidgetHostViewQtDelegateQuick::updatePolish() +void RenderWidgetHostViewQtDelegateQuickPainted::updatePolish() { // paint will be called from the scene graph thread and this doesn't play well // with chromium's use of TLS while getting the backing store. // updatePolish() should be called from the GUI thread right before the rendering thread starts. fetchBackingStore(); } - -void RenderWidgetHostViewQtDelegateQuick::geometryChanged(const QRectF &newGeometry, const QRectF &oldGeometry) -{ - QQuickPaintedItem::geometryChanged(newGeometry, oldGeometry); - notifyResize(); -} - -void RenderWidgetHostViewQtDelegateQuick::focusInEvent(QFocusEvent *event) -{ - forwardEvent(event); -} - -void RenderWidgetHostViewQtDelegateQuick::focusOutEvent(QFocusEvent *event) -{ - forwardEvent(event); -} - -void RenderWidgetHostViewQtDelegateQuick::mousePressEvent(QMouseEvent *event) -{ - setFocus(true); - forwardEvent(event); -} - -void RenderWidgetHostViewQtDelegateQuick::mouseMoveEvent(QMouseEvent *event) -{ - forwardEvent(event); -} - -void RenderWidgetHostViewQtDelegateQuick::mouseReleaseEvent(QMouseEvent *event) -{ - forwardEvent(event); -} - -void RenderWidgetHostViewQtDelegateQuick::mouseDoubleClickEvent(QMouseEvent *event) -{ - forwardEvent(event); -} - -void RenderWidgetHostViewQtDelegateQuick::keyPressEvent(QKeyEvent *event) -{ - forwardEvent(event); -} - -void RenderWidgetHostViewQtDelegateQuick::keyReleaseEvent(QKeyEvent *event) -{ - forwardEvent(event); -} - -void RenderWidgetHostViewQtDelegateQuick::wheelEvent(QWheelEvent *event) -{ - forwardEvent(event); -} - -void RenderWidgetHostViewQtDelegateQuick::touchEvent(QTouchEvent *event) -{ - forwardEvent(event); -} - -void RenderWidgetHostViewQtDelegateQuick::hoverMoveEvent(QHoverEvent *event) -{ - forwardEvent(event); -} |