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


Hi,

checked that ODF1.2 has svg:linearGradient (16.40.2) and svg:radialGradient (16.40.3) with all needed child elements, so this would work.

Also checked that draw:gradient (16.40.1) has only the known elements for the current gradients - thus enhancing the current ones with adding multistop colors seems difficult, hmmm.

Next question is how to use these backwards-compatible - need to think about this, but the gradient itself is identified using an ID-String (aka 'Name') in the file format, so we could e.g. have a current and a svg one with the same name, prefer the svg one. In that way the older offices would - at least - load a two-color gradient which hopefully looks somewhat similar...

Anyways, SVG and current ones will geometrically look different, also only two types in svg. This means we need somewhere new UI and Interactions (did I mention that we have interactive controls in the EditView to edit the current gradients?) and probably more (adapt to other FileFormats...)

Just my 2ct...

Regards,
ALG


Am 10.09.2016 um 11:11 schrieb Heiko Tietze:
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.

--
--
ALG (PGP Key: EE1C 4B3F E751 D8BC C485 DEC1 3C59 F953 D81C F4A2)


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.