Hi all,
Armin Le Grand schrieb:
Hi Dennis (and others),
[..]
We should not mix up varios themes here (maybe I started doing so, I
apologize). We have two things here:
(a) Non-SVG Gradient definitions (old ones)
(b) Angle definitions in various places
There is no general problem with (a), except the contained angle and
it's orientation. Thus I talk more about (b) where (b) is about the old
gradients with use <draw:angle> currently, but also start/end angles in
circle/ellipse shapes.
The Object rotation does not have a direct and single rotation attribute
(AFAIK, there is svg:x, svg:y, svg:width/height, but no svg:angle), but
has to use (and does use) a transformation when rotation is needed
(which uses angles correctly, no problem there).
Using a 2nd 'rigorously-defined' angle would be sufficient here. As
mentioned in earlier mails, SVG has <angle> as basic data type (see SVG
4.2). It is already listed in ODF 1.2, see 18.3.1 of ODF spec (Does this
mean it could already be used?). It is even referenced as data type in
draw:angle, draw:start-angle and draw:end-angle (!), see e.g. 19.112
draw:angle in ODF1.2 which says: 'The draw:angle attribute has the data
type angle 18.3.1'. When this would be true, draw:angle would not even
be needed since it's identical to svg:angle already (which it is not,
another error?).
Thus I suggest allowing both in <draw:gradient> and <draw:opacity>, with
---
<draw:angle> is the inverted rotation in 10th of a degree as integer
value (no longer reference 18.3.1 and say it's equal).
I support the idea to define it directly for the 0.1 degree cases,
independently of a reference. I'm not sure, whether "invert rotation" is
really clear. Is it possible to add a picture to the spec? Then it would
be possible to show the axis, the gradient vector and a concrete angle.
<svg:angle> is the rotation as defined by SVG (including being float and
supporting deg, rad and grad).
If <svg:angle> is present, it has precedence over <draw:angle>. For
compatibility, please support both when creating ODF documents.
---
I have searched in the spec where the data type angle is referenced. I
add my findings here. All tests are only for AOO.
Other candidates wit this problem are (not sure when marked with '?'):
19.140 draw:end-angle
19.213 draw:start-angle
They are used with unit 1 degree. They use decimal values. The values in
the UI are the same as in file format. A positive angle in file format
is shown as counterclockwise on screen.
19.226 draw:text-rotate-angle (?)
20.95 draw:caption-angle (?)
For both I don't know an object that uses it. How can I generate such an
object?
20.339 style:rotation-angle (?)
used for text direction of axis tick labels in charts. A positive value
in file format is shown counterclockwise on screen.
20.375 style:text-rotation-angle (?)
Used for character rotation 90° or 270°. I know no other use.
(20.2) chart:angle-offset (used in Pie-chart)
All three use unit 1 degree. style:text-rotation-angle has a constraint,
that the value must be integer.
20.17 dr3d:end-angle (used in 3D rotation objects for not full rotation)
19.209 draw:rotation (used for hatches)
19.112 draw:angle (used for gradient and opacity)
All three use unit 0.1 degree.
The orientation of draw:rotation and draw:angle is counterclockwise on
screen for a positive angle in file format.
(19.161) draw:extrusion-rotation-angle (used for custom shapes in
extruded state)
(19.104) dr3d:shadow-slant (used for shadow of 3D-scene)
Both use unit 1 degree. draw:extrusion-rotation-angle has no UI with
direct input but uses buttons with 5 degree steps.
[..]
Kind regard
Regina