Review Request: nofill and nostroke support in enhanced path from odf
Lukáš Tvrdý
lukast.dev at gmail.com
Mon Jul 11 11:34:05 BST 2011
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/101873/
-----------------------------------------------------------
(Updated July 11, 2011, 10:34 a.m.)
Review request for Calligra, Jan Hambrecht and Thorsten Zachmann.
Changes
-------
I fixed the issues that Zagge pointed out.
One dispute was how to allow clients of KoSubpath to manipulate with the points of the KoSubpath
by index. Previously the data structure QList was fully exposed. Now just some subset of the operations
is exposed to preserve encapsulation. I added operator [] to KoSubpath. Boemann suggested to use pointAt(int i),
but I decided for operator to stay partially "source compatible" with plugins like StarShape, RectangleShape and EllipseShape.
Testing
o checked unit tests -- no regression found by unit tests
o manually checked the output from the bug 239561(autoshape different types.pptx)
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)
-----
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/20110711/6c0355a2/attachment.htm>
More information about the calligra-devel
mailing list