QskGradientNode renamed to QskRectangleNode

This commit is contained in:
Uwe Rathmann 2022-12-06 09:58:46 +01:00
parent 6d726eee0a
commit 9ae7dc2f63
4 changed files with 21 additions and 23 deletions

View File

@ -19,9 +19,9 @@
#include "QskControl.h" #include "QskControl.h"
#include "QskFunctions.h" #include "QskFunctions.h"
#include "QskGradient.h" #include "QskGradient.h"
#include "QskGradientNode.h"
#include "QskGraphicNode.h" #include "QskGraphicNode.h"
#include "QskGraphic.h" #include "QskGraphic.h"
#include "QskRectangleNode.h"
#include "QskSGNode.h" #include "QskSGNode.h"
#include "QskTextColors.h" #include "QskTextColors.h"
#include "QskTextNode.h" #include "QskTextNode.h"
@ -351,11 +351,9 @@ QSGNode* QskSkinlet::updateBackgroundNode(
if ( !gradient.isValid() ) if ( !gradient.isValid() )
return nullptr; return nullptr;
auto rectNode = static_cast< QskGradientNode* >( node ); auto rectNode = QskSGNode::ensureNode< QskRectangleNode >( node );
if ( rectNode == nullptr )
rectNode = new QskGradientNode();
rectNode->updateNode( rect, gradient ); rectNode->updateNode( rect, gradient );
return rectNode; return rectNode;
} }

View File

@ -3,7 +3,7 @@
* This file may be used under the terms of the QSkinny License, Version 1.0 * This file may be used under the terms of the QSkinny License, Version 1.0
*****************************************************************************/ *****************************************************************************/
#include "QskGradientNode.h" #include "QskRectangleNode.h"
#include "QskGradient.h" #include "QskGradient.h"
#include "QskSGNode.h" #include "QskSGNode.h"
#include "QskBoxRenderer.h" #include "QskBoxRenderer.h"
@ -33,10 +33,10 @@ static inline QskGradient qskEffectiveGradient( const QskGradient& gradient )
return gradient; return gradient;
} }
class QskGradientNodePrivate final : public QSGGeometryNodePrivate class QskRectangleNodePrivate final : public QSGGeometryNodePrivate
{ {
public: public:
QskGradientNodePrivate() QskRectangleNodePrivate()
: geometry( QSGGeometry::defaultAttributes_ColoredPoint2D(), 0 ) : geometry( QSGGeometry::defaultAttributes_ColoredPoint2D(), 0 )
{ {
} }
@ -49,23 +49,23 @@ class QskGradientNodePrivate final : public QSGGeometryNodePrivate
int gradientType = -1; int gradientType = -1;
}; };
QskGradientNode::QskGradientNode() QskRectangleNode::QskRectangleNode()
: QSGGeometryNode( *new QskGradientNodePrivate ) : QSGGeometryNode( *new QskRectangleNodePrivate )
{ {
Q_D( QskGradientNode ); Q_D( QskRectangleNode );
setFlag( OwnsMaterial, true ); setFlag( OwnsMaterial, true );
setGeometry( &d->geometry ); setGeometry( &d->geometry );
} }
QskGradientNode::~QskGradientNode() QskRectangleNode::~QskRectangleNode()
{ {
} }
void QskGradientNode::updateNode( void QskRectangleNode::updateNode(
const QRectF& rect, const QskGradient& gradient ) const QRectF& rect, const QskGradient& gradient )
{ {
Q_D( QskGradientNode ); Q_D( QskRectangleNode );
if ( rect.isEmpty() || !gradient.isVisible() ) if ( rect.isEmpty() || !gradient.isVisible() )
{ {

View File

@ -3,25 +3,25 @@
* This file may be used under the terms of the QSkinny License, Version 1.0 * This file may be used under the terms of the QSkinny License, Version 1.0
*****************************************************************************/ *****************************************************************************/
#ifndef QSK_GRADIENT_NODE_H #ifndef QSK_RECTANGLE_NODE_H
#define QSK_GRADIENT_NODE_H #define QSK_RECTANGLE_NODE_H
#include "QskGlobal.h" #include "QskGlobal.h"
#include <qsgnode.h> #include <qsgnode.h>
class QskGradient; class QskGradient;
class QskGradientNodePrivate; class QskRectangleNodePrivate;
class QSK_EXPORT QskGradientNode : public QSGGeometryNode class QSK_EXPORT QskRectangleNode : public QSGGeometryNode
{ {
public: public:
QskGradientNode(); QskRectangleNode();
~QskGradientNode() override; ~QskRectangleNode() override;
void updateNode( const QRectF&, const QskGradient& ); void updateNode( const QRectF&, const QskGradient& );
private: private:
Q_DECLARE_PRIVATE( QskGradientNode ) Q_DECLARE_PRIVATE( QskRectangleNode )
}; };
#endif #endif

View File

@ -109,10 +109,10 @@ HEADERS += \
nodes/QskBoxRendererColorMap.h \ nodes/QskBoxRendererColorMap.h \
nodes/QskBoxShadowNode.h \ nodes/QskBoxShadowNode.h \
nodes/QskColorRamp.h \ nodes/QskColorRamp.h \
nodes/QskGradientNode.h \
nodes/QskGraphicNode.h \ nodes/QskGraphicNode.h \
nodes/QskPaintedNode.h \ nodes/QskPaintedNode.h \
nodes/QskPlainTextRenderer.h \ nodes/QskPlainTextRenderer.h \
nodes/QskRectangleNode.h \
nodes/QskRichTextRenderer.h \ nodes/QskRichTextRenderer.h \
nodes/QskScaleRenderer.h \ nodes/QskScaleRenderer.h \
nodes/QskSGNode.h \ nodes/QskSGNode.h \
@ -137,10 +137,10 @@ SOURCES += \
nodes/QskBoxRendererDEllipse.cpp \ nodes/QskBoxRendererDEllipse.cpp \
nodes/QskBoxShadowNode.cpp \ nodes/QskBoxShadowNode.cpp \
nodes/QskColorRamp.cpp \ nodes/QskColorRamp.cpp \
nodes/QskGradientNode.cpp \
nodes/QskGraphicNode.cpp \ nodes/QskGraphicNode.cpp \
nodes/QskPaintedNode.cpp \ nodes/QskPaintedNode.cpp \
nodes/QskPlainTextRenderer.cpp \ nodes/QskPlainTextRenderer.cpp \
nodes/QskRectangleNode.cpp \
nodes/QskRichTextRenderer.cpp \ nodes/QskRichTextRenderer.cpp \
nodes/QskScaleRenderer.cpp \ nodes/QskScaleRenderer.cpp \
nodes/QskSGNode.cpp \ nodes/QskSGNode.cpp \