diff options
author | Allan Sandfeld Jensen <allan.jensen@theqtcompany.com> | 2016-07-11 11:42:10 +0200 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2016-07-14 21:51:01 +0000 |
commit | fbe3acc7b2823f64c8f4e74233bb9fa8028f52bf (patch) | |
tree | ccc8f78e5c446343d8b4ac919fd174d9bf4a20d5 /src/core/delegated_frame_node.cpp | |
parent | f1f6700b4c15b44c7d5e0f773a8b9b77915098d6 (diff) |
Switch away from deprecated QSG*Node classes
Use the new public QSG classes meant to replace QSGSimpleRectNode and
QSGSimpleTextureNode.
Change-Id: Icdfc3b4ba13dd28258defa955d050927abbae95b
Reviewed-by: Michael BrĂ¼ning <michael.bruning@qt.io>
Diffstat (limited to 'src/core/delegated_frame_node.cpp')
-rw-r--r-- | src/core/delegated_frame_node.cpp | 21 |
1 files changed, 14 insertions, 7 deletions
diff --git a/src/core/delegated_frame_node.cpp b/src/core/delegated_frame_node.cpp index 8b635d912..0c2b3cdea 100644 --- a/src/core/delegated_frame_node.cpp +++ b/src/core/delegated_frame_node.cpp @@ -73,12 +73,19 @@ #include <QOpenGLContext> #include <QOpenGLFunctions> -#include <QSGSimpleRectNode> -#include <QSGSimpleTextureNode> +#include <QSGFlatColorMaterial> #include <QSGTexture> #include <QtGui/QOffscreenSurface> #include <private/qsgadaptationlayer_p.h> +#if (QT_VERSION >= QT_VERSION_CHECK(5, 8, 0)) +#include <QSGImageNode> +#include <QSGRectangleNode> +#else +#include <QSGSimpleRectNode> +#include <QSGSimpleTextureNode> +#endif + #if !defined(QT_NO_EGL) #include <EGL/egl.h> #include <EGL/eglext.h> @@ -538,7 +545,7 @@ void DelegatedFrameNode::commit(ChromiumCompositorData *chromiumCompositorData, if (!layer) continue; - // Only QSGImageNode currently supports QSGLayer textures. + // Only QSGInternalImageNode currently supports QSGLayer textures. QSGInternalImageNode *imageNode = apiDelegate->createImageNode(); imageNode->setTargetRect(toQt(quad->rect)); imageNode->setInnerTargetRect(toQt(quad->rect)); @@ -550,8 +557,8 @@ void DelegatedFrameNode::commit(ChromiumCompositorData *chromiumCompositorData, const cc::TextureDrawQuad *tquad = cc::TextureDrawQuad::MaterialCast(quad); ResourceHolder *resource = findAndHoldResource(tquad->resource_id(), resourceCandidates); - QSGSimpleTextureNode *textureNode = new QSGSimpleTextureNode; - textureNode->setTextureCoordinatesTransform(tquad->y_flipped ? QSGSimpleTextureNode::MirrorVertically : QSGSimpleTextureNode::NoTransform); + QSGTextureNode *textureNode = apiDelegate->createTextureNode(); + textureNode->setTextureCoordinatesTransform(tquad->y_flipped ? QSGTextureNode::MirrorVertically : QSGTextureNode::NoTransform); textureNode->setRect(toQt(quad->rect)); textureNode->setFiltering(resource->transferableResource().filter == GL_LINEAR ? QSGTexture::Linear : QSGTexture::Nearest); textureNode->setTexture(initAndHoldTexture(resource, quad->ShouldDrawWithBlending(), apiDelegate)); @@ -559,7 +566,7 @@ void DelegatedFrameNode::commit(ChromiumCompositorData *chromiumCompositorData, break; } case cc::DrawQuad::SOLID_COLOR: { const cc::SolidColorDrawQuad *scquad = cc::SolidColorDrawQuad::MaterialCast(quad); - QSGSimpleRectNode *rectangleNode = new QSGSimpleRectNode; + QSGRectangleNode *rectangleNode = apiDelegate->createRectangleNode(); // Qt only supports MSAA and this flag shouldn't be needed. // If we ever want to use QSGRectangleNode::setAntialiasing for this we should @@ -598,7 +605,7 @@ void DelegatedFrameNode::commit(ChromiumCompositorData *chromiumCompositorData, const cc::TileDrawQuad *tquad = cc::TileDrawQuad::MaterialCast(quad); ResourceHolder *resource = findAndHoldResource(tquad->resource_id(), resourceCandidates); - QSGSimpleTextureNode *textureNode = new QSGSimpleTextureNode; + QSGTextureNode *textureNode = apiDelegate->createTextureNode(); textureNode->setRect(toQt(quad->rect)); textureNode->setSourceRect(toQt(tquad->tex_coord_rect)); textureNode->setFiltering(resource->transferableResource().filter == GL_LINEAR ? QSGTexture::Linear : QSGTexture::Nearest); |