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