Paint behind the window if requested in Aurorae.

svn path=/trunk/KDE/kdebase/workspace/; revision=1054408
This commit is contained in:
Martin Gräßlin 2009-11-26 00:09:48 +00:00
parent 0a8c06b054
commit df995efba0

View file

@ -751,23 +751,26 @@ void AuroraeClient::paintEvent(QPaintEvent *event)
// restrict painting on the decoration - no need to paint behind the window
int left, right, top, bottom;
decoration()->borders(left, right, top, bottom);
painter.setClipping(true);
painter.setClipRect(0, 0,
left + conf.paddingLeft(),
height() + conf.paddingTop() + conf.paddingBottom(),
Qt::ReplaceClip);
painter.setClipRect(0, 0,
width() + conf.paddingLeft() + conf.paddingRight(),
top + conf.paddingTop(),
Qt::UniteClip);
painter.setClipRect(width() - right + conf.paddingLeft(), 0,
right + conf.paddingRight(),
height() + conf.paddingTop() + conf.paddingBottom(),
Qt::UniteClip);
painter.setClipRect(0, height() - bottom + conf.paddingTop(),
width() + conf.paddingLeft() + conf.paddingRight(),
bottom + conf.paddingBottom(),
Qt::UniteClip);
if (!compositingActive() && !transparentRect().isNull()) {
// only clip when compositing is not active and we don't extend into the client
painter.setClipping(true);
painter.setClipRect(0, 0,
left + conf.paddingLeft(),
height() + conf.paddingTop() + conf.paddingBottom(),
Qt::ReplaceClip);
painter.setClipRect(0, 0,
width() + conf.paddingLeft() + conf.paddingRight(),
top + conf.paddingTop(),
Qt::UniteClip);
painter.setClipRect(width() - right + conf.paddingLeft(), 0,
right + conf.paddingRight(),
height() + conf.paddingTop() + conf.paddingBottom(),
Qt::UniteClip);
painter.setClipRect(0, height() - bottom + conf.paddingTop(),
width() + conf.paddingLeft() + conf.paddingRight(),
bottom + conf.paddingBottom(),
Qt::UniteClip);
}
// top
if (maximized) {