Skip to content

Commit 682caa5

Browse files
committed
clipping the alpha value to 0..1 and added percentages per https://www.w3.org/TR/2016/WD-css-color-4-20160705/#funcdef-rgba
1 parent 90675dc commit 682caa5

1 file changed

Lines changed: 17 additions & 2 deletions

File tree

org/w3c/css/values/RGBA.java

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,13 +42,28 @@ public final void setAlpha(ApplContext ac, CssValue val)
4242
}
4343
if (val.getRawType() == CssTypes.CSS_NUMBER) {
4444
float p = ((CssNumber) val).getValue();
45-
if (p > 255.) {
45+
if (p > 1.) {
4646
ac.getFrame().addWarning("out-of-range", Util.displayFloat(p));
4747
CssNumber nb = new CssNumber();
48-
nb.setIntValue(255);
48+
nb.setIntValue(1);
4949
nv = nb;
5050
}
5151
}
52+
} else if (val.getType() == CssTypes.CSS_PERCENTAGE) {
53+
// This starts with CSS Color 4
54+
CssCheckableValue v = val.getCheckableValue();
55+
if (!v.warnPositiveness(ac, "RGB")) {
56+
CssNumber nb = new CssNumber();
57+
nb.setIntValue(0);
58+
nv = nb;
59+
}
60+
if (val.getRawType() == CssTypes.CSS_PERCENTAGE) {
61+
float p = ((CssPercentage) val).floatValue();
62+
if (p > 100.) {
63+
ac.getFrame().addWarning("out-of-range", Util.displayFloat(p));
64+
nv = new CssPercentage(100);
65+
}
66+
}
5267
}
5368
}
5469
va = nv;

0 commit comments

Comments
 (0)