blob: c326f989693a4b25c0ada17f11d7aba2193529ff [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 ExcelDxfFontBase : DxfStyleBase<ExcelDxfFontBase>
{
public ExcelDxfFontBase(ExcelStyles styles)
: base(styles)
{
Color = new ExcelDxfColor(styles);
}
/// <summary>
/// Font bold
/// </summary>
public bool? Bold
{
get;
set;
}
/// <summary>
/// Font Italic
/// </summary>
public bool? Italic
{
get;
set;
}
/// <summary>
/// Font-Strikeout
/// </summary>
public bool? Strike { get; set; }
//public float? Size { get; set; }
public ExcelDxfColor Color { get; set; }
//public string Name { get; set; }
//public int? Family { get; set; }
///// <summary>
///// Font-Vertical Align
///// </summary>
//public ExcelVerticalAlignmentFont? VerticalAlign
//{
// get;
// set;
//}
public ExcelUnderLineType? Underline { get; set; }
protected internal override string Id
{
get
{
return GetAsString(Bold) + "|" + GetAsString(Italic) + "|" + GetAsString(Strike) + "|" + (Color ==null ? "" : Color.Id) + "|" /*+ GetAsString(VerticalAlign) + "|"*/ + GetAsString(Underline);
}
}
protected internal override void CreateNodes(XmlHelper helper, string path)
{
helper.CreateNode(path);
SetValueBool(helper, path + "/d:b/@val", Bold);
SetValueBool(helper, path + "/d:i/@val", Italic);
SetValueBool(helper, path + "/d:strike", Strike);
SetValue(helper, path + "/d:u/@val", Underline);
SetValueColor(helper, path + "/d:color", Color);
}
protected internal override bool HasValue
{
get
{
return Bold != null ||
Italic != null ||
Strike != null ||
Underline != null ||
Color.HasValue;
}
}
protected internal override ExcelDxfFontBase Clone()
{
return new ExcelDxfFontBase(_styles) { Bold = Bold, Color = Color.Clone(), Italic = Italic, Strike = Strike, Underline = Underline };
}
}
}