Or the third option:
3. Do nothing
I would go for option 1 or 3. I do not recommend option 2.
I see some value in a minimal API (option 1), returning a fixed format,
perhaps:
if alpha == 1 { "#rrggbb" } else { "#rrggbbaa" }
-- Kevin
On 12/12/2023 4:04 PM, Eran Leshem wrote:
I can see two options:
1.Minimal, just in order to satisfy the style APIs need – supporting a
single format. I would go with non-% rgba, since it covers all
dimensions in the most straightforward way.
2.Complete – supporting all formats accepted by Color.web(), either
via multiple methods or via an enum parameter
Eran
*From:*openjfx-dev [mailto:openjfx-dev-r...@openjdk.org] *On Behalf Of
*Andy Goryachev
*Sent:* Tuesday, December 12, 2023 6:08 PM
*To:* Scott Palmer; openjfx-dev@openjdk.org
*Subject:* Re: Converting a Color object to its string representation
I also think that the platform will benefit from adding this
symmetrical API.
It is less clear how that new API should deal with all the multiple
variants of the web format (#rgb, #rrggbb, rgb, rgba, 0x*, ...).
-andy
*From: *openjfx-dev <openjfx-dev-r...@openjdk.org> on behalf of Scott
Palmer <swpal...@gmail.com>
*Date: *Monday, December 11, 2023 at 17:12
*To: *openjfx-dev@openjdk.org <openjfx-dev@openjdk.org>
*Subject: *Re: Converting a Color object to its string representation
I agree. I was going to write pretty much this exact email, but you
beat me to it.
I was implementing some user-configurable colour customizations in an
application and needed to do it with style sheets, along with
something that reads colours along the lines of what the new platform
preferences API does.
I make a base64 data URL from a dynamically generated style sheet to
avoid writing temp CSS files to style the app.
I also needed to do this to work around the style sheet having higher
priority than programmatically set colours as per my misunderstanding
in https://bugs.openjdk.org/browse/JDK-8317434
So I see value in having Color implement something like this.
Scott
On Dec 11, 2023, at 4:19 PM, Eran Leshem <e...@leshem.life> wrote:
Thank you for your responses.
Given that the framework requires colors in string format in its
style APIs, I think it should provide some way to convert colors
to strings as expected by these APIs. Otherwise, clients are
forced to implement this bridging logic on their own, due to a
framework gap.
And given that Color already parses these string representations,
I think it makes sense for it to provide the inverse conversion.
Eran
-----Original Message-----
From: openjfx-dev [mailto:openjfx-dev-r...@openjdk.org] On Behalf
Of John Hendrikx
Sent: Saturday, December 09, 2023 11:35 PM
To: openjfx-dev@openjdk.org
Subject: Re: Converting a Color object to its string representation
I think this is too niche to have Color provide.
Just make a utility method for whatever format you desire, instead of
making Color responsible for half a dozen ways of formatting
colors, and
then probably still missing some format that someone needs.
Ticket should be closed as won't fix.
--John
On 09/12/2023 22:06, Michael Strauß wrote:
I obviously meant to write withPrefix("#"), not
withDelimiter("#")...
On Sat, Dec 9, 2023 at 9:57 PM Michael Strauß
<michaelstr...@gmail.com> wrote:
How would HexFormat work with Color, other than using an
extremely
unwieldy syntax?
String formatted = HexFormat.of()
.withDelimiter("#")
.formatHex(new byte[] {
(byte)(color.getRed() * 255.0f),
(byte)(color.getGreen() * 255.0f),
(byte)(color.getBlue() * 255.0f),
(byte)(color.getOpacity() * 255.0f)
});
On Sat, Dec 9, 2023 at 9:40 PM David Alayachew
<davidalayac...@gmail.com> wrote:
Apologies - java.util.HexFormat
That's what I get for firing from the hip, then
looking afterwards.