public void SetString(UnitType unit, String value) { switch (unit) { case UnitType.String: _value = new CssString(value); break; case UnitType.Attr: _value = new CssAttr(value); break; case UnitType.Uri: _value = new CssUrl(value); break; case UnitType.Ident: _value = new CssIdentifier(value); break; default: throw new DomException(ErrorCode.NotSupported); } _unit = unit; }
/// <summary> /// TODO: Temporary method that will be removed when CSSValue is removed. /// </summary> /// <param name="obj"></param> internal void AddValue(ICssObject obj) { if (obj is CSSValue) { _values.Add((CSSValue)obj); } else if (obj is CssIdentifier) { _values.Add(new CSSPrimitiveValue((CssIdentifier)obj)); } else if (obj is Color) { _values.Add(new CSSPrimitiveValue((Color)obj)); } else if (obj is Length) { _values.Add(new CSSPrimitiveValue((Length)obj)); } else if (obj is Percent) { _values.Add(new CSSPrimitiveValue((Percent)obj)); } else if (obj is Angle) { _values.Add(new CSSPrimitiveValue((Angle)obj)); } else if (obj is Time) { _values.Add(new CSSPrimitiveValue((Time)obj)); } else if (obj is Frequency) { _values.Add(new CSSPrimitiveValue((Frequency)obj)); } else if (obj is Resolution) { _values.Add(new CSSPrimitiveValue((Resolution)obj)); } else if (obj is CssString) { _values.Add(new CSSPrimitiveValue((CssString)obj)); } else if (obj is Number) { _values.Add(new CSSPrimitiveValue((Number)obj)); } else if (obj is Percent) { _values.Add(new CSSPrimitiveValue((Percent)obj)); } else if (obj is CssUrl) { _values.Add(new CSSPrimitiveValue((CssUrl)obj)); } }
/// <summary> /// Determines if the given value represents a valid state of this property. /// </summary> /// <param name="value">The state that should be used.</param> /// <returns>True if the state is valid, otherwise false.</returns> protected override Boolean IsValid(CSSValue value) { var image = value.ToImage(); if (image != null) { _image = image; return(true); } return(false); }
/// <summary> /// Determines if the given value represents a valid state of this property. /// </summary> /// <param name="value">The state that should be used.</param> /// <returns>True if the state is valid, otherwise false.</returns> protected override Boolean IsValid(CSSValue value) { var color = value.ToColor(); if (color.HasValue) { _mode = color.Value; } else if (value.Is(Keywords.Invert)) { _mode = Colors.Invert; } else { return(false); } return(true); }
public CSSPrimitiveValue(UnitType unit, ICssObject value) : base(CssValueType.Primitive) { _unit = unit; _value = value; }
public void SetNumber(UnitType unit, Single value) { switch (unit) { case UnitType.Deg: _value = new Angle(value, Angle.Unit.Deg); break; case UnitType.Dimension: _value = new Number(value); break; case UnitType.Em: _value = new Length(value, Length.Unit.Em); break; case UnitType.Ex: _value = new Length(value, Length.Unit.Ex); break; case UnitType.Grad: _value = new Angle(value, Angle.Unit.Grad); break; case UnitType.Hz: _value = new Frequency(value, Frequency.Unit.Hz); break; case UnitType.In: _value = new Length(value, Length.Unit.In); break; case UnitType.Khz: _value = new Frequency(value, Frequency.Unit.Khz); break; case UnitType.Mm: _value = new Length(value, Length.Unit.Mm); break; case UnitType.Ms: _value = new Time(value, Time.Unit.S); break; case UnitType.Number: _value = new Number(value); break; case UnitType.Pc: _value = new Length(value, Length.Unit.Pc); break; case UnitType.Percent: _value = new Percent(value); break; case UnitType.Pt: _value = new Length(value, Length.Unit.Pt); break; case UnitType.Px: _value = new Length(value, Length.Unit.Px); break; case UnitType.Rad: _value = new Angle(value, Angle.Unit.Rad); break; case UnitType.S: _value = new Time(value, Time.Unit.S); break; default: throw new DomException(ErrorCode.NotSupported); } _unit = unit; }
internal override void Reset() { _image = Color.Transparent; }
internal override void Reset() { _mode = Colors.Invert; }
internal override void Reset() { _image = null; }