- From: Yves Lafon via cvs-syncmail <cvsmail@w3.org>
- Date: Fri, 06 Mar 2009 11:02:21 +0000
- To: www-validator-cvs@w3.org
Update of /sources/public/2002/css-validator/org/w3c/css/properties/css3 In directory hutz:/tmp/cvs-serv10948 Added Files: CssBackgroundCSS3.java CssBackgroundColorCSS3.java Log Message: added --- NEW FILE: CssBackgroundColorCSS3.java --- // // $Id: CssBackgroundColorCSS3.java,v 1.1 2009/03/06 11:02:19 ylafon Exp $ // From Philippe Le Hegaret (Philippe.Le_Hegaret@sophia.inria.fr) // // (c) COPYRIGHT MIT and INRIA, 1997. // Please first read the full copyright statement in file COPYRIGHT.html package org.w3c.css.properties.css3; import org.w3c.css.properties.css1.CssBackgroundColorCSS2; import org.w3c.css.parser.CssStyle; import org.w3c.css.util.ApplContext; import org.w3c.css.util.InvalidParamException; import org.w3c.css.values.CssExpression; import org.w3c.css.values.CssIdent; import org.w3c.css.values.CssTypes; import org.w3c.css.values.CssValue; import org.w3c.css.properties.css1.CssColor; /** * <H4> * 'background-color' * </H4> * <P> * <EM>Value:</EM> <color> | transparent<BR> * <EM>Initial:</EM> transparent<BR> * <EM>Applies to:</EM> all elements<BR> * <EM>Inherited:</EM> no<BR> * <EM>Percentage values:</EM> N/A<BR> * <P> * This property sets the background color of an element. * <PRE> * H1 { background-color: #F00 } * </PRE> * @version $Revision: 1.1 $ */ public class CssBackgroundColorCSS3 extends CssBackgroundColorCSS2 { /** * Create a new CssBackgroundColorCSS3 */ public CssBackgroundColorCSS3() { super(); } /** * Create a new CssBackgroundColorCSS2 * * @param expression The expression for this property * @exception InvalidParamException Values are incorrect */ public CssBackgroundColorCSS3(ApplContext ac, CssExpression expression, boolean check) throws InvalidParamException { if(check && expression.getCount() > 1) { throw new InvalidParamException("unrecognize", ac); } setByUser(); CssColor tempcolor = new CssColor(ac, expression, check); setColor((CssValue) tempcolor.get()); } public CssBackgroundColorCSS3(ApplContext ac, CssExpression expression) throws InvalidParamException { this(ac, expression, false); } } --- NEW FILE: CssBackgroundCSS3.java --- // $Id: CssBackgroundCSS3.java,v 1.1 2009/03/06 11:02:19 ylafon Exp $ // Author: Jean-Guilhem Rouel // Revised by: Yves Lafon // (c) COPYRIGHT MIT, ERCIM and Keio, 2005-2008. // Please first read the full copyright statement in file COPYRIGHT.html package org.w3c.css.properties.css3; import org.w3c.css.properties.css1.CssBackgroundAttachmentCSS2; import org.w3c.css.properties.css21.CssBackgroundCSS21; import org.w3c.css.properties.css1.CssBackgroundImageCSS2; import org.w3c.css.properties.css1.CssBackgroundRepeatCSS2; import org.w3c.css.properties.css21.CssBackgroundPositionCSS21; import org.w3c.css.util.ApplContext; import org.w3c.css.util.InvalidParamException; import org.w3c.css.values.CssExpression; import org.w3c.css.values.CssIdent; import org.w3c.css.values.CssValue; import org.w3c.css.values.CssString; import org.w3c.css.values.CssTypes; import org.w3c.css.values.CssURL; /** * CssBackgroundCSS21<br /> * Created: Aug 31, 2005 2:03:41 PM<br /> */ public class CssBackgroundCSS3 extends CssBackgroundCSS21 { /** * Create a new CssBackgroundCSS2 */ public CssBackgroundCSS3() { super(); } /** * Set the value of the property * * @param expression The expression for this property * @exception InvalidParamException The expression is incorrect */ public CssBackgroundCSS3(ApplContext ac, CssExpression expression, boolean check) throws InvalidParamException { CssValue val; char op = SPACE; boolean find = true; // too many values if(check && expression.getCount() > 6) { throw new InvalidParamException("unrecognize", ac); } setByUser(); boolean manyValues = (expression.getCount() > 1); while (find) { val = expression.getValue(); if (val == null) { break; } op = expression.getOperator(); // if there are many values, we can't have inherit as one of them if(manyValues && val.equals(inherit)) { throw new InvalidParamException("unrecognize", null, null, ac); } switch (val.getType()) { case CssTypes.CSS_STRING: if (check) { throw new InvalidParamException("unrecognize", ac); } find = false; break; case CssTypes.CSS_URL: if (getImage() == null) { setImage(new CssBackgroundImageCSS2(ac, expression)); continue; } find = false; break; case CssTypes.CSS_COLOR: case CssTypes.CSS_FUNCTION: if (getColor2() == null) { setColor(new CssBackgroundColorCSS3(ac, expression)); continue; } find = false; break; case CssTypes.CSS_NUMBER: case CssTypes.CSS_PERCENTAGE: case CssTypes.CSS_LENGTH: if (getPosition() == null) { setPosition(new CssBackgroundPositionCSS21(ac,expression)); continue; } find = false; break; case CssTypes.CSS_IDENT: // the hard part, as ident can be from different subproperties find = false; CssIdent identval = (CssIdent) val; // check background-image ident if (CssBackgroundImageCSS2.checkMatchingIdent(identval)) { if (getImage() == null) { setImage(new CssBackgroundImageCSS2(ac, expression)); find = true; } break; } // check background-repeat ident if (CssBackgroundRepeatCSS2.checkMatchingIdent(identval)) { if (getRepeat() == null) { setRepeat(new CssBackgroundRepeatCSS2(ac, expression)); find = true; } break; } // check background-attachment ident if (CssBackgroundAttachmentCSS2.checkMatchingIdent(identval)) { if (getAttachment() == null) { setAttachment(new CssBackgroundAttachmentCSS2(ac, expression)); find = true; } break; } // check backgorund-position ident if (CssBackgroundPositionCSS21.checkMatchingIdent(identval)) { if (getPosition() == null) { setPosition(new CssBackgroundPositionCSS21(ac, expression)); find = true; } break; } if (getColor2() == null) { try { setColor(new CssBackgroundColorCSS3(ac, expression)); find = true; break; } catch (InvalidParamException e) { // nothing to do, image will test this value } } default: if (check) { throw new InvalidParamException("unrecognize", ac); } find = false; } if(check && !find) { throw new InvalidParamException("unrecognize", ac); } if (op != SPACE) { throw new InvalidParamException("operator", Character.toString(op), ac); } } } public CssBackgroundCSS3(ApplContext ac, CssExpression expression) throws InvalidParamException { this(ac, expression, false); } }
Received on Friday, 6 March 2009 11:02:31 UTC