https://issues.apache.org/ooo/show_bug.cgi?id=124084

--- Comment #21 from Armin Le Grand <[email protected]> ---
Some additions: (a) is pretty much the same for all draw objects represented in
ODF. The need to add stuff of the complete object transformation happens in two
cases, so with the 'normal' case that there is just scale and transformation
(without mirroring) there are three:

(1) transformation has scale without mirror (positive in X and Y) and
translation: AOO will use svg:x, svg:y, svg:width and svg:height, no
transformation will be written

(2) transformation uses mirror (scale X and/or Y is negative; addon: when X and
Y is negative, it's equal to a 180 deg rotation, rotation is preferred): AOO
will use svg:width and svg:height for scale (in absolute values since svg does
not allow negative values for these), svg:x and svg:y will not be used (or
zero), a transformation containing mirror (scale -1 in X or Y) and the
translation (which would have been in svg:x and svg:y)

(3) transformation uses mirror, and/or shearX (shearY also possible, but can be
expressed as rotation 90 deg and shearX combination, so shearX is preferred)
and/or rotation: AOO will use svg:width and svg:height for scale absolute
values, svg:x and svg:y will not be used (or zero), a transformation containing
mirror (scale -1 in X or Y), shearX, rotation and the translation (which would
have been in svg:x and svg:y)

For paths, (b) is simply to be seen as an addon carrying the path data in
normalized object coordinates (plus the exception with the positive scale). In
normalized object coordinates to have this data as independent from the object
as possible (added zoom for historical reasons is the exception here).

-- 
You are receiving this mail because:
You are on the CC list for the bug.
You are watching all bug changes.

Reply via email to