make QskTickmarksMetrics default comparable
This commit is contained in:
parent
b90c7a3cf2
commit
6ed9d1f50f
|
@ -69,6 +69,11 @@ inline constexpr bool qskFuzzyCompare( qreal value1, qreal value2 )
|
|||
return qFuzzyCompare( value1, value2 );
|
||||
}
|
||||
|
||||
inline constexpr bool qskConstrainedRatio( qreal ratio )
|
||||
{
|
||||
return qBound( 0.0, ratio, 1.0 );
|
||||
}
|
||||
|
||||
QSK_EXPORT qreal qskFuzzyFloor( qreal value, qreal stepSize );
|
||||
QSK_EXPORT qreal qskFuzzyCeil( qreal value, qreal stepSize );
|
||||
|
||||
|
|
|
@ -41,16 +41,16 @@ class QSK_EXPORT QskTickmarksMetrics
|
|||
Q_REQUIRED_RESULT constexpr qreal& operator[]( int index ) noexcept;
|
||||
|
||||
private:
|
||||
qreal m_minorRatio = 0.7;
|
||||
qreal m_mediumRatio = 0.85;
|
||||
qreal m_majorRatio = 1.0;
|
||||
qreal m_minorRatio = 0.0;
|
||||
qreal m_mediumRatio = 0.0;
|
||||
qreal m_majorRatio = 0.0;
|
||||
};
|
||||
|
||||
inline constexpr QskTickmarksMetrics::QskTickmarksMetrics(
|
||||
qreal minorRatio, qreal mediumRatio, qreal majorRatio ) noexcept
|
||||
: m_minorRatio( minorRatio )
|
||||
, m_mediumRatio( mediumRatio )
|
||||
, m_majorRatio( majorRatio )
|
||||
: m_minorRatio( qskConstrainedRatio(minorRatio) )
|
||||
, m_mediumRatio( qskConstrainedRatio(mediumRatio) )
|
||||
, m_majorRatio( qskConstrainedRatio(majorRatio) )
|
||||
{
|
||||
}
|
||||
|
||||
|
@ -71,17 +71,17 @@ inline constexpr qreal QskTickmarksMetrics::minorRatio() const noexcept
|
|||
|
||||
inline constexpr void QskTickmarksMetrics::setMajorRatio( qreal ratio ) noexcept
|
||||
{
|
||||
m_majorRatio = qBound( 0.0, ratio, 1.0 );
|
||||
m_majorRatio = qskConstrainedRatio( ratio );
|
||||
}
|
||||
|
||||
inline constexpr void QskTickmarksMetrics::setMediumRatio( qreal ratio ) noexcept
|
||||
{
|
||||
m_mediumRatio = qBound( 0.0, ratio, 1.0 );
|
||||
m_mediumRatio = qskConstrainedRatio( ratio );
|
||||
}
|
||||
|
||||
inline constexpr void QskTickmarksMetrics::setMinorRatio( qreal ratio ) noexcept
|
||||
{
|
||||
m_minorRatio = qBound( 0.0, ratio, 1.0 );
|
||||
m_minorRatio = qskConstrainedRatio( ratio );
|
||||
}
|
||||
|
||||
inline constexpr bool QskTickmarksMetrics::operator==(
|
||||
|
|
|
@ -54,10 +54,17 @@ QskTickmarksNode::~QskTickmarksNode()
|
|||
void QskTickmarksNode::update(
|
||||
const QColor& color, const QRectF& rect,
|
||||
const QskIntervalF& boundaries, const QskScaleTickmarks& tickmarks,
|
||||
int lineWidth, Qt::Orientation orientation, Qt::Alignment alignment, const QskTickmarksMetrics& metrics )
|
||||
int lineWidth, Qt::Orientation orientation, Qt::Alignment alignment, QskTickmarksMetrics metrics )
|
||||
{
|
||||
Q_D( QskTickmarksNode );
|
||||
|
||||
if ( metrics == QskTickmarksMetrics{} )
|
||||
{
|
||||
metrics[QskScaleTickmarks::MinorTick] = qskTickFactor( QskScaleTickmarks::MinorTick );
|
||||
metrics[QskScaleTickmarks::MediumTick] = qskTickFactor( QskScaleTickmarks::MediumTick );
|
||||
metrics[QskScaleTickmarks::MajorTick] = qskTickFactor( QskScaleTickmarks::MajorTick );
|
||||
}
|
||||
|
||||
if( lineWidth != d->lineWidth )
|
||||
{
|
||||
d->lineWidth = lineWidth;
|
||||
|
|
|
@ -27,7 +27,7 @@ class QSK_EXPORT QskTickmarksNode : public QSGGeometryNode
|
|||
|
||||
void update(const QColor&, const QRectF&, const QskIntervalF&,
|
||||
const QskScaleTickmarks&, int tickLineWidth, Qt::Orientation,
|
||||
Qt::Alignment, const QskTickmarksMetrics& metrics );
|
||||
Qt::Alignment, QskTickmarksMetrics metrics );
|
||||
|
||||
private:
|
||||
Q_DECLARE_PRIVATE( QskTickmarksNode )
|
||||
|
|
Loading…
Reference in New Issue