diff --git a/src/common/QskIntervalF.cpp b/src/common/QskIntervalF.cpp index 7be71c8b..e94f7769 100644 --- a/src/common/QskIntervalF.cpp +++ b/src/common/QskIntervalF.cpp @@ -7,6 +7,7 @@ #include "QskFunctions.h" #include +#include #include static void qskRegisterIntervalF() @@ -226,6 +227,13 @@ bool QskIntervalF::fuzzyIsBoundary( qreal value ) const || qskFuzzyCompare( value, m_upperBound ); } +QRectF QskIntervalF::toRect( const QskIntervalF& intervalX, + const QskIntervalF& intervalY ) noexcept +{ + return QRectF( intervalX.lowerBound(), intervalY.lowerBound(), + intervalX.width(), intervalY.width() ).normalized(); +} + #ifndef QT_NO_DEBUG_STREAM #include diff --git a/src/common/QskIntervalF.h b/src/common/QskIntervalF.h index 0119299a..7c44b0ea 100644 --- a/src/common/QskIntervalF.h +++ b/src/common/QskIntervalF.h @@ -11,6 +11,7 @@ #include class QVariant; +class QRectF; class QSK_EXPORT QskIntervalF { @@ -82,6 +83,8 @@ class QSK_EXPORT QskIntervalF QskIntervalF interpolated( const QskIntervalF&, qreal progress ) const noexcept; + static QRectF toRect( const QskIntervalF&, const QskIntervalF& ) noexcept; + static QVariant interpolate( const QskIntervalF&, const QskIntervalF&, qreal progress ) noexcept;