From e1b65c6dd623bb95bbc16e0281c2551c799a47fc Mon Sep 17 00:00:00 2001 From: Uwe Rathmann Date: Tue, 6 Dec 2022 16:37:18 +0100 Subject: [PATCH] QskBoxRenderer::isGradientSupported also depends on the shape ( at least in the future ) --- src/nodes/QskBoxNode.cpp | 2 +- src/nodes/QskBoxRenderer.h | 2 +- src/nodes/QskBoxRendererRect.cpp | 3 ++- src/nodes/QskRectangleNode.cpp | 2 +- 4 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/nodes/QskBoxNode.cpp b/src/nodes/QskBoxNode.cpp index fddafe68..66cc4fa4 100644 --- a/src/nodes/QskBoxNode.cpp +++ b/src/nodes/QskBoxNode.cpp @@ -83,7 +83,7 @@ void QskBoxNode::updateNode( const QRectF& rect, However the border is always done with a QskBoxRectangleNode */ - if ( QskBoxRenderer::isGradientSupported( gradient ) ) + if ( QskBoxRenderer::isGradientSupported( shape, gradient ) ) { rectNode = qskNode< QskBoxRectangleNode >( this, BoxRole ); rectNode->updateNode( rect, shape, borderMetrics, borderColors, gradient ); diff --git a/src/nodes/QskBoxRenderer.h b/src/nodes/QskBoxRenderer.h index fde93674..29e71368 100644 --- a/src/nodes/QskBoxRenderer.h +++ b/src/nodes/QskBoxRenderer.h @@ -29,7 +29,7 @@ class QSK_EXPORT QskBoxRenderer const QskBoxShapeMetrics&, const QskBoxBorderMetrics&, const QskBoxBorderColors&, const QskGradient&, QSGGeometry& ); - static bool isGradientSupported( const QskGradient& ); + static bool isGradientSupported( const QskBoxShapeMetrics&, const QskGradient& ); class Metrics { diff --git a/src/nodes/QskBoxRendererRect.cpp b/src/nodes/QskBoxRendererRect.cpp index 71fc5592..acc12664 100644 --- a/src/nodes/QskBoxRendererRect.cpp +++ b/src/nodes/QskBoxRendererRect.cpp @@ -663,7 +663,8 @@ void QskBoxRenderer::renderRectFill( const QskVertex::Quad& rect, qskCreateFillOrdered( rect, gradient, line ); } -bool QskBoxRenderer::isGradientSupported( const QskGradient& gradient ) +bool QskBoxRenderer::isGradientSupported( + const QskBoxShapeMetrics&, const QskGradient& gradient ) { if ( !gradient.isVisible() || gradient.isMonochrome() ) return true; diff --git a/src/nodes/QskRectangleNode.cpp b/src/nodes/QskRectangleNode.cpp index 1df2b555..4c029cce 100644 --- a/src/nodes/QskRectangleNode.cpp +++ b/src/nodes/QskRectangleNode.cpp @@ -128,7 +128,7 @@ void QskRectangleNode::updateNode( d->rect = rect; d->shape = effectiveShape; - if ( QskBoxRenderer::isGradientSupported( effectiveGradient ) ) + if ( QskBoxRenderer::isGradientSupported( effectiveShape, effectiveGradient ) ) { if ( material() != qskMaterialColorVertex ) {