using System; using CPF.Drawing; using CPF.ReoGrid.Drawing.Text; using CPF.ReoGrid.Graphics; using CPF.ReoGrid.Utility; namespace CPF.ReoGrid { [Serializable] public class WorksheetRangeStyle { public PlainStyleFlag Flag { get; set; } public Color BackColor { get; set; } public Color FillPatternColor { get; set; } public HatchStyles FillPatternStyle { get; set; } public Color TextColor { get; set; } public string FontName { get; set; } public float FontSize { get; set; } public bool Bold { get { return (this.fontStyles & CPF.ReoGrid.Drawing.Text.FontStyles.Bold) == CPF.ReoGrid.Drawing.Text.FontStyles.Bold; } set { if (value) { this.fontStyles |= CPF.ReoGrid.Drawing.Text.FontStyles.Bold; } else { this.fontStyles &= (CPF.ReoGrid.Drawing.Text.FontStyles)254; } } } public bool Italic { get { return (this.fontStyles & CPF.ReoGrid.Drawing.Text.FontStyles.Italic) == CPF.ReoGrid.Drawing.Text.FontStyles.Italic; } set { if (value) { this.fontStyles |= CPF.ReoGrid.Drawing.Text.FontStyles.Italic; } else { this.fontStyles &= (CPF.ReoGrid.Drawing.Text.FontStyles)253; } } } public bool Strikethrough { get { return (this.fontStyles & CPF.ReoGrid.Drawing.Text.FontStyles.Strikethrough) == CPF.ReoGrid.Drawing.Text.FontStyles.Strikethrough; } set { if (value) { this.fontStyles |= CPF.ReoGrid.Drawing.Text.FontStyles.Strikethrough; } else { this.fontStyles &= (CPF.ReoGrid.Drawing.Text.FontStyles)247; } } } public bool Underline { get { return (this.fontStyles & CPF.ReoGrid.Drawing.Text.FontStyles.Underline) == CPF.ReoGrid.Drawing.Text.FontStyles.Underline; } set { if (value) { this.fontStyles |= CPF.ReoGrid.Drawing.Text.FontStyles.Underline; } else { this.fontStyles &= (CPF.ReoGrid.Drawing.Text.FontStyles)251; } } } public ReoGridHorAlign HAlign { get; set; } public ReoGridVerAlign VAlign { get; set; } public TextWrapMode TextWrapMode { get; set; } public ushort Indent { get; set; } public PaddingValue Padding { get; set; } public float RotationAngle { get; set; } public WorksheetRangeStyle() { } public WorksheetRangeStyle(WorksheetRangeStyle source) { this.CopyFrom(source); } public static WorksheetRangeStyle Clone(WorksheetRangeStyle source) { return (source == null) ? source : new WorksheetRangeStyle(source); } public void CopyFrom(WorksheetRangeStyle s) { StyleUtility.CopyStyle(s, this); } public override bool Equals(object obj) { bool flag = !(obj is WorksheetRangeStyle); bool result; if (flag) { result = false; } else { WorksheetRangeStyle worksheetRangeStyle = (WorksheetRangeStyle)obj; bool flag2 = this.Flag != worksheetRangeStyle.Flag; if (flag2) { result = false; } else { bool flag3 = (this.Flag & PlainStyleFlag.HorizontalAlign) == PlainStyleFlag.HorizontalAlign && this.HAlign != worksheetRangeStyle.HAlign; if (flag3) { result = false; } else { bool flag4 = (this.Flag & PlainStyleFlag.VerticalAlign) == PlainStyleFlag.VerticalAlign && this.VAlign != worksheetRangeStyle.VAlign; if (flag4) { result = false; } else { bool flag5 = (this.Flag & PlainStyleFlag.BackColor) == PlainStyleFlag.BackColor && this.BackColor != worksheetRangeStyle.BackColor; if (flag5) { result = false; } else { bool flag6 = (this.Flag & PlainStyleFlag.FillPatternColor) == PlainStyleFlag.FillPatternColor && this.FillPatternColor != worksheetRangeStyle.FillPatternColor; if (flag6) { result = false; } else { bool flag7 = (this.Flag & PlainStyleFlag.FillPatternStyle) == PlainStyleFlag.FillPatternStyle && this.FillPatternStyle != worksheetRangeStyle.FillPatternStyle; if (flag7) { result = false; } else { bool flag8 = (this.Flag & PlainStyleFlag.TextColor) == PlainStyleFlag.TextColor && this.TextColor != worksheetRangeStyle.TextColor; if (flag8) { result = false; } else { bool flag9 = (this.Flag & PlainStyleFlag.FontName) == PlainStyleFlag.FontName && this.FontName != worksheetRangeStyle.FontName; if (flag9) { result = false; } else { bool flag10 = (this.Flag & PlainStyleFlag.FontSize) == PlainStyleFlag.FontSize && this.FontSize != worksheetRangeStyle.FontSize; if (flag10) { result = false; } else { bool flag11 = (this.Flag & PlainStyleFlag.FontStyleBold) == PlainStyleFlag.FontStyleBold && this.Bold != worksheetRangeStyle.Bold; if (flag11) { result = false; } else { bool flag12 = (this.Flag & PlainStyleFlag.FontStyleItalic) == PlainStyleFlag.FontStyleItalic && this.Italic != worksheetRangeStyle.Italic; if (flag12) { result = false; } else { bool flag13 = (this.Flag & PlainStyleFlag.FontStyleStrikethrough) == PlainStyleFlag.FontStyleStrikethrough && this.Strikethrough != worksheetRangeStyle.Strikethrough; if (flag13) { result = false; } else { bool flag14 = (this.Flag & PlainStyleFlag.FontStyleUnderline) == PlainStyleFlag.FontStyleUnderline && this.Underline != worksheetRangeStyle.Underline; if (flag14) { result = false; } else { bool flag15 = (this.Flag & PlainStyleFlag.TextWrap) == PlainStyleFlag.TextWrap && this.TextWrapMode != worksheetRangeStyle.TextWrapMode; if (flag15) { result = false; } else { bool flag16 = (this.Flag & PlainStyleFlag.Indent) == PlainStyleFlag.Indent && this.Indent != worksheetRangeStyle.Indent; if (flag16) { result = false; } else { bool flag17 = (this.Flag & PlainStyleFlag.Padding) == PlainStyleFlag.Padding && this.Padding != worksheetRangeStyle.Padding; if (flag17) { result = false; } else { bool flag18 = (this.Flag & PlainStyleFlag.RotationAngle) == PlainStyleFlag.RotationAngle && this.RotationAngle != worksheetRangeStyle.RotationAngle; result = !flag18; } } } } } } } } } } } } } } } } } return result; } public override int GetHashCode() { return base.GetHashCode(); } public bool HasStyle(PlainStyleFlag flag) { return (this.Flag & flag) == flag; } public bool HasAny(PlainStyleFlag flag) { return (this.Flag & flag) > PlainStyleFlag.None; } internal CPF.ReoGrid.Drawing.Text.FontStyles fontStyles = CPF.ReoGrid.Drawing.Text.FontStyles.Regular; public static WorksheetRangeStyle Empty = new WorksheetRangeStyle(); } }