using QskMargins
This commit is contained in:
parent
a49ef1daa4
commit
4d40a9bd12
@ -778,7 +778,7 @@ const char* QskSkinnable::skinStateAsPrintable( QskAspect::State state ) const
|
|||||||
return bytes[ counter ].constData();
|
return bytes[ counter ].constData();
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline QMarginsF qskEffectivePadding( const QskSkinnable* skinnable,
|
static inline QskMargins qskEffectivePadding( const QskSkinnable* skinnable,
|
||||||
QskAspect::Aspect aspect, const QSizeF& size, bool inner )
|
QskAspect::Aspect aspect, const QSizeF& size, bool inner )
|
||||||
{
|
{
|
||||||
const auto shape = skinnable->boxShapeHint( aspect ).toAbsolute( size );
|
const auto shape = skinnable->boxShapeHint( aspect ).toAbsolute( size );
|
||||||
@ -796,7 +796,7 @@ static inline QMarginsF qskEffectivePadding( const QskSkinnable* skinnable,
|
|||||||
const qreal bottom = qMax( shape.radius( Qt::BottomLeftCorner ).height(),
|
const qreal bottom = qMax( shape.radius( Qt::BottomLeftCorner ).height(),
|
||||||
shape.radius( Qt::BottomRightCorner ).height() );
|
shape.radius( Qt::BottomRightCorner ).height() );
|
||||||
|
|
||||||
QMarginsF padding( left, top, right, bottom );
|
QskMargins padding( left, top, right, bottom );
|
||||||
|
|
||||||
// half of the border goes to the inner side
|
// half of the border goes to the inner side
|
||||||
const auto borderMargins = borderMetrics.toAbsolute( size ).widths() * 0.5;
|
const auto borderMargins = borderMetrics.toAbsolute( size ).widths() * 0.5;
|
||||||
@ -816,7 +816,7 @@ static inline QMarginsF qskEffectivePadding( const QskSkinnable* skinnable,
|
|||||||
|
|
||||||
const auto paddingHint = skinnable->paddingHint( aspect );
|
const auto paddingHint = skinnable->paddingHint( aspect );
|
||||||
|
|
||||||
return QMarginsF(
|
return QskMargins(
|
||||||
qMax( padding.left(), paddingHint.left() ),
|
qMax( padding.left(), paddingHint.left() ),
|
||||||
qMax( padding.top(), paddingHint.top() ),
|
qMax( padding.top(), paddingHint.top() ),
|
||||||
qMax( padding.right(), paddingHint.right() ),
|
qMax( padding.right(), paddingHint.right() ),
|
||||||
@ -833,26 +833,27 @@ QMarginsF QskSkinnable::innerPadding(
|
|||||||
QSizeF QskSkinnable::innerBoxSize(
|
QSizeF QskSkinnable::innerBoxSize(
|
||||||
QskAspect::Aspect aspect, const QSizeF& outerBoxSize ) const
|
QskAspect::Aspect aspect, const QSizeF& outerBoxSize ) const
|
||||||
{
|
{
|
||||||
const QMarginsF m = qskEffectivePadding( this, aspect, outerBoxSize, true );
|
const auto pd = qskEffectivePadding( this, aspect, outerBoxSize, true );
|
||||||
|
|
||||||
return QSizeF( outerBoxSize.width() - m.left() - m.right(),
|
return QSizeF( outerBoxSize.width() - pd.width(),
|
||||||
outerBoxSize.height() - m.top() - m.bottom() );
|
outerBoxSize.height() - pd.height() );
|
||||||
}
|
}
|
||||||
|
|
||||||
QRectF QskSkinnable::innerBox(
|
QRectF QskSkinnable::innerBox(
|
||||||
QskAspect::Aspect aspect, const QRectF& outerBox ) const
|
QskAspect::Aspect aspect, const QRectF& outerBox ) const
|
||||||
{
|
{
|
||||||
const QMarginsF m = qskEffectivePadding( this, aspect, outerBox.size(), true );
|
const auto pd = qskEffectivePadding( this, aspect, outerBox.size(), true );
|
||||||
return outerBox.marginsRemoved( m );
|
return outerBox.marginsRemoved( pd );
|
||||||
}
|
}
|
||||||
|
|
||||||
QSizeF QskSkinnable::outerBoxSize(
|
QSizeF QskSkinnable::outerBoxSize(
|
||||||
QskAspect::Aspect aspect, const QSizeF& innerBoxSize ) const
|
QskAspect::Aspect aspect, const QSizeF& innerBoxSize ) const
|
||||||
{
|
{
|
||||||
const QMarginsF m = qskEffectivePadding( this, aspect, innerBoxSize, false );
|
const auto pd = qskEffectivePadding( this, aspect, innerBoxSize, false );
|
||||||
|
|
||||||
return QSizeF( innerBoxSize.width() + m.left() + m.right(),
|
// since Qt 5.14 we would have QSizeF::grownBy !
|
||||||
innerBoxSize.height() + m.top() + m.bottom() );
|
return QSizeF( innerBoxSize.width() + pd.width(),
|
||||||
|
innerBoxSize.height() + pd.height() );
|
||||||
}
|
}
|
||||||
|
|
||||||
QRectF QskSkinnable::outerBox(
|
QRectF QskSkinnable::outerBox(
|
||||||
|
Loading…
x
Reference in New Issue
Block a user