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