code of QskBoxNode/QskArcNode aligned
This commit is contained in:
parent
25b9423ae4
commit
a946394e9d
@ -120,7 +120,10 @@ void QskArcNode::setArcData( const QRectF& rect, const QskArcMetrics& arcMetrics
|
|||||||
|
|
||||||
if ( hasBorder && hasFilling )
|
if ( hasBorder && hasFilling )
|
||||||
{
|
{
|
||||||
if ( !QskArcRenderer::isGradientSupported( rect, metricsArc, gradient ) )
|
const bool doCombine = arcNode->hasHint( QskFillNode::PreferColoredGeometry )
|
||||||
|
&& QskArcRenderer::isGradientSupported( rect, metricsArc, gradient );
|
||||||
|
|
||||||
|
if ( !doCombine )
|
||||||
fillNode = qskNode< QskArcRenderNode >( this, FillRole );
|
fillNode = qskNode< QskArcRenderNode >( this, FillRole );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -70,7 +70,10 @@ void QskBoxNode::updateNode( const QRectF& rect,
|
|||||||
|
|
||||||
if ( !rect.isEmpty() )
|
if ( !rect.isEmpty() )
|
||||||
{
|
{
|
||||||
const auto hasShadow = !shadowMetrics.isNull()
|
const auto hasFilling = gradient.isVisible();
|
||||||
|
const auto hasBorder = !borderMetrics.isNull() && borderColors.isVisible();
|
||||||
|
|
||||||
|
const auto hasShadow = hasFilling && !shadowMetrics.isNull()
|
||||||
&& QskRgb::isVisible( shadowColor );
|
&& QskRgb::isVisible( shadowColor );
|
||||||
|
|
||||||
if ( hasShadow )
|
if ( hasShadow )
|
||||||
@ -80,23 +83,27 @@ void QskBoxNode::updateNode( const QRectF& rect,
|
|||||||
shape, shadowMetrics.blurRadius(), shadowColor );
|
shape, shadowMetrics.blurRadius(), shadowColor );
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( QskBoxRectangleNode::isCombinedGeometrySupported( gradient ) )
|
if ( hasBorder || hasFilling )
|
||||||
{
|
{
|
||||||
rectNode = qskNode< QskBoxRectangleNode >( this, BoxRole );
|
rectNode = qskNode< QskBoxRectangleNode >( this, BoxRole );
|
||||||
rectNode->updateBox( rect, shape, borderMetrics, borderColors, gradient );
|
|
||||||
|
if ( hasBorder && hasFilling )
|
||||||
|
{
|
||||||
|
const bool doCombine = rectNode->hasHint( QskFillNode::PreferColoredGeometry )
|
||||||
|
&& QskBoxRectangleNode::isCombinedGeometrySupported( gradient );
|
||||||
|
|
||||||
|
if ( !doCombine )
|
||||||
|
fillNode = qskNode< QskBoxRectangleNode >( this, FillRole );
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( fillNode )
|
||||||
|
{
|
||||||
|
rectNode->updateBorder( rect, shape, borderMetrics, borderColors );
|
||||||
|
fillNode->updateFilling( rect, shape, borderMetrics, gradient );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if ( !borderMetrics.isNull() && borderColors.isVisible() )
|
rectNode->updateBox( rect, shape, borderMetrics, borderColors, gradient );
|
||||||
{
|
|
||||||
rectNode = qskNode< QskBoxRectangleNode >( this, BoxRole );
|
|
||||||
rectNode->updateBorder( rect, shape, borderMetrics, borderColors );
|
|
||||||
}
|
|
||||||
|
|
||||||
if ( gradient.isVisible() )
|
|
||||||
{
|
|
||||||
fillNode = qskNode< QskBoxRectangleNode >( this, FillRole );
|
|
||||||
fillNode->updateFilling( rect, shape, borderMetrics, gradient );
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user