QskBoxFillNode fixed - updating the material first.

This commit is contained in:
Uwe Rathmann 2024-09-14 17:43:37 +02:00
parent 386ddf72d1
commit ada3be71e0
2 changed files with 11 additions and 9 deletions

View File

@ -168,7 +168,9 @@ QSGNode* GradientView::updatePaintNode(
case BoxRectangle: case BoxRectangle:
{ {
QskBoxShapeMetrics shape; QskBoxShapeMetrics shape;
#if 0
shape.setRadius( 80 ); shape.setRadius( 80 );
#endif
if ( !QskBoxRenderer::isGradientSupported( shape, m_gradient ) ) if ( !QskBoxRenderer::isGradientSupported( shape, m_gradient ) )
{ {

View File

@ -71,15 +71,6 @@ void QskBoxFillNode::updateNode(
d->gradientHash = gradientHash; d->gradientHash = gradientHash;
d->rect = rect; d->rect = rect;
if ( dirtyMetrics )
{
QskBoxRenderer::renderFillGeometry(
rect, shapeMetrics, borderMetrics, *geometry() );
markDirty( QSGNode::DirtyGeometry );
geometry()->markVertexDataDirty();
}
if ( gradient.isMonochrome() ) if ( gradient.isMonochrome() )
{ {
if ( dirtyColors ) if ( dirtyColors )
@ -92,4 +83,13 @@ void QskBoxFillNode::updateNode(
if ( dirtyColors || dirtyMetrics ) if ( dirtyColors || dirtyMetrics )
setColoring( rect, gradient.effectiveGradient() ); setColoring( rect, gradient.effectiveGradient() );
} }
if ( dirtyMetrics )
{
QskBoxRenderer::renderFillGeometry(
rect, shapeMetrics, borderMetrics, *geometry() );
markDirty( QSGNode::DirtyGeometry );
geometry()->markVertexDataDirty();
}
} }