code moved to QskArcMetrics
This commit is contained in:
parent
8775976f0b
commit
69098643ff
@ -43,20 +43,6 @@ static inline QskGradient qskEffectiveGradient(
|
||||
return gradient;
|
||||
}
|
||||
|
||||
static inline QskArcMetrics qskEffectiveMetrics(
|
||||
const QskArcMetrics& metrics, const QRectF& rect )
|
||||
{
|
||||
if ( metrics.sizeMode() == Qt::RelativeSize )
|
||||
{
|
||||
const auto rx = 0.5 * rect.width();
|
||||
const auto ry = 0.5 * rect.height();
|
||||
|
||||
return metrics.toAbsolute( rx, ry );
|
||||
}
|
||||
|
||||
return metrics;
|
||||
}
|
||||
|
||||
static inline QRectF qskEffectiveRect(
|
||||
const QRectF& rect, const qreal borderWidth )
|
||||
{
|
||||
@ -98,7 +84,7 @@ void QskArcNode::setArcData( const QRectF& rect, const QskArcMetrics& arcMetrics
|
||||
const qreal borderWidth, const QColor& borderColor, const QskGradient& fillGradient,
|
||||
const QColor& shadowColor, const QskShadowMetrics& shadowMetrics )
|
||||
{
|
||||
const auto metricsArc = qskEffectiveMetrics( arcMetrics, rect );
|
||||
const auto metricsArc = arcMetrics.toAbsolute( rect.size() );
|
||||
const auto gradient = qskEffectiveGradient( fillGradient, metricsArc );
|
||||
|
||||
auto shadowNode = static_cast< QskArcShadowNode* >(
|
||||
@ -111,7 +97,7 @@ void QskArcNode::setArcData( const QRectF& rect, const QskArcMetrics& arcMetrics
|
||||
QskSGNode::findChildNode( this, BorderRole ) );
|
||||
|
||||
const auto arcRect = qskEffectiveRect( rect, borderWidth );
|
||||
if ( arcRect.isEmpty() )
|
||||
if ( metricsArc.isNull() || arcRect.isEmpty() )
|
||||
{
|
||||
delete shadowNode;
|
||||
delete fillNode;
|
||||
@ -119,7 +105,7 @@ void QskArcNode::setArcData( const QRectF& rect, const QskArcMetrics& arcMetrics
|
||||
return;
|
||||
}
|
||||
|
||||
const auto isFillNodeVisible = gradient.isVisible() && !metricsArc.isNull();
|
||||
const auto isFillNodeVisible = gradient.isVisible();
|
||||
const auto isStrokeNodeVisible = ( borderWidth > 0.0 ) && ( borderColor.alpha() > 0 );
|
||||
const auto isShadowNodeVisible = isFillNodeVisible &&
|
||||
shadowColor.isValid() && ( shadowColor.alpha() > 0.0 );
|
||||
|
Loading…
x
Reference in New Issue
Block a user