Date: prev next · Thread: first prev next last
2016 Archives by date, by thread · List index


Hello Heiko,

<svg:linearGradient/> is not a hack. It has been in the ODF specification since 
1.0.

Cheers,
Jos


On Saturday 10 September 2016 11:11:40 Heiko Tietze wrote:
Hello all,

the LibreOffice conference gave me the chance to present some ideas
regarding Draw and shapes in general. One of the most wanted features is
the multistop gradient. Today we can define gradients between two colors,
either linear, radial, or whatever. It would be nice to have a) non-linear
multistop gradients, for example to illustrate a sundown with a small red
and a larger yellow section, and b) a gradient over more than two colors,
e.g. in order to add blue sky to the sundown.

Since Calligra offers multicolor gradients, Armin and me checked how it is
saved (the rendering is build-in right now). And it turns out that they
hack SVG into the ODF. For the (predefined) rainbow-like gradient the
style.xml looks like this:

<svg:linearGradient draw:name="gradient1" svg:spreadMethod="pad"
svg:x1="0.000000%" svg:x2="100.000000%" svg:y1="0.000000%"
svg:y2="100.000000%"> <svg:stop svg:offset="0"
svg:stop-color="#ff0000"/><svg:stop svg:offset="0.183575"
svg:stop-color="#ffe100"/><svg:stop svg:offset="0.347826"
svg:stop-color="#00ff00"/><svg:stop svg:offset="0.516908"
svg:stop-color="#00ffff"/><svg:stop svg:offset="0.68599"
svg:stop-color="#0000ff"/><svg:stop svg:offset="0.845411"
svg:stop-color="#ff00fb"/><svg:stop svg:offset="1"
svg:stop-color="#ff0004"/> </svg:linearGradient>

As an UX evangelist I don't care too much about the implementation and have
rather the workflow and interactions in mind. Ideally the multi-gradient
works with all features, and not as another type next to linear, radial
etc. (There might be a problem that result in this sub-optimal solution).

And finally we have to take interoperability into account as well as the
conformity to the ODF specs (no idea if and how it is defined).

So how do we make multistop/multicolor gradients possible?

Cheers,
Heiko

PS: Suggestions on how to implement this feature in the UI are existing.


Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.