private static eColorTransformDataType GetDataType(eColorTransformType type) { switch (type) { case eColorTransformType.Alpha: case eColorTransformType.AlphaMod: case eColorTransformType.Tint: case eColorTransformType.Shade: case eColorTransformType.HueMod: case eColorTransformType.Lum: case eColorTransformType.Sat: return(eColorTransformDataType.FixedPositivePercentage); case eColorTransformType.AlphaOff: return(eColorTransformDataType.FixedPercentage); case eColorTransformType.HueOff: return(eColorTransformDataType.Angle); case eColorTransformType.Hue: return(eColorTransformDataType.FixedAngle90); case eColorTransformType.Inv: case eColorTransformType.Comp: case eColorTransformType.Gray: case eColorTransformType.Gamma: case eColorTransformType.InvGamma: return(eColorTransformDataType.Boolean); default: return(eColorTransformDataType.Percentage); } }
/// <summary> /// Remove all items of a specific type /// </summary> /// <param name="type">The transformation type</param> public void RemoveOfType(eColorTransformType type) { for (int i = 0; i < _list.Count; i++) { if (_list[i].Type == type) { _list.RemoveAt(i); i--; } } }
private void AddValue(string name, eColorTransformType type) { if (_namespaceManager == null) { _list.Add(new ExcelColorTransformSimpleItem() { Type = type }); } else { XmlElement node = AddNode(name); _list.Add(new ExcelColorTransformItem(_namespaceManager, node, type)); } }
private void AddValue(string name, eColorTransformType type, double value) { AddValue(name, type); _list[_list.Count - 1].Value = value; }
internal IColorTransformItem Find(eColorTransformType alpha) { return(_list.Find(x => x.Type == alpha)); }
internal double FindValue(eColorTransformType alpha) { return(_list.Find(x => x.Type == alpha)?.Value ?? 0); }
internal ExcelColorTransformItem(XmlNamespaceManager nsm, XmlNode topNode, eColorTransformType type) : base(nsm, topNode) { Type = type; DataType = GetDataType(type); }