Skip to content

Commit 39f98bf

Browse files
committed
in relative colors, the values can be use at any position
1 parent 9dbad60 commit 39f98bf

File tree

1 file changed

+20
-4
lines changed

1 file changed

+20
-4
lines changed

org/w3c/css/values/color/LCH.java

Lines changed: 20 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,12 +24,28 @@
2424

2525
public class LCH {
2626
public static final CssIdent l, c, h, a;
27+
public static final CssIdent colorRelativeValues[];
2728

2829
static {
2930
l = CssIdent.getIdent("l");
3031
c = CssIdent.getIdent("c");
3132
h = CssIdent.getIdent("h");
3233
a = CssIdent.getIdent("alpha");
34+
35+
colorRelativeValues = new CssIdent[4];
36+
colorRelativeValues[0] = l;
37+
colorRelativeValues[1] = c;
38+
colorRelativeValues[2] = h;
39+
colorRelativeValues[3] = a;
40+
}
41+
42+
public static boolean isColorRelativeValue(CssIdent ident) {
43+
for (CssIdent id : colorRelativeValues) {
44+
if (id.equals(ident)) {
45+
return true;
46+
}
47+
}
48+
return false;
3349
}
3450

3551
String output = null;
@@ -109,7 +125,7 @@ public static final LCH parseLCHColor(ApplContext ac, CssExpression exp, CssColo
109125
break;
110126
case CssTypes.CSS_IDENT:
111127
if (CssColor.none.equals(val.getIdent()) ||
112-
(lch.isRelative && l.equals(val.getIdent()))) {
128+
(lch.isRelative && isColorRelativeValue(val.getIdent()))) {
113129
lch.setL(ac, val);
114130
break;
115131
}
@@ -138,7 +154,7 @@ public static final LCH parseLCHColor(ApplContext ac, CssExpression exp, CssColo
138154
break;
139155
case CssTypes.CSS_IDENT:
140156
if (CssColor.none.equals(val.getIdent()) ||
141-
(lch.isRelative && c.equals(val.getIdent()))) {
157+
(lch.isRelative && isColorRelativeValue(val.getIdent()))) {
142158
lch.setC(ac, val);
143159
break;
144160
}
@@ -167,7 +183,7 @@ public static final LCH parseLCHColor(ApplContext ac, CssExpression exp, CssColo
167183
break;
168184
case CssTypes.CSS_IDENT:
169185
if (CssColor.none.equals(val.getIdent()) ||
170-
(lch.isRelative && h.equals(val.getIdent()))) {
186+
(lch.isRelative && isColorRelativeValue(val.getIdent()))) {
171187
lch.setH(ac, val);
172188
break;
173189
}
@@ -207,7 +223,7 @@ public static final LCH parseLCHColor(ApplContext ac, CssExpression exp, CssColo
207223
break;
208224
case CssTypes.CSS_IDENT:
209225
if (CssColor.none.equals(val.getIdent()) ||
210-
(lch.isRelative && a.equals(val.getIdent()))) {
226+
(lch.isRelative && isColorRelativeValue(val.getIdent()))) {
211227
lch.setAlpha(ac, val);
212228
break;
213229
}

0 commit comments

Comments
 (0)