Offset uniqueness in vector of ColorSteps

Regina Henschel rb.henschel at t-online.de
Wed Mar 22 12:03:24 UTC 2023


Hi all,

I am currently working on how to specify gradient stops in the ODF 
standard. My first draft simply uses the "color" type included in ODF. 
This is an RGB color without alpha. I could imagine to introduce 
additionally a keyword for a color type. You could then group type and 
color definition and offer different such groups for choice, see below. 
Is something similar possible for UNO?

<rng:define name="draw-gradient-color">
   <rng:element name="draw:gradient-color">
     <rng:choice>
       <rng:group>
         <rng:attribute name="draw:color-type">
           <rng:value>color</rng:value>
         </rng:attribute>
         <rng:attribute name="draw:stop-color">
             <rng:ref name="color" />
         <rng:empty/>
       </rng:group>
       <rng:group>
         <rng:attribute name="draw:color-type">
           <rng:value>theme</rng:value>
         </rng:attribute>
         <rng:ref name="loext-fill-color-theme-reference" />
       </rng:group>
     </rng:choice>
   </rng:element>
</rng:define>

Kind regards,
Regina

Tomaž Vajngerl schrieb am 22.03.2023 um 09:08:
> Hi Armin and Regina,
> 
> On Wed, Mar 15, 2023 at 7:08 AM Regina Henschel <rb.henschel at t-online.de 
> <mailto:rb.henschel at t-online.de>> wrote:
> 
>     Hi Armin,
> 
>     A further remark: We have in the meantime "Theme Colors". LO7.6 does
>     not
>     yet save theme colors to <draw:gradient>. But you can already have a
>     solid fill with a theme color combined with a transparency gradient. Do
>     you have already ideas about "Theme Colors" in gradients? Such is
>     needed
>     for roundtrip with OOXML.
> 
> 
> Yes, a gradient stop would need to have a theme color associated. 
> Currently in UNO I am adding a new property that has a 
> css::util::XThemeColor for every color property that I want to be 
> theme-able, but the colors in OOXML are much more powerful - where a 
> color can be RGB, HSL, a scheme color, which each can also have a list 
> of color transformations (used to specify alpha transparency for a color 
> among other things). If we want better fidelity with OOXML, we probably 
> need to add a more powerful color UNO API than just a simple RGB color 
> definition (clearly missing at least alpha).
> 
> Looking at the com::sun::star::awt::ColorStop I would prefer it to be 
> more easily extendable - probably best to be an XInterface or something. 
> I will quite soon have to add at least a XThemeColor element to the 
> ColorStop, so I can add theme colors support for the gradients. Another 
> missing thing is alpha support, which is missing but supported in OOXML 
> and MSO office supports setting that on the UI.
> 
> Thoughts?
> 
>     Kind regards,
>     Regina
> 
> 
> Tomaž



More information about the LibreOffice mailing list