All pastes #908551 Raw Edit

Mine

public text v1 · immutable
·published 2008-02-18 15:56 UTC
rendered paste body
qreal 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;
}