diff options
author | Jüri Valdmann <juri.valdmann@qt.io> | 2020-07-08 10:29:54 +0200 |
---|---|---|
committer | Jüri Valdmann <juri.valdmann@qt.io> | 2020-07-15 14:38:47 +0200 |
commit | 333a302974216a8f943696f7916a4a944f89b51b (patch) | |
tree | 2b2647cc99718051e4bfd9b47b08f1d953b56270 /src/webengine/render_widget_host_view_qt_delegate_quick.cpp | |
parent | 63dd1416ef90773d6302608c0a27f91bca7338ac (diff) |
Implement more Compositor methods for software mode
Add implementations of devicePixelRatio, textureSize, hasAlphaChannel
also for software mode. Rename textureSize to just size.
Change-Id: I5c515e4fed3330e0ecbfc17e7ec092245a13e619
Reviewed-by: Michal Klocek <michal.klocek@qt.io>
Diffstat (limited to 'src/webengine/render_widget_host_view_qt_delegate_quick.cpp')
-rw-r--r-- | src/webengine/render_widget_host_view_qt_delegate_quick.cpp | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/src/webengine/render_widget_host_view_qt_delegate_quick.cpp b/src/webengine/render_widget_host_view_qt_delegate_quick.cpp index 9ed660f2e..60340079f 100644 --- a/src/webengine/render_widget_host_view_qt_delegate_quick.cpp +++ b/src/webengine/render_widget_host_view_qt_delegate_quick.cpp @@ -357,17 +357,14 @@ QSGNode *RenderWidgetHostViewQtDelegateQuick::updatePaintNode(QSGNode *oldNode, comp->swapFrame(); + QSize texSize = comp->size(); + QSizeF texSizeInDips = QSizeF(texSize) / comp->devicePixelRatio(); + node->setRect(QRectF(QPointF(0, 0), texSizeInDips)); + if (comp->type() == Compositor::Type::Software) { QImage image = comp->image(); - float pixPerDip = comp->devicePixelRatio(); - QSizeF sizeInDips = QSizeF(image.size()) / pixPerDip; - node->setRect(QRectF(QPointF(0, 0), sizeInDips)); node->setTexture(win->createTextureFromImage(image)); } else if (comp->type() == Compositor::Type::OpenGL) { - QSize texSize = comp->textureSize(); - float pixPerDip = comp->devicePixelRatio(); - QSizeF sizeInDips = QSizeF(texSize) / pixPerDip; - node->setRect(QRectF(QPointF(0, 0), sizeInDips)); QQuickWindow::CreateTextureOptions texOpts; if (comp->hasAlphaChannel()) texOpts.setFlag(QQuickWindow::TextureHasAlphaChannel); |