Calligra/Projects/Autoshapes: Difference between revisions

From KDE Community Wiki
m (fix path to filters/libmso/shapes.cpp and put link to repo behind)
 
Line 26: Line 26:
<p>
<p>
The code that handles autoshapes in *.doc and *.ppt files
The code that handles autoshapes in *.doc and *.ppt files
is in src/calligra/filters/libmso/shapes.cpp
is in [https://projects.kde.org/projects/calligra/repository/revisions/master/show/filters/libmso filters/libmso/shapes.cpp]
</p>
</p>



Latest revision as of 21:26, 27 December 2012

What are autoshapes

Autoshapes are popular shapes used often in MS Powerpoint presentations and MS Word documents. They allow you to quickly add some shapes like arrows, rectangles, cubes, connections to the shapes, balloons etc.

Basically it is set of custom geometry shapes.

You don't have to create your shapes with some vector graphic application, you can choose some shape from the limited set of the shapes in the menus under categories.

Where is the code and how can you help

Bug hunters

Create the files for non-supported shapes and report them as bugs. The documentation is at Microsoft MSDN [1]. Download "Microsoft Office File Formats Documentation" zip file and there important file is [MS-ODRAW].pdf, page 505. There starts the description of the shapes (especially how they look).

[1] http://msdn.microsoft.com/en-us/library/cc313118%28v=office.12%29.aspx

For developer

The code that handles autoshapes in *.doc and *.ppt files is in filters/libmso/shapes.cpp

The shapes has to be computed sometimes, sometimes they have to be created with some svg generator. OpenOffice has good support of the shapes, usually you can open the doc/ppt file with OpenOffice and save it as odt/odp and use the svg result saved in the odt/odp and then you rewrite it into code so that it is generic (e.g. position, scale, rotation will change for the shape)

TODO List

Status Description Notes
DONE msosptNotPrimitive Add bug number
DONE msosptRectangle Add bug number
DONE msosptRoundRectangle Add bug number
DONE msosptEllipse Add bug number
DONE msosptDiamond Add bug number
DONE msosptIsoscelesTriangle Add bug number
DONE msosptRightTriangle Add bug number
DONE msosptParallelogram Add bug number
DONE msosptTrapezoid Add bug number
DONE msosptHexagon Add bug number
DONE msosptOctagon Add bug number
TO DO msosptPlus Add bug number <{{{3}}}>
TO DO msosptStar Add bug number <{{{3}}}>
TO DO msosptArrow Add bug number <{{{3}}}>
TO DO msosptThickArrow Add bug number <{{{3}}}>
TO DO msosptHomePlate Add bug number <{{{3}}}>
TO DO msosptCube Add bug number <{{{3}}}>
TO DO msosptBalloon Add bug number <{{{3}}}>
TO DO msosptSeal Add bug number <{{{3}}}>
TO DO msosptArc Add bug number <{{{3}}}>
DONE msosptLine Add bug number
TO DO msosptPlaque Add bug number <{{{3}}}>
TO DO msosptCan Add bug number <{{{3}}}>
DONE msosptDonut Add bug number
TO DO msosptTextSimple Add bug number <{{{3}}}>
TO DO msosptTextOctagon Add bug number <{{{3}}}>
TO DO msosptTextHexagon Add bug number <{{{3}}}>
TO DO msosptTextCurve Add bug number <{{{3}}}>
TO DO msosptTextWave Add bug number <{{{3}}}>
TO DO msosptTextRing Add bug number <{{{3}}}>
TO DO msosptTextOnCurve Add bug number <{{{3}}}>
TO DO msosptTextOnRing Add bug number <{{{3}}}>
DONE msosptStraightConnector1 Add bug number
TO DO msosptBentConnector2 Add bug number <{{{3}}}>
DONE msosptBentConnector3 Add bug number
TO DO msosptBentConnector4 Add bug number <{{{3}}}>
TO DO msosptBentConnector5 Add bug number <{{{3}}}>
TO DO msosptCurvedConnector2 Add bug number <{{{3}}}>
TO DO msosptCurvedConnector3 Add bug number <{{{3}}}>
TO DO msosptCurvedConnector4 Add bug number <{{{3}}}>
TO DO msosptCurvedConnector5 Add bug number <{{{3}}}>
TO DO msosptCallout1 Add bug number <{{{3}}}>
DONE msosptCallout2 Add bug number
TO DO msosptCallout3 Add bug number <{{{3}}}>
TO DO msosptAccentCallout1 Add bug number <{{{3}}}>
TO DO msosptAccentCallout2 Add bug number <{{{3}}}>
TO DO msosptAccentCallout3 Add bug number <{{{3}}}>
TO DO msosptBorderCallout1 Add bug number <{{{3}}}>
TO DO msosptBorderCallout2 Add bug number <{{{3}}}>
TO DO msosptBorderCallout3 Add bug number <{{{3}}}>
TO DO msosptAccentBorderCallout1 Add bug number <{{{3}}}>
TO DO msosptAccentBorderCallout2 Add bug number <{{{3}}}>
TO DO msosptAccentBorderCallout3 Add bug number <{{{3}}}>
DONE msosptRibbon Add bug number
DONE msosptRibbon2 Add bug number
TO DO msosptChevron Add bug number <{{{3}}}>
TO DO msosptPentagon Add bug number <{{{3}}}>
TO DO msosptNoSmoking Add bug number <{{{3}}}>
TO DO msosptSeal8 Add bug number <{{{3}}}>
DONE msosptSeal16 Add bug number
TO DO msosptSeal32 Add bug number <{{{3}}}>
DONE msosptWedgeRectCallout Add bug number
TO DO msosptWedgeRRectCallout Add bug number <{{{3}}}>
DONE msosptWedgeEllipseCallout Add bug number
TO DO msosptWave Add bug number <{{{3}}}>
TO DO msosptFoldedCorner Add bug number <{{{3}}}>
DONE msosptLeftArrow Add bug number
DONE msosptDownArrow Add bug number
DONE msosptUpArrow Add bug number
DONE msosptLeftRightArrow 239458
TO DO msosptUpDownArrow Add bug number <{{{3}}}>
DONE msosptIrregularSeal1 Add bug number
TO DO msosptIrregularSeal2 Add bug number <{{{3}}}>
DONE msosptLightningBolt 239458
DONE msosptHeart Add bug number
DONE msosptPictureFrame Add bug number
DONE msosptQuadArrow Add bug number
TO DO msosptLeftArrowCallout Add bug number <{{{3}}}>
TO DO msosptRightArrowCallout Add bug number <{{{3}}}>
TO DO msosptUpArrowCallout Add bug number <{{{3}}}>
TO DO msosptDownArrowCallout Add bug number <{{{3}}}>
TO DO msosptLeftRightArrowCallout Add bug number <{{{3}}}>
TO DO msosptUpDownArrowCallout Add bug number <{{{3}}}>
TO DO msosptQuadArrowCallout Add bug number <{{{3}}}>
TO DO msosptBevel Add bug number <{{{3}}}>
TO DO msosptLeftBracket Add bug number <{{{3}}}>
TO DO msosptRightBracket Add bug number <{{{3}}}>
TO DO msosptLeftBrace Add bug number <{{{3}}}>
TO DO msosptRightBrace Add bug number <{{{3}}}>
TO DO msosptLeftUpArrow Add bug number <{{{3}}}>
TO DO msosptBentUpArrow Add bug number <{{{3}}}>
TO DO msosptBentArrow Add bug number <{{{3}}}>
DONE msosptSeal24 Add bug number
TO DO msosptStripedRightArrow Add bug number <{{{3}}}>
TO DO msosptNotchedRightArrow Add bug number <{{{3}}}>
TO DO msosptBlockArc Add bug number <{{{3}}}>
DONE msosptSmileyFace Add bug number
TO DO msosptVerticalScroll Add bug number <{{{3}}}>
DONE msosptHorizontalScroll Add bug number
DONE msosptCircularArrow Add bug number
DONE msosptNotchedCircularArrow Add bug number
DONE msosptUturnArrow Add bug number
TO DO msosptCurvedRightArrow Add bug number <{{{3}}}>
TO DO msosptCurvedLeftArrow Add bug number <{{{3}}}>
TO DO msosptCurvedUpArrow Add bug number <{{{3}}}>
TO DO msosptCurvedDownArrow Add bug number <{{{3}}}>
DONE msosptCloudCallout Add bug number
TO DO msosptEllipseRibbon Add bug number <{{{3}}}>
TO DO msosptEllipseRibbon2 Add bug number <{{{3}}}>
DONE msosptFlowChartProcess Add bug number
DONE msosptFlowChartDecision Add bug number
TO DO msosptFlowChartInputOutput Add bug number <{{{3}}}>
TO DO msosptFlowChartPredefinedProcess Add bug number <{{{3}}}>
TO DO msosptFlowChartInternalStorage Add bug number <{{{3}}}>
TO DO msosptFlowChartDocument Add bug number <{{{3}}}>
TO DO msosptFlowChartMultidocument Add bug number <{{{3}}}>
DONE msosptFlowChartTerminator Add bug number
TO DO msosptFlowChartPreparation Add bug number <{{{3}}}>
TO DO msosptFlowChartManualInput Add bug number <{{{3}}}>
DONE msosptFlowChartManualOperation Add bug number
DONE msosptFlowChartConnector Add bug number
TO DO msosptFlowChartPunchedCard Add bug number <{{{3}}}>
TO DO msosptFlowChartPunchedTape Add bug number <{{{3}}}>
TO DO msosptFlowChartSummingJunction Add bug number <{{{3}}}>
TO DO msosptFlowChartOr Add bug number <{{{3}}}>
TO DO msosptFlowChartCollate Add bug number <{{{3}}}>
TO DO msosptFlowChartSort Add bug number <{{{3}}}>
TO DO msosptFlowChartExtract Add bug number <{{{3}}}>
TO DO msosptFlowChartMerge Add bug number <{{{3}}}>
TO DO msosptFlowChartOfflineStorage Add bug number <{{{3}}}>
TO DO msosptFlowChartOnlineStorage Add bug number <{{{3}}}>
DONE msosptFlowChartMagneticTape Add bug number
DONE msosptFlowChartMagneticDisk 239458
TO DO msosptFlowChartMagneticDrum Add bug number <{{{3}}}>
TO DO msosptFlowChartDisplay Add bug number <{{{3}}}>
DONE msosptFlowChartDelay Add bug number
TO DO msosptTextPlainText Add bug number <{{{3}}}>
TO DO msosptTextStop Add bug number <{{{3}}}>
TO DO msosptTextTriangle Add bug number <{{{3}}}>
TO DO msosptTextTriangleInverted Add bug number <{{{3}}}>
TO DO msosptTextChevron Add bug number <{{{3}}}>
TO DO msosptTextChevronInverted Add bug number <{{{3}}}>
TO DO msosptTextRingInside Add bug number <{{{3}}}>
TO DO msosptTextRingOutside Add bug number <{{{3}}}>
TO DO msosptTextArchUpCurve Add bug number <{{{3}}}>
TO DO msosptTextArchDownCurve Add bug number <{{{3}}}>
TO DO msosptTextCircleCurve Add bug number <{{{3}}}>
TO DO msosptTextButtonCurve Add bug number <{{{3}}}>
TO DO msosptTextArchUpPour Add bug number <{{{3}}}>
TO DO msosptTextArchDownPour Add bug number <{{{3}}}>
TO DO msosptTextCirclePour Add bug number <{{{3}}}>
TO DO msosptTextButtonPour Add bug number <{{{3}}}>
TO DO msosptTextCurveUp Add bug number <{{{3}}}>
TO DO msosptTextCurveDown Add bug number <{{{3}}}>
TO DO msosptTextCascadeUp Add bug number <{{{3}}}>
TO DO msosptTextCascadeDown Add bug number <{{{3}}}>
TO DO msosptTextWave1 Add bug number <{{{3}}}>
TO DO msosptTextWave2 Add bug number <{{{3}}}>
TO DO msosptTextWave3 Add bug number <{{{3}}}>
TO DO msosptTextWave4 Add bug number <{{{3}}}>
TO DO msosptTextInflate Add bug number <{{{3}}}>
TO DO msosptTextDeflate Add bug number <{{{3}}}>
TO DO msosptTextInflateBottom Add bug number <{{{3}}}>
TO DO msosptTextDeflateBottom Add bug number <{{{3}}}>
TO DO msosptTextInflateTop Add bug number <{{{3}}}>
TO DO msosptTextDeflateTop Add bug number <{{{3}}}>
TO DO msosptTextDeflateInflate Add bug number <{{{3}}}>
TO DO msosptTextDeflateInflateDeflate Add bug number <{{{3}}}>
TO DO msosptTextFadeRight Add bug number <{{{3}}}>
TO DO msosptTextFadeLeft Add bug number <{{{3}}}>
TO DO msosptTextFadeUp Add bug number <{{{3}}}>
TO DO msosptTextFadeDown Add bug number <{{{3}}}>
TO DO msosptTextSlantUp Add bug number <{{{3}}}>
TO DO msosptTextSlantDown Add bug number <{{{3}}}>
TO DO msosptTextCanUp Add bug number <{{{3}}}>
TO DO msosptTextCanDown Add bug number <{{{3}}}>
TO DO msosptFlowChartAlternateProcess Add bug number <{{{3}}}>
TO DO msosptFlowChartOffpageConnector Add bug number <{{{3}}}>
TO DO msosptCallout90 Add bug number <{{{3}}}>
TO DO msosptAccentCallout90 Add bug number <{{{3}}}>
TO DO msosptBorderCallout90 Add bug number <{{{3}}}>
TO DO msosptAccentBorderCallout90 Add bug number <{{{3}}}>
TO DO msosptLeftRightUpArrow Add bug number <{{{3}}}>
TO DO msosptSun Add bug number <{{{3}}}>
TO DO msosptMoon Add bug number <{{{3}}}>
TO DO msosptBracketPair Add bug number <{{{3}}}>
TO DO msosptBracePair Add bug number <{{{3}}}>
TO DO msosptSeal4 Add bug number <{{{3}}}>
DONE msosptDoubleWave Add bug number
TO DO msosptActionButtonBlank Add bug number <{{{3}}}>
TO DO msosptActionButtonHome Add bug number <{{{3}}}>
TO DO msosptActionButtonHelp Add bug number <{{{3}}}>
DONE msosptActionButtonInformation 239197
TO DO msosptActionButtonForwardNext Add bug number <{{{3}}}>
TO DO msosptActionButtonBackPrevious Add bug number <{{{3}}}>
TO DO msosptActionButtonEnd Add bug number <{{{3}}}>
TO DO msosptActionButtonBeginning Add bug number <{{{3}}}>
TO DO msosptActionButtonReturn Add bug number <{{{3}}}>
TO DO msosptActionButtonDocument Add bug number <{{{3}}}>
TO DO msosptActionButtonSound Add bug number <{{{3}}}>
TO DO msosptActionButtonMovie Add bug number <{{{3}}}>
DONE msosptHostControl Add bug number
DONE msosptTextBox Add bug number