void paint() { QPainter painter(mWidget); QRect rect = mWidget->rect(); QColor color; color = mShadows.value(ShadowFilter::LeftEdge, Qt::transparent); paintShadow(&painter, color, rect.topLeft(), 1, 0); color = mShadows.value(ShadowFilter::TopEdge, Qt::transparent); paintShadow(&painter, color, rect.topLeft(), 0, 1); color = mShadows.value(ShadowFilter::RightEdge, Qt::transparent); paintShadow(&painter, color, rect.topRight(), -1, 0); color = mShadows.value(ShadowFilter::BottomEdge, Qt::transparent); paintShadow(&painter, color, rect.bottomLeft(), 0, -1); }
void KoShapeShadow::Private::paintGroupShadow(KoShapeGroup *group, QPainter &painter, const KoViewConverter &converter) { QList<KoShape*> shapes = group->shapes(); foreach(KoShape *child, shapes) { // we paint recursively here, so we do not have to check recursively for visibility if (!child->isVisible()) continue; painter.save(); //apply group child's transformation painter.setTransform(child->absoluteTransformation(&converter), true); paintShadow(child, painter, converter); painter.restore(); } }