Expand description
draw:enhanced-geometry: the outline of a custom shape, worked out.
A custom shape does not state its outline as points. It states a path in a
compact command language, in a coordinate space of its own, whose numbers may
be references to named formulas that are themselves arithmetic over the
space’s edges and over adjustment values a person dragged. A rounded
rectangle is M ?f7 0 X 0 ?f8 L 0 ?f9 Y ?f7 21600 …, and none of that means
anything until the formulas are evaluated.
What comes out of here is Geometry: the same outline as flat polylines in
the shape’s own space, ready for a renderer to map onto a rectangle. Curves
and arcs are flattened here rather than passed on, because the number of
segments a curve needs depends on the size of the coordinate space and not on
the size of the window, and this is where the space is known.
§What is implemented
The whole command language except Q’s smooth variants, and the formula
grammar in full. What is measured is narrower: across the twenty-three
presentation templates LibreOffice ships, the commands that occur are M,
L, C, Z, N, U, X, Y and V, and the formulas use the four edge
constants, pi, and if, sin, cos and abs. The arc commands A, B
and W occur nowhere in that set and their sweep direction is taken from the
specification rather than from a document.