From 361b5d532e3171171f35ea42e30b2d6d2ede027c Mon Sep 17 00:00:00 2001 From: Uwe Rathmann Date: Mon, 18 Dec 2023 09:39:17 +0100 Subject: [PATCH] BlurringNode -> TextureFilterNode --- playground/parrots/CMakeLists.txt | 2 +- playground/parrots/Overlay.cpp | 42 +++++++++---------- ...BlurringNode.cpp => TextureFilterNode.cpp} | 22 +++++----- .../{BlurringNode.h => TextureFilterNode.h} | 10 ++--- 4 files changed, 38 insertions(+), 38 deletions(-) rename playground/parrots/{BlurringNode.cpp => TextureFilterNode.cpp} (88%) rename playground/parrots/{BlurringNode.h => TextureFilterNode.h} (73%) diff --git a/playground/parrots/CMakeLists.txt b/playground/parrots/CMakeLists.txt index 1d509668..61230a6e 100644 --- a/playground/parrots/CMakeLists.txt +++ b/playground/parrots/CMakeLists.txt @@ -5,7 +5,7 @@ set(SOURCES Overlay.h Overlay.cpp - BlurringNode.h BlurringNode.cpp + TextureFilterNode.h TextureFilterNode.cpp main.cpp) qt_add_resources(SOURCES images.qrc shaders.qrc) diff --git a/playground/parrots/Overlay.cpp b/playground/parrots/Overlay.cpp index 00f3bfa1..b274037c 100644 --- a/playground/parrots/Overlay.cpp +++ b/playground/parrots/Overlay.cpp @@ -4,7 +4,7 @@ *****************************************************************************/ #include "Overlay.h" -#include "BlurringNode.h" +#include "TextureFilterNode.h" #include #include @@ -23,11 +23,11 @@ namespace using Inherited = QskSkinlet; public: - enum NodeRole { EffectRole, BorderRole }; + enum NodeRole { FillRole, BorderRole }; Skinlet() { - setNodeRoles( { EffectRole, BorderRole } ); + setNodeRoles( { FillRole, BorderRole } ); } QRectF subControlRect( const QskSkinnable*, @@ -43,8 +43,8 @@ namespace switch ( nodeRole ) { - case EffectRole: - return updateClippedEffectNode( overlay, node ); + case FillRole: + return updateFillNode( overlay, node ); case BorderRole: return updateBoxNode( skinnable, node, Overlay::Panel ); @@ -55,31 +55,31 @@ namespace } private: - QSGNode* updateClippedEffectNode( const Overlay* overlay, QSGNode* node ) const + QSGNode* updateFillNode( const Overlay* overlay, QSGNode* node ) const { /* There should be a way to avoid the clip node by passing the - vertex list directly to the effect node. TODO ... + vertex list directly to the texture node. TODO ... */ using Q = Overlay; QSGNode* clipNode = nullptr; - QSGNode* effectNode = nullptr; + QSGNode* textureNode = nullptr; if ( node ) { if ( node->firstChild() ) { clipNode = node; - effectNode = node->firstChild(); + textureNode = node->firstChild(); } else { - effectNode = node; + textureNode = node; } } - effectNode = updateEffectNode( overlay, effectNode ); + textureNode = updateTextureNode( overlay, textureNode ); if ( overlay->boxShapeHint( Q::Panel ).isRectangle() ) { @@ -91,12 +91,12 @@ namespace clipNode = updateBoxClipNode( overlay, clipNode, Q::Panel ); } - QskSGNode::setParentNode( effectNode, clipNode ); + QskSGNode::setParentNode( textureNode, clipNode ); - return clipNode ? clipNode : effectNode; + return clipNode ? clipNode : textureNode; } - QSGNode* updateEffectNode( const Overlay* overlay, QSGNode* node ) const + QSGNode* updateTextureNode( const Overlay* overlay, QSGNode* node ) const { const auto window = overlay->window(); @@ -107,20 +107,20 @@ namespace if ( rootNode == nullptr ) return nullptr; - auto effectNode = static_cast< BlurringNode* >( node ); + auto textureNode = static_cast< TextureFilterNode* >( node ); - if ( effectNode == nullptr ) + if ( textureNode == nullptr ) { auto texture = new QskSceneTexture( window ); QObject::connect( texture, &QskSceneTexture::updateRequested, overlay, &QQuickItem::update ); - effectNode = new BlurringNode(); - effectNode->setTexture( texture ); + textureNode = new TextureFilterNode(); + textureNode->setTexture( texture ); } { - auto texture = qobject_cast< QskSceneTexture* >( effectNode->texture() ); + auto texture = qobject_cast< QskSceneTexture* >( textureNode->texture() ); Q_ASSERT( texture ); texture->setFiltering( @@ -132,10 +132,10 @@ namespace { const auto rect = overlay->subControlRect( Overlay::Panel ); - effectNode->setRect( rect ); + textureNode->setRect( rect ); } - return effectNode; + return textureNode; } }; } diff --git a/playground/parrots/BlurringNode.cpp b/playground/parrots/TextureFilterNode.cpp similarity index 88% rename from playground/parrots/BlurringNode.cpp rename to playground/parrots/TextureFilterNode.cpp index 63030672..c72a4eca 100644 --- a/playground/parrots/BlurringNode.cpp +++ b/playground/parrots/TextureFilterNode.cpp @@ -3,7 +3,7 @@ * SPDX-License-Identifier: BSD-3-Clause *****************************************************************************/ -#include "BlurringNode.h" +#include "TextureFilterNode.h" #include #include @@ -122,10 +122,10 @@ QSGMaterialShader* Material::createShader( return new MaterialShader(); } -class BlurringNodePrivate final : public QSGGeometryNodePrivate +class TextureFilterNodePrivate final : public QSGGeometryNodePrivate { public: - BlurringNodePrivate() + TextureFilterNodePrivate() : geometry( QSGGeometry::defaultAttributes_TexturedPoint2D(), 4 ) { } @@ -136,32 +136,32 @@ class BlurringNodePrivate final : public QSGGeometryNodePrivate QRectF rect; }; -BlurringNode::BlurringNode() - : QSGGeometryNode( *new BlurringNodePrivate ) +TextureFilterNode::TextureFilterNode() + : QSGGeometryNode( *new TextureFilterNodePrivate ) { - Q_D( BlurringNode ); + Q_D( TextureFilterNode ); setMaterial( &d->material ); setGeometry( &d->geometry ); } -BlurringNode::~BlurringNode() +TextureFilterNode::~TextureFilterNode() { } -void BlurringNode::setTexture( QSGTexture* texture ) +void TextureFilterNode::setTexture( QSGTexture* texture ) { d_func()->material.texture = texture; } -QSGTexture* BlurringNode::texture() +QSGTexture* TextureFilterNode::texture() { return d_func()->material.texture; } -void BlurringNode::setRect( const QRectF& rect ) +void TextureFilterNode::setRect( const QRectF& rect ) { - Q_D( BlurringNode ); + Q_D( TextureFilterNode ); if ( rect != d->rect ) { diff --git a/playground/parrots/BlurringNode.h b/playground/parrots/TextureFilterNode.h similarity index 73% rename from playground/parrots/BlurringNode.h rename to playground/parrots/TextureFilterNode.h index 918373ab..1621b3bf 100644 --- a/playground/parrots/BlurringNode.h +++ b/playground/parrots/TextureFilterNode.h @@ -10,15 +10,15 @@ class QRect; class QSGTexture; -class BlurringNodePrivate; +class TextureFilterNodePrivate; -class BlurringNode : public QSGGeometryNode +class TextureFilterNode : public QSGGeometryNode { using Inherited = QSGGeometryNode; public: - BlurringNode(); - ~BlurringNode(); + TextureFilterNode(); + ~TextureFilterNode(); void setTexture( QSGTexture* ); QSGTexture* texture(); @@ -26,5 +26,5 @@ class BlurringNode : public QSGGeometryNode void setRect( const QRectF& ); private: - Q_DECLARE_PRIVATE( BlurringNode ) + Q_DECLARE_PRIVATE( TextureFilterNode ) };