rendered paste bodyqreal Layout::margin(Plasma::MarginEdge edge) const
{
qreal m = 0;
switch (edge) {
case LeftMargin:
getContentsMargins(&m,0,0,0);
case TopMargin:
getContentsMargins(0,&m,0,0);
case RightMargin:
getContentsMargins(0,0,&m,0);
case BottomMargin:
getContentsMargins(0,0,0,&m);
}
return m;
}
QRectF Layout::adjustToMargins(const QRectF &rect) const
{
QRectF r(rect);
qreal leftMargin,topMargin,rightMargin,bottomMargin;
getContentsMargins(&leftMargin,&topMargin,&rightMargin,&bottomMargin);
if (r.x() <= leftMargin) {
r.setX(leftMargin);
}
if (r.y() <= topMargin) {
r.setY(topMargin);
}
QPointF tl = topLeft();
qreal maxWidth = geometry().size().width() + tl.x() - leftMargin - rightMargin;
if (r.width() > maxWidth) {
r.setWidth(maxWidth);
}
qreal maxHeight = geometry().size().height() + tl.y() - topMargin - bottomMargin;
if (r.height() > maxHeight) {
r.setHeight(maxHeight);
}
return r;
}