java.lang.Object
org.jhotdraw8.draw.css.converter.ColorCssConverter
- All Implemented Interfaces:
org.jhotdraw8.base.converter.Converter<CssColor>,CssConverter<CssColor>
CssColorConverter.
Parses the following EBNF:
CssColor ::= NamedColor | HexColor | ColorFunction ;
NamedColor ::= 'none' | TT_IDENT;
HexColor ::= ('#'|'0x') , ( hexdigit * 3 | hexdigit * 4 | hexdigit * 6 | hexdigit * 8 );
ColorFunction ::= RGBFunction | RGBAFunction
| HSBFunction | HSBAFunction
| HSLFunction | HSLAFunction
| HWBFunction
| LABFunction
| LCHFunction
| OKLABFunction
| OKLCHFunction
| COLORFunction
;
RGBFunction ::= 'rgb(' , color-params , ')' ;
RGBAFunction ::= 'rgba(' , color-params , ')' ;
HSBFunction ::= 'hsb(' , color-params , ')' ;
HSBAFunction ::= 'hsba(' , color-params , ')' ;
HSLFunction ::= 'hsl(' , color-params , ')' ;
HSLAFunction ::= 'hsla(' , color-params , ')' ;
HWBFunction ::= 'hwb(' , color-params , ')' ;
LABFunction ::= 'lab(' , color-params , ')' ;
OKLABFunction ::= 'oklab(' , color-params , ')' ;
OKLCHFunction ::= 'oklch(' , color-params , ')' ;
COLORFunction ::= 'color(' , color-params , ')' ;
color-params ::= [ color-space-param ] , ( ( number | angle | percentage | 'none' ) , [ "," ] ) * 3 , alpha-param ;
alpha-param ::= [ [ '/' ] ( number | percentage | 'none' ) ] ;
color-space-param ::= 'srgb'
| 'srgb-linear'
| 'display-p3'
| 'a98-rgb'
| 'prophoto-rgb'
| 'rec2020'
| 'xyz'
| 'xyz-d50'
| 'xyz-d65'
;
References:
- CSS Color Module Level 4. 4. Representing Colors: the <color> type.
- w3.org
- CSS Color Module Level 4. 4. Representing Colors: the <color> type. 4.1 The <color> syntax.
- w3.org
- CSS Color Module Level 4. 5. sRGB Colors.
- w3.org
- JavaFX 20. JavaFX CSS Reference Guide. Types. <color>.
- openjfx.io
- Author:
- Werner Randelshofer
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbooleanparse(@NonNull CssTokenizer tt, @Nullable org.jhotdraw8.base.converter.IdResolver idResolver) parseOld(@NonNull CssTokenizer tt, @Nullable org.jhotdraw8.base.converter.IdResolver idResolver) <TT extends CssColor>
voidproduceTokens(@Nullable TT value, @Nullable org.jhotdraw8.base.converter.IdSupplier idSupplier, @NonNull Consumer<CssToken> out) Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.jhotdraw8.base.converter.Converter
fromString, fromString, needsIdResolver, toString, toStringMethods inherited from interface org.jhotdraw8.css.converter.CssConverter
fromString, fromString, getExamples, parseNonNull, toString, toString, toString, toTokens
-
Constructor Details
-
ColorCssConverter
public ColorCssConverter() -
ColorCssConverter
public ColorCssConverter(boolean nullable)
-
-
Method Details
-
getDefaultValue
- Specified by:
getDefaultValuein interfaceorg.jhotdraw8.base.converter.Converter<CssColor>
-
getHelpText
- Specified by:
getHelpTextin interfaceorg.jhotdraw8.base.converter.Converter<CssColor>- Specified by:
getHelpTextin interfaceCssConverter<CssColor>
-
isNullable
public boolean isNullable()- Specified by:
isNullablein interfaceCssConverter<CssColor>
-
parse
public @Nullable CssColor parse(@NonNull CssTokenizer tt, @Nullable org.jhotdraw8.base.converter.IdResolver idResolver) throws ParseException, IOException - Specified by:
parsein interfaceCssConverter<CssColor>- Throws:
ParseExceptionIOException
-
parseOld
public @Nullable CssColor parseOld(@NonNull CssTokenizer tt, @Nullable org.jhotdraw8.base.converter.IdResolver idResolver) throws ParseException, IOException - Throws:
ParseExceptionIOException
-
produceTokens
public <TT extends CssColor> void produceTokens(@Nullable TT value, @Nullable org.jhotdraw8.base.converter.IdSupplier idSupplier, @NonNull Consumer<CssToken> out) - Specified by:
produceTokensin interfaceCssConverter<CssColor>
-