diff --git a/src/nodes/QskScaleRenderer.cpp b/src/nodes/QskScaleRenderer.cpp index 91447802..f2244281 100644 --- a/src/nodes/QskScaleRenderer.cpp +++ b/src/nodes/QskScaleRenderer.cpp @@ -300,15 +300,16 @@ QVariant QskScaleRenderer::labelAt( qreal pos ) const return QString::number( pos, 'g' ); } -qreal QskScaleRenderer::maxLabelWidth() const +QSizeF QskScaleRenderer::boundingLabelSize() const { const auto ticks = m_tickmarks.majorTicks(); if ( ticks.isEmpty() ) - return 0.0; + return QSizeF( 0.0, 0.0 ); const QFontMetricsF fm( m_font ); qreal maxWidth = 0.0; + const qreal h = fm.height(); for ( auto tick : ticks ) { @@ -327,12 +328,12 @@ qreal QskScaleRenderer::maxLabelWidth() const const auto graphic = label.value< QskGraphic >(); if ( !graphic.isNull() ) { - w = graphic.widthForHeight( fm.height() ); + w = graphic.widthForHeight( h ); } } maxWidth = qMax( w, maxWidth ); } - return maxWidth; + return QSizeF( maxWidth, h ); } diff --git a/src/nodes/QskScaleRenderer.h b/src/nodes/QskScaleRenderer.h index 8a6515cd..9e70feea 100644 --- a/src/nodes/QskScaleRenderer.h +++ b/src/nodes/QskScaleRenderer.h @@ -42,7 +42,7 @@ class QSK_EXPORT QskScaleRenderer const QRectF& tickmarksRect, const QRectF& labelsRect, QSGNode* ); virtual QVariant labelAt( qreal pos ) const; - qreal maxLabelWidth() const; + QSizeF boundingLabelSize() const; virtual QSGNode* updateTicksNode( const QskSkinnable*, const QRectF&, QSGNode* ) const;