Shape shadows

Inge Wallin inge at lysator.liu.se
Tue May 1 23:16:34 BST 2012


https://bugs.kde.org/show_bug.cgi?id=260535 has the title:

kpresenter:openoffice:Shadow of the picture is not getting displayed.

I had a look at this, and the reason is the following code in void 
KoShapeShadow::Private::paintShadow() at line 86 in 
libs/flake/KoShapeShadow.cpp:

    if (shape->background()) {
        painter.save();
        KoShape::applyConversion(painter, converter);
        painter.setBrush(QBrush(color));
        QPainterPath path(shape->outline());
        KoPathShape * pathShape = dynamic_cast<KoPathShape*>(shape);
        if (pathShape)
            path.setFillRule(pathShape->fillRule());
        painter.drawPath(path);
        painter.restore();
    }

There is a similar test for stroke right behind it.

This means that only shapes with a defined background can ever get a shadow. I 
don't really see the reason for this.  Shouldn't it be enough to remove the 
test to make it work everywhere? What would be the drawbacks?



More information about the calligra-devel mailing list