Skip to content

Commit 90675dc

Browse files
committed
factorized
1 parent 449fcb7 commit 90675dc

File tree

1 file changed

+13
-88
lines changed

1 file changed

+13
-88
lines changed

org/w3c/css/values/RGB.java

Lines changed: 13 additions & 88 deletions
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,8 @@ public class RGB {
1818

1919
CssValue vr, vg, vb;
2020

21-
public final void setRed(ApplContext ac, CssValue val)
21+
public final CssValue filterValue(ApplContext ac, CssValue val)
2222
throws InvalidParamException {
23-
CssValue nv = val;
2423
output = null;
2524
if (val.getRawType() == CssTypes.CSS_CALC) {
2625
// TODO add warning about uncheckability
@@ -31,124 +30,50 @@ public final void setRed(ApplContext ac, CssValue val)
3130
if (!v.warnPositiveness(ac, "RGB")) {
3231
CssNumber nb = new CssNumber();
3332
nb.setIntValue(0);
34-
nv = nb;
33+
return nb;
3534
}
3635
if (val.getRawType() == CssTypes.CSS_NUMBER) {
3736
float p = ((CssNumber) val).getValue();
3837
if (p > 255.) {
3938
ac.getFrame().addWarning("out-of-range", Util.displayFloat(p));
4039
CssNumber nb = new CssNumber();
4140
nb.setIntValue(255);
42-
nv = nb;
41+
return nb;
4342
}
4443
}
4544
} else if (val.getType() == CssTypes.CSS_PERCENTAGE) {
4645
CssCheckableValue v = val.getCheckableValue();
4746
if (!v.warnPositiveness(ac, "RGB")) {
4847
CssNumber nb = new CssNumber();
4948
nb.setIntValue(0);
50-
nv = nb;
49+
return nb;
5150
}
5251
if (val.getRawType() == CssTypes.CSS_PERCENTAGE) {
5352
float p = ((CssPercentage) val).floatValue();
5453
if (p > 100.) {
5554
ac.getFrame().addWarning("out-of-range", Util.displayFloat(p));
56-
CssPercentage np = new CssPercentage(100);
57-
nv = np;
55+
return new CssPercentage(100);
5856
}
5957
}
6058
}
6159
}
62-
vr = nv;
60+
return val;
61+
}
62+
63+
public final void setRed(ApplContext ac, CssValue val)
64+
throws InvalidParamException {
65+
vr = filterValue(ac, val);
6366
}
6467

6568
public final void setGreen(ApplContext ac, CssValue val)
6669
throws InvalidParamException {
67-
CssValue nv = val;
68-
output = null;
69-
if (val.getRawType() == CssTypes.CSS_CALC) {
70-
// TODO add warning about uncheckability
71-
// might need to extend...
72-
} else {
73-
if (val.getType() == CssTypes.CSS_NUMBER) {
74-
CssCheckableValue v = val.getCheckableValue();
75-
if (!v.warnPositiveness(ac, "RGB")) {
76-
CssNumber nb = new CssNumber();
77-
nb.setIntValue(0);
78-
nv = nb;
79-
}
80-
if (val.getRawType() == CssTypes.CSS_NUMBER) {
81-
float p = ((CssNumber) val).getValue();
82-
if (p > 255.) {
83-
ac.getFrame().addWarning("out-of-range", Util.displayFloat(p));
84-
CssNumber nb = new CssNumber();
85-
nb.setIntValue(255);
86-
nv = nb;
87-
}
88-
}
89-
} else if (val.getType() == CssTypes.CSS_PERCENTAGE) {
90-
CssCheckableValue v = val.getCheckableValue();
91-
if (!v.warnPositiveness(ac, "RGB")) {
92-
CssNumber nb = new CssNumber();
93-
nb.setIntValue(0);
94-
nv = nb;
95-
}
96-
if (val.getRawType() == CssTypes.CSS_PERCENTAGE) {
97-
float p = ((CssPercentage) val).floatValue();
98-
if (p > 100.) {
99-
ac.getFrame().addWarning("out-of-range", Util.displayFloat(p));
100-
CssPercentage np = new CssPercentage(100);
101-
nv = np;
102-
}
103-
}
104-
}
105-
}
106-
vg = nv;
70+
vg = filterValue(ac, val);
10771
}
10872

10973

11074
public final void setBlue(ApplContext ac, CssValue val)
11175
throws InvalidParamException {
112-
CssValue nv = val;
113-
output = null;
114-
if (val.getRawType() == CssTypes.CSS_CALC) {
115-
// TODO add warning about uncheckability
116-
// might need to extend...
117-
} else {
118-
if (val.getType() == CssTypes.CSS_NUMBER) {
119-
CssCheckableValue v = val.getCheckableValue();
120-
if (!v.warnPositiveness(ac, "RGB")) {
121-
CssNumber nb = new CssNumber();
122-
nb.setIntValue(0);
123-
nv = nb;
124-
}
125-
if (val.getRawType() == CssTypes.CSS_NUMBER) {
126-
float p = ((CssNumber) val).getValue();
127-
if (p > 255.) {
128-
ac.getFrame().addWarning("out-of-range", Util.displayFloat(p));
129-
CssNumber nb = new CssNumber();
130-
nb.setIntValue(255);
131-
nv = nb;
132-
}
133-
}
134-
} else if (val.getType() == CssTypes.CSS_PERCENTAGE) {
135-
CssCheckableValue v = val.getCheckableValue();
136-
if (!v.warnPositiveness(ac, "RGB")) {
137-
CssNumber nb = new CssNumber();
138-
nb.setIntValue(0);
139-
nv = nb;
140-
}
141-
if (val.getRawType() == CssTypes.CSS_PERCENTAGE) {
142-
float p = ((CssPercentage) val).floatValue();
143-
if (p > 100.) {
144-
ac.getFrame().addWarning("out-of-range", Util.displayFloat(p));
145-
CssPercentage np = new CssPercentage(100);
146-
nv = np;
147-
}
148-
}
149-
}
150-
}
151-
vb = nv;
76+
vb = filterValue(ac, val);
15277
}
15378

15479
/**

0 commit comments

Comments
 (0)