more C++11 specifier
This commit is contained in:
parent
8ab9c4cddb
commit
cb43ac7dee
@ -54,18 +54,6 @@ void QskBoxShapeMetrics::setRadius( Qt::Corner corner, qreal radiusX, qreal radi
|
||||
qskSetRadius( radiusX, radiusY, m_radii[ corner ] );
|
||||
}
|
||||
|
||||
QskBoxShapeMetrics QskBoxShapeMetrics::transposed() const noexcept
|
||||
{
|
||||
QskBoxShapeMetrics other;
|
||||
|
||||
for ( int i = 0; i < 4; i++ )
|
||||
other.m_radii[ i ] = m_radii[ i ].transposed();
|
||||
|
||||
other.m_sizeMode = m_sizeMode;
|
||||
|
||||
return other;
|
||||
}
|
||||
|
||||
QskBoxShapeMetrics QskBoxShapeMetrics::toAbsolute( const QSizeF& size ) const noexcept
|
||||
{
|
||||
if ( m_sizeMode != Qt::RelativeSize )
|
||||
@ -82,29 +70,29 @@ QskBoxShapeMetrics QskBoxShapeMetrics::toAbsolute( const QSizeF& size ) const no
|
||||
{
|
||||
for ( int i = 0; i < 4; i++ )
|
||||
{
|
||||
auto& radii = absoluted.m_radii[ i ];
|
||||
auto& radius = absoluted.m_radii[ i ];
|
||||
|
||||
const qreal rx = qskAbsoluted( size.width(), radii.width() );
|
||||
const qreal ry = qskAbsoluted( size.height(), radii.height() );
|
||||
const qreal rx = qskAbsoluted( size.width(), radius.width() );
|
||||
const qreal ry = qskAbsoluted( size.height(), radius.height() );
|
||||
|
||||
switch ( m_aspectRatioMode )
|
||||
{
|
||||
case Qt::IgnoreAspectRatio:
|
||||
{
|
||||
radii.setWidth( rx );
|
||||
radii.setHeight( ry );
|
||||
radius.rwidth() = rx;
|
||||
radius.rheight() = ry;
|
||||
break;
|
||||
}
|
||||
case Qt::KeepAspectRatio:
|
||||
{
|
||||
radii.setWidth( std::min( rx, ry ) );
|
||||
radii.setHeight( std::min( rx, ry ) );
|
||||
radius.rwidth() = std::min( rx, ry );
|
||||
radius.rheight() = std::min( rx, ry );
|
||||
break;
|
||||
}
|
||||
case Qt::KeepAspectRatioByExpanding:
|
||||
{
|
||||
radii.setWidth( std::max( rx, ry ) );
|
||||
radii.setHeight( std::max( rx, ry ) );
|
||||
radius.rwidth() = std::max( rx, ry );
|
||||
radius.rheight() = std::max( rx, ry );
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -118,16 +106,17 @@ QskBoxShapeMetrics QskBoxShapeMetrics::toAbsolute( const QSizeF& size ) const no
|
||||
QskBoxShapeMetrics QskBoxShapeMetrics::interpolated(
|
||||
const QskBoxShapeMetrics& to, qreal ratio ) const noexcept
|
||||
{
|
||||
// what about m_aspectRatioMode != to.m_aspectRatioMode ???
|
||||
|
||||
if ( ( *this == to ) || ( m_sizeMode != to.m_sizeMode ) )
|
||||
return to;
|
||||
|
||||
QSizeF radii[ 4 ];
|
||||
radii[ 0 ] = qskInterpolatedSize( m_radii[ 0 ], to.m_radii[ 0 ], ratio );
|
||||
radii[ 1 ] = qskInterpolatedSize( m_radii[ 1 ], to.m_radii[ 1 ], ratio );
|
||||
radii[ 2 ] = qskInterpolatedSize( m_radii[ 2 ], to.m_radii[ 2 ], ratio );
|
||||
radii[ 3 ] = qskInterpolatedSize( m_radii[ 3 ], to.m_radii[ 3 ], ratio );
|
||||
|
||||
return QskBoxShapeMetrics( to.m_sizeMode, radii );
|
||||
return QskBoxShapeMetrics(
|
||||
qskInterpolatedSize( m_radii[ 0 ], to.m_radii[ 0 ], ratio ),
|
||||
qskInterpolatedSize( m_radii[ 1 ], to.m_radii[ 1 ], ratio ),
|
||||
qskInterpolatedSize( m_radii[ 2 ], to.m_radii[ 2 ], ratio ),
|
||||
qskInterpolatedSize( m_radii[ 3 ], to.m_radii[ 3 ], ratio ),
|
||||
to.m_sizeMode, to.m_aspectRatioMode );
|
||||
}
|
||||
|
||||
QVariant QskBoxShapeMetrics::interpolate(
|
||||
|
@ -68,7 +68,7 @@ class QSK_EXPORT QskBoxShapeMetrics
|
||||
|
||||
QskBoxShapeMetrics toAbsolute( const QSizeF& ) const noexcept;
|
||||
|
||||
QskBoxShapeMetrics transposed() const noexcept;
|
||||
constexpr QskBoxShapeMetrics transposed() const noexcept;
|
||||
|
||||
uint hash( uint seed = 0 ) const noexcept;
|
||||
|
||||
@ -77,10 +77,12 @@ class QSK_EXPORT QskBoxShapeMetrics
|
||||
|
||||
private:
|
||||
inline constexpr QskBoxShapeMetrics(
|
||||
Qt::SizeMode sizeMode, const QSizeF radii[ 4 ] ) noexcept
|
||||
: m_radii{ radii[ 0 ], radii[ 1 ], radii[ 2 ], radii[ 3 ] }
|
||||
const QSizeF& topLeft, const QSizeF& topRight,
|
||||
const QSizeF& bottomLeft, const QSizeF& bottomRight,
|
||||
Qt::SizeMode sizeMode, Qt::AspectRatioMode aspectRatioMode ) noexcept
|
||||
: m_radii{ topLeft, topRight, bottomLeft, bottomRight }
|
||||
, m_sizeMode( sizeMode )
|
||||
, m_aspectRatioMode( Qt::KeepAspectRatio )
|
||||
, m_aspectRatioMode( aspectRatioMode )
|
||||
{
|
||||
}
|
||||
|
||||
@ -227,6 +229,14 @@ inline constexpr bool QskBoxShapeMetrics::isRectangle() const noexcept
|
||||
&& ( ( m_radii[ 3 ].width() <= 0.0 ) && ( m_radii[ 3 ].height() <= 0.0 ) ) );
|
||||
}
|
||||
|
||||
inline constexpr QskBoxShapeMetrics QskBoxShapeMetrics::transposed() const noexcept
|
||||
{
|
||||
return QskBoxShapeMetrics(
|
||||
m_radii[ 0 ].transposed(), m_radii[ 1 ].transposed(),
|
||||
m_radii[ 2 ].transposed(), m_radii[ 3 ].transposed(),
|
||||
m_sizeMode, m_aspectRatioMode );
|
||||
}
|
||||
|
||||
#ifndef QT_NO_DEBUG_STREAM
|
||||
|
||||
QSK_EXPORT QDebug operator<<( QDebug, const QskBoxShapeMetrics& );
|
||||
|
Loading…
x
Reference in New Issue
Block a user