- From: Yves Lafon via cvs-syncmail <cvsmail@w3.org>
- Date: Wed, 07 Nov 2012 15:46:40 +0000
- To: www-validator-cvs@w3.org
Update of /sources/public/2002/css-validator/org/w3c/css/values In directory hutz:/tmp/cvs-serv2460 Modified Files: CssColor.java CssTypes.java Added Files: CssImage.java Log Message: image, first steps (image) TODO gradients Index: CssTypes.java =================================================================== RCS file: /sources/public/2002/css-validator/org/w3c/css/values/CssTypes.java,v retrieving revision 1.7 retrieving revision 1.8 diff -u -d -r1.7 -r1.8 --- CssTypes.java 18 Oct 2012 09:39:52 -0000 1.7 +++ CssTypes.java 7 Nov 2012 15:46:38 -0000 1.8 @@ -27,6 +27,7 @@ public static final int CSS_RATIO = 14; public static final int CSS_SWITCH = 15; public static final int CSS_HASH_IDENT = 16; + public static final int CSS_IMAGE = 17; // not generated by the parser public static final int CSS_VALUE_LIST = 20; Index: CssColor.java =================================================================== RCS file: /sources/public/2002/css-validator/org/w3c/css/values/CssColor.java,v retrieving revision 1.24 retrieving revision 1.25 diff -u -d -r1.24 -r1.25 --- CssColor.java 7 Nov 2012 14:28:35 -0000 1.24 +++ CssColor.java 7 Nov 2012 15:46:38 -0000 1.25 @@ -269,7 +269,7 @@ /** * Parse an ident color. */ - private void setIdentColor(String s, ApplContext ac) + protected void setIdentColor(String s, ApplContext ac) throws InvalidParamException { String lower_s = s.toLowerCase(); switch (ac.getCssVersion()) { --- NEW FILE: CssImage.java --- // $Id: CssImage.java,v 1.1 2012/11/07 15:46:38 ylafon Exp $ // Author: Yves Lafon <ylafon@w3.org> // // (c) COPYRIGHT MIT, ERCIM and Keio University, 2012. // Please first read the full copyright statement in file COPYRIGHT.html package org.w3c.css.values; import org.w3c.css.util.ApplContext; import org.w3c.css.util.CssVersion; import org.w3c.css.util.InvalidParamException; import java.util.ArrayList; import static org.w3c.css.values.CssOperator.COMMA; /** * @author CSS3 Image */ public class CssImage extends CssValue { public static final int type = CssTypes.CSS_IMAGE; public final int getType() { return type; } String name; CssValue value; private String _cache; /** * Set the value of this function * * @param s the string representation of the frequency. * @param ac For errors and warnings reports. */ public void set(String s, ApplContext ac) { // @@TODO } public void setImageList(CssExpression exp, ApplContext ac) throws InvalidParamException { name = "image"; _cache = null; // ImageList defined in CSS3 and onward if (ac.getCssVersion().compareTo(CssVersion.CSS3) < 0) { StringBuilder sb = new StringBuilder(); sb.append("image(").append(exp.toStringFromStart()).append(')'); throw new InvalidParamException("notversion", sb.toString(), ac.getCssVersionString(), ac); } CssValue val; char op; boolean gotcolor = false; ArrayList<CssValue> v = new ArrayList<CssValue>(); CssColor c; while (!exp.end()) { val = exp.getValue(); op = exp.getOperator(); // color is always last if (gotcolor) { throw new InvalidParamException("value", val.toString(), "image()", ac); } switch (val.getType()) { case CssTypes.CSS_URL: case CssTypes.CSS_STRING: v.add(val); break; case CssTypes.CSS_HASH_IDENT: c = new CssColor(); c.setShortRGBColor(val.toString(), ac); v.add(c); gotcolor = true; break; case CssTypes.CSS_IDENT: c = new CssColor(); c.setIdentColor(val.toString(), ac); v.add(c); gotcolor = true; break; default: throw new InvalidParamException("value", val.toString(), "image()", ac); } exp.next(); if (!exp.end() && op != COMMA) { exp.starts(); throw new InvalidParamException("operator", ((new Character(op)).toString()), ac); } } value = (v.size() == 1) ? v.get(0) : new CssLayerList(v); } /** * Returns the value */ public Object get() { // @@TODO return null; } /** * Returns the name of the function */ public String getName() { return name; } /** * Returns a string representation of the object. */ public String toString() { if (_cache == null) { StringBuilder sb = new StringBuilder(); sb.append(name).append('(').append(value).append(')'); _cache = sb.toString(); } return _cache; } /** * Compares two values for equality. * * @param other The other value. */ public boolean equals(Object other) { // @@FIXME return (other instanceof CssImage && this.name.equals(((CssImage) other).name) && this.value.equals(((CssImage) other).value)); } }
Received on Wednesday, 7 November 2012 15:46:47 UTC