Review Request: nofill and nostroke support in enhanced path from odf
Lukáš Tvrdý
lukast.dev at gmail.com
Thu Jul 14 09:25:41 BST 2011
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/101873/
-----------------------------------------------------------
(Updated July 14, 2011, 8:25 a.m.)
Review request for Calligra, Jan Hambrecht and Thorsten Zachmann.
Changes
-------
o implement all changes suggested by jaham
o render the shape as before as outline
I think this patch is useful as it brings improvements to the data model of the KoPathShape and KoSubpath
and it adds the attributes of the fill and stroke to KoSubpath.
The rendering per path failed so new approach has to be found - I reverted the painting code back to paint KoPathShape::outline(),
which means we render the shape as one path, so it works as before.
To support nofill, nostroke, we have to find a way how to render the subpaths.
There is ongoing thread on the calligra-devel [1].
[1] http://mail.kde.org/pipermail/calligra-devel/2011-July/001974.html
Summary
-------
This patch implements S and F commands in draw:enhanced-path. So far there were no support for this.
The idea is that the path is now rendered per sub-path, because S (no stroke) and F (no fill) can be
specified per subpath in the draw:enhanced-path.
I changed typedef KoSubpath to standalone class as it needs attributes about no fill and no stroke.
I moved the code that operates only on KoSubpath to that class from KoPathShape.
Then I render the output per QPainterPath with appropriate attributes (I turn off the pen temporary if no stroke and turn of the brush if no fill)
This addresses bug 239561.
http://bugs.kde.org/show_bug.cgi?id=239561
Diffs (updated)
-----
karbon/plugins/tools/CalligraphyTool/KarbonSimplifyPath.cpp d292508
libs/flake/CMakeLists.txt b9f388f
libs/flake/KoPathShape.h 8b54f26
libs/flake/KoPathShape.cpp da6c928
libs/flake/KoPathShape_p.h e1e2843
libs/flake/KoSubpath.h PRE-CREATION
libs/flake/KoSubpath.cpp PRE-CREATION
libs/flake/commands/KoSubpathRemoveCommand.cpp 79894f0
plugins/pathshapes/ellipse/EllipseShape.cpp 0576f5d
plugins/pathshapes/enhancedpath/EnhancedPathCommand.cpp a58d67e
plugins/pathshapes/enhancedpath/EnhancedPathShape.cpp 46d76de
plugins/pathshapes/star/StarShape.cpp 5fc8562
Diff: http://git.reviewboard.kde.org/r/101873/diff
Testing
-------
>From bug 239561:
a) before patch http://wstaw.org/m/2011/07/07/nofill_nostroke_example_before.png
b) with my patch http://wstaw.org/m/2011/07/07/nofill_nostroke_example_after.png
I first managed to break several unit tests (TestPointMergeCommand and TestPathShape),
but I fixed all the problems and no tests are broken by this patch now.
Thanks,
Lukáš
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/calligra-devel/attachments/20110714/4c723422/attachment.htm>
More information about the calligra-devel
mailing list