Skip to content

Commit 05f0dbc

Browse files
committed
h,w,b,alpha values in relative mode
1 parent a116ce4 commit 05f0dbc

File tree

1 file changed

+18
-4
lines changed

1 file changed

+18
-4
lines changed

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

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
import org.w3c.css.values.CssCheckableValue;
2020
import org.w3c.css.values.CssColor;
2121
import org.w3c.css.values.CssExpression;
22+
import org.w3c.css.values.CssIdent;
2223
import org.w3c.css.values.CssPercentage;
2324
import org.w3c.css.values.CssTypes;
2425
import org.w3c.css.values.CssValue;
@@ -30,6 +31,15 @@
3031
import static org.w3c.css.values.CssOperator.SPACE;
3132

3233
public class HWB {
34+
public static final CssIdent h, w, b, a;
35+
36+
static {
37+
h = CssIdent.getIdent("h");
38+
w = CssIdent.getIdent("w");
39+
b = CssIdent.getIdent("b");
40+
a = CssIdent.getIdent("alpha");
41+
}
42+
3343
String output = null;
3444
boolean faSet = false;
3545

@@ -103,7 +113,8 @@ public static final HWB parseHWBColor(ApplContext ac, CssExpression exp, CssColo
103113
hwb.setHue(ac, val);
104114
break;
105115
case CssTypes.CSS_IDENT:
106-
if (CssColor.none.equals(val.getIdent())) {
116+
if (CssColor.none.equals(val.getIdent()) ||
117+
(hwb.isRelative && h.equals(val.getIdent()))) {
107118
hwb.setHue(ac, val);
108119
break;
109120
}
@@ -127,7 +138,8 @@ public static final HWB parseHWBColor(ApplContext ac, CssExpression exp, CssColo
127138
hwb.setWhiteness(ac, val);
128139
break;
129140
case CssTypes.CSS_IDENT:
130-
if (CssColor.none.equals(val.getIdent())) {
141+
if (CssColor.none.equals(val.getIdent()) ||
142+
(hwb.isRelative && w.equals(val.getIdent()))) {
131143
hwb.setWhiteness(ac, val);
132144
break;
133145
}
@@ -154,7 +166,8 @@ public static final HWB parseHWBColor(ApplContext ac, CssExpression exp, CssColo
154166
hwb.setBlackness(ac, val);
155167
break;
156168
case CssTypes.CSS_IDENT:
157-
if (CssColor.none.equals(val.getIdent())) {
169+
if (CssColor.none.equals(val.getIdent()) ||
170+
(hwb.isRelative && b.equals(val.getIdent()))) {
158171
hwb.setBlackness(ac, val);
159172
break;
160173
}
@@ -196,7 +209,8 @@ public static final HWB parseHWBColor(ApplContext ac, CssExpression exp, CssColo
196209
hwb.setAlpha(ac, val);
197210
break;
198211
case CssTypes.CSS_IDENT:
199-
if (CssColor.none.equals(val.getIdent())) {
212+
if (CssColor.none.equals(val.getIdent()) ||
213+
(hwb.isRelative && a.equals(val.getIdent()))) {
200214
hwb.setAlpha(ac, val);
201215
break;
202216
}

0 commit comments

Comments
 (0)