示例#1
0
    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);
    }
示例#2
0
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();
    }
}