Bringing command 'arcangleto' (G) to ODF

Regina Henschel rb.henschel at t-online.de
Thu Jan 24 23:16:26 UTC 2019


Hi all,

some years ago Radek Doulik has implemented a commant 'G' for the 
enhanced-path of a custom shape. Such path is written in drawooo 
namespace. I have not found any documentation about it and it is not 
mentioned in 
https://wiki.documentfoundation.org/Development/ODF_Implementer_Notes/List_of_LibreOffice_ODF_Extensions

You know, that I'm hesitant to bring something new to ODF. But in this 
case the new command seems to be useful. You will find the draft for a 
proposal below. Because the lack of any documentation (and my problems 
with English) it would be nice, if you look whether I have got it correct.

PowerPoint restricts the swing angle to [-360°;360°], but I do not find 
any such restriction in the OOXML spec. What to do for ODF about this? 
Currently it is not restricted in my proposal draft.

Kind regards
Regina

Proposal
========
Command     G
Name        arcangleto
Parameters  (wR hR st sw) +
Description
Draws an arc of an ellipse. The ellipse is specified by the width 2*wR, 
and the hight 2*hR. The arc is specifies by the start angle st in 
degrees and the swing angle sw in degrees. The ellipse is positioned so 
that the current point is the start point of the arc. The arc is drawn 
so that sw is the central angle of the arc. If sw is positive, the arc 
is drawn clockwise; if sw is negative, the arc is drawn 
counter-clockwise. The endpoint of the arc becomes the new current point.
In case the path is filled, the filling is drawn as ellipse sector.
The swing angle may be greater as 360° and may be smaller than -360°. In 
that cases filling will overlap.

Explanation
===========
This command is needed for interoperability with the OOXML standard and 
its attribute "arcTo", see ECMA-376 Part 1 section 20.1.94. With the 
current commands A, B, U, T, V and W only one direction of the arc is 
possible, either clockwise or counter-clockwise. The new command G 
allows to specify the arc direction depending on a parameter. Such 
parameter can be calculated from a formula or adjustment value, so the 
direction is not predefined.


More information about the LibreOffice mailing list