blob: 26a8c104f6212dd61d39e93795a208aeace8ccc8 [file] [log] [blame]
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Drawing;
using System.Xml;
namespace OfficeOpenXml.Style.Dxf
{
public class ExcelDxfFill : DxfStyleBase<ExcelDxfFill>
{
public ExcelDxfFill(ExcelStyles styles)
: base(styles)
{
PatternColor = new ExcelDxfColor(styles);
BackgroundColor = new ExcelDxfColor(styles);
}
public ExcelFillStyle? PatternType { get; set; }
/// <summary>
/// The color of the pattern
/// </summary>
public ExcelDxfColor PatternColor { get; internal set; }
/// <summary>
/// The background color
/// </summary>
public ExcelDxfColor BackgroundColor { get; internal set; }
protected internal override string Id
{
get
{
return GetAsString(PatternType) + "|" + (PatternColor == null ? "" : PatternColor.Id) + "|" + (BackgroundColor == null ? "" : BackgroundColor.Id);
}
}
protected internal override void CreateNodes(XmlHelper helper, string path)
{
helper.CreateNode(path);
SetValueEnum(helper, path + "/d:patternFill/@patternType", PatternType);
SetValueColor(helper, path + "/d:patternFill/d:fgColor", PatternColor);
SetValueColor(helper, path + "/d:patternFill/d:bgColor", BackgroundColor);
}
protected internal override bool HasValue
{
get
{
return PatternType != null ||
PatternColor.HasValue ||
BackgroundColor.HasValue;
}
}
protected internal override ExcelDxfFill Clone()
{
return new ExcelDxfFill(_styles) {PatternType=PatternType, PatternColor=PatternColor.Clone(), BackgroundColor=BackgroundColor.Clone()};
}
}
}