@@ -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