|  | 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()}; | 
|  | } | 
|  | } | 
|  | } |