diff --git a/src/common/QskScaleTickmarks.cpp b/src/common/QskScaleTickmarks.cpp index 2aab1fdb..836fc474 100644 --- a/src/common/QskScaleTickmarks.cpp +++ b/src/common/QskScaleTickmarks.cpp @@ -63,7 +63,7 @@ void QskScaleTickmarks::invert() std::reverse( m_ticks[ 2 ].begin(), m_ticks[ 2 ].end() ); } -QskHashValue QskScaleTickmarks::hash( QskHashValue seed ) const +QskHashValue QskScaleTickmarks::hash( QskHashValue seed ) const noexcept { seed = qHash( m_ticks[0], seed ); seed = qHash( m_ticks[1], seed ); diff --git a/src/common/QskScaleTickmarks.h b/src/common/QskScaleTickmarks.h index 45ec5708..0eb859fe 100644 --- a/src/common/QskScaleTickmarks.h +++ b/src/common/QskScaleTickmarks.h @@ -53,7 +53,7 @@ class QSK_EXPORT QskScaleTickmarks void invert(); void reset(); - QskHashValue hash( QskHashValue seed = 0 ) const; + QskHashValue hash( QskHashValue seed = 0 ) const noexcept; private: QVector< qreal > m_ticks[ 3 ]; diff --git a/src/common/QskTextColors.cpp b/src/common/QskTextColors.cpp index 53d80878..787aa258 100644 --- a/src/common/QskTextColors.cpp +++ b/src/common/QskTextColors.cpp @@ -9,7 +9,7 @@ #include #include -QskHashValue QskTextColors::hash( QskHashValue seed ) const +QskHashValue QskTextColors::hash( QskHashValue seed ) const noexcept { const QRgb rgb[] = { textColor.rgba(), styleColor.rgba(), linkColor.rgba() }; return qHashBits( rgb, sizeof( rgb ), seed ); diff --git a/src/common/QskTextColors.h b/src/common/QskTextColors.h index acd334fa..45859135 100644 --- a/src/common/QskTextColors.h +++ b/src/common/QskTextColors.h @@ -25,7 +25,7 @@ class QSK_EXPORT QskTextColors static QVariant interpolate( const QskTextColors&, const QskTextColors&, qreal ratio ); - QskHashValue hash( QskHashValue seed = 0 ) const; + QskHashValue hash( QskHashValue seed = 0 ) const noexcept; QColor textColor; QColor styleColor; diff --git a/src/common/QskTextOptions.cpp b/src/common/QskTextOptions.cpp index 9ab853e2..c3a3c3c1 100644 --- a/src/common/QskTextOptions.cpp +++ b/src/common/QskTextOptions.cpp @@ -50,15 +50,13 @@ QskTextOptions::TextFormat QskTextOptions::effectiveFormat( const QString& text return m_format; } -QskHashValue qHash( const QskTextOptions& options, QskHashValue seed ) noexcept +QskHashValue QskTextOptions::hash( QskHashValue seed ) const noexcept { - QskHashValue hash; - - hash = qHash( options.maximumLineCount(), seed ); - hash = qHash( options.fontSizeMode(), hash ); - hash = qHash( options.wrapMode(), hash ); - hash = qHash( options.format(), hash ); - hash = qHash( options.elideMode(), hash ); + auto hash = qHash( m_maximumLineCount, seed ); + hash = qHash( m_fontSizeMode, hash ); + hash = qHash( m_wrapMode, hash ); + hash = qHash( m_format, hash ); + hash = qHash( m_elideMode, hash ); return hash; } diff --git a/src/common/QskTextOptions.h b/src/common/QskTextOptions.h index 1aeff827..b10b20cb 100644 --- a/src/common/QskTextOptions.h +++ b/src/common/QskTextOptions.h @@ -74,6 +74,8 @@ class QSK_EXPORT QskTextOptions constexpr bool operator==( const QskTextOptions& other ) const noexcept; constexpr bool operator!=( const QskTextOptions& other ) const noexcept; + QskHashValue hash( QskHashValue seed ) const noexcept; + int textFlags() const noexcept; private: @@ -164,8 +166,6 @@ inline constexpr bool QskTextOptions::operator!=( return !( *this == other ); } -QSK_EXPORT QskHashValue qHash( const QskTextOptions&, QskHashValue seed = 0 ) noexcept; - #ifndef QT_NO_DEBUG_STREAM class QDebug; diff --git a/src/nodes/QskTextNode.cpp b/src/nodes/QskTextNode.cpp index 15b211fa..75177271 100644 --- a/src/nodes/QskTextNode.cpp +++ b/src/nodes/QskTextNode.cpp @@ -20,7 +20,7 @@ static inline QskHashValue qskHash( hash = qHash( text, hash ); hash = qHash( font, hash ); - hash = qHash( options, hash ); + hash = options.hash( hash ); hash = qHash( alignment, hash ); hash = qHash( textStyle, hash ); hash = colors.hash( hash );