Bug 277540 - Some autoshapes look wrong
Summary: Some autoshapes look wrong
Alias: None
Product: calligrastage
Classification: Unclassified
Component: general (show other bugs)
Version: SVN
Platform: Compiled Sources Linux
: NOR normal (vote)
Target Milestone: ---
Assignee: LukasT
Depends on:
Reported: 2011-07-11 12:02 UTC by LukasT
Modified: 2011-11-29 09:25 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:

Broken autoshapes from bug 274278 (57.00 KB, application/vnd.ms-powerpoint)
2011-07-11 12:02 UTC, LukasT

Note You need to log in before you can comment on or make changes to this bug.
Description LukasT 2011-07-11 12:02:11 UTC
Created attachment 61775 [details]
Broken autoshapes from bug 274278

Version:           svn (using KDE 4.6.4) 
OS:                Linux

The autoshapes are represented as enhanced path equations and commands. These commands are taken from OOo 3.3.0.

Calligra displays them wrong.

o same shapes have wrong fill (autoshape donut)
o shading is not done - draw:type is not implemented in calligra (action buttons slide)
o distorted shapes (basic shapes slide: block arrows, heart)
o wrong size of the shapes (flowchart slide)
o connectors are not implemented properly (connectors slide)
o sometimes stroke is present when it should not be (callouts)

Reproducible: Always

Steps to Reproduce:
See attached document in MS Powerpoint and in Calligra Stage and in OpenOffice Impress

Expected Results:  
Autoshapes are displayed properly.
Comment 1 LukasT 2011-07-14 09:14:47 UTC
Git commit c989fdab48ac0168811e1c549651e66be03f199c by Lukáš Tvrdý.
Committed on 14/07/2011 at 11:05.
Pushed by lukast into branch 'master'.

Fix parsing of the negative coordinates in enhanced-path

o fixes distortion in the heart autoshape


M  +6    -6    plugins/pathshapes/enhancedpath/EnhancedPathShape.cpp     

Comment 2 LukasT 2011-07-14 12:12:18 UTC
Git commit b9e60bf93940e505064302adbb215022e5171f59 by Lukáš Tvrdý.
Committed on 14/07/2011 at 14:06.
Pushed by lukast into branch 'master'.

Fix W and V command from enhanced-path

"Line is then drawn from the current point
to the start angle of the arc"
So the code for start point is the same as for A and B.

o fixes block arc shape


M  +12   -32   plugins/pathshapes/enhancedpath/EnhancedPathCommand.cpp     

Comment 3 LukasT 2011-07-18 12:29:22 UTC
Git commit 9fed5023f9cd1517f4fd050ad85e3ae231223627 by Lukáš Tvrdý.
Committed on 18/07/2011 at 14:27.
Pushed by lukast into branch 'master'.

Add correct fill rule for donut shape.


M  +3    -1    filters/libmso/ODrawToOdf.h
M  +10   -2    filters/libmso/ODrawToOdf.cpp

Comment 4 LukasT 2011-07-18 13:30:45 UTC
Git commit 6de876c0abc1d8dc50a6e9a9a360b9c505052b97 by Lukáš Tvrdý.
Committed on 18/07/2011 at 15:26.
Pushed by lukast into branch 'master'.

Fix oval callout shape equation

OpenOffice equation was wrong. 'W' command specification
consists of "line is then drawn from the current point to
the start angle of the arc" but OOo does moveTo instead
and that is specification of 'V' command.


M  +1    -1    filters/libmso/shapes2.cpp

Comment 5 LukasT 2011-07-20 11:55:57 UTC
Git commit 1f06a4c19f040e423543c1b0f3420b37b42db693 by Lukáš Tvrdý.
Committed on 20/07/2011 at 13:50.
Pushed by lukast into branch 'master'.

Make action buttons visible

Use even-odd fill rule for action buttons.
The shapes look sometimes worse from estetical
point of view, but the information value is
more important.

Better results could be achieved with implementing
draw:type in the engine.

For comparison:

fill-rule: nonzero
fill-rule: evenodd


M  +20   -2    filters/libmso/ODrawToOdf.cpp

Comment 6 LukasT 2011-07-26 08:41:06 UTC
Git commit 3de4d0265d706a17912b278cecdf27c33c79fd66 by Lukáš Tvrdý.
Committed on 26/07/2011 at 10:12.
Pushed by lukast into branch 'master'.

For T,U command the w and h is actually rx, ry

Will be more clear in the ODF specification very soon.

Fixes smiley shape, small ellipses, ring, flow-or,
flowchart-summing-junction, flowchart-connector..


M  +1    -1    plugins/pathshapes/enhancedpath/EnhancedPathCommand.cpp

Comment 7 LukasT 2011-07-26 10:22:23 UTC
Git commit c5f9943f28bf15f7acdbc5a9eaed438ff1374b15 by Lukáš Tvrdý.
Committed on 26/07/2011 at 12:11.
Pushed by lukast into branch 'master'.

Fix fill rule for NoSmoking (forbidden) shape


M  +1    -0    filters/libmso/ODrawToOdf.cpp

Comment 8 LukasT 2011-07-27 14:22:24 UTC
Git commit c8e8920b728edcf114deb26420d98d87da520094 by Lukáš Tvrdý.
Committed on 27/07/2011 at 16:01.
Pushed by lukast into branch 'master'.

Fix processing of the modifiers

The modifiers are 16 bit shifted.
Similarlity with the circular arrow shape.

Improves the arc shape rendering


M  +9    -1    filters/libmso/shapes2.cpp

Comment 9 LukasT 2011-07-29 07:57:43 UTC
Git commit 0217f66f7fea6f70bd5eae94b0f98805678f576c by Lukáš Tvrdý.
Committed on 29/07/2011 at 09:48.
Pushed by lukast into branch 'master'.

Fix the computation of the arc angles

Fixes curved down arrow shape


M  +15   -2    plugins/pathshapes/enhancedpath/EnhancedPathCommand.cpp

Comment 10 LukasT 2011-07-29 08:42:30 UTC
Git commit 1597297738b64ec97a1fe3a1468a4b734c278910 by Lukáš Tvrdý.
Committed on 29/07/2011 at 10:40.
Pushed by lukast into branch 'master'.

Fix wrong path commands.

Fixes left, right and up curved arrow.


M  +3    -3    filters/libmso/shapes2.cpp

Comment 11 LukasT 2011-07-29 08:59:58 UTC
The shapes are geometrically correct now.

ODF draw:type attribute behaviour and arrow heads are
distinct tasks. Separated bug reports should be filled for those.
Comment 12 swathi 2011-11-07 10:23:46 UTC
Verified in aac9b32c182585abca4455b7c67016d61340a555.
Arrow heads will be tracked as a seperate bug.