// Properties ///<summary> ///Gets specific border. ///</summary> ///<param name="individualBorder">Border to get.</param> public CellBorder this[IndividualBorder individualBorder] { get { return(new CellBorder(this.parent, individualBorder)); } }
internal static int IndexFromIndividualBorder(IndividualBorder individualBorder) { int num = (int)individualBorder; if (num == 5) { num = 4; } return(num); }
///<summary> ///Sets specific line color and line style on multiple borders. ///</summary> ///<param name="multipleBorders">Borders to set.</param> ///<param name="lineColor">Border line color.</param> ///<param name="lineStyle">Border line style.</param> public void SetBorders(MultipleBorders multipleBorders, Color lineColor, LineStyle lineStyle) { for (int num1 = 0; num1 < 6; num1++) { IndividualBorder border1 = (IndividualBorder)num1; if ((multipleBorders & CellBorder.MultipleFromIndividualBorder(border1)) != MultipleBorders.None) { this[border1].SetBorder(lineColor, lineStyle); } } }
public void SetBorders(MultipleBorders multipleBorders, Color lineColor, LineStyle lineStyle) { for (int i = 0; i < 6; i++) { IndividualBorder individualBorder = (IndividualBorder)i; if ((multipleBorders & CellBorder.MultipleFromIndividualBorder(individualBorder)) != MultipleBorders.None) { this[individualBorder].SetBorder(lineColor, lineStyle); } } }
public static CellBorders Apply(this CellBorders instance, IndividualBorder side, SpreadsheetBorder border) { if (border.Style is not null) { instance[side].LineStyle = SpreadsheetBorderStyleMapper.Map(border.Style.Value); } if (border.Color is not null) { instance[side].LineColor = border.Color.Value.ToDotNetColor(); } return(instance); }
internal CellStyle StyleResolved(int row, int column) { if (this.IsStyleDefault) { return(null); } IndividualBorder[] borderArray = new IndividualBorder[4]; int num = 0; CellBorder border = this.style.Borders[IndividualBorder.Bottom]; if ((border.LineStyle != LineStyle.None) && (row < base.LastRowIndex)) { borderArray[num++] = IndividualBorder.Bottom; } border = this.style.Borders[IndividualBorder.Top]; if ((border.LineStyle != LineStyle.None) && (row > base.FirstRowIndex)) { borderArray[num++] = IndividualBorder.Top; } border = this.style.Borders[IndividualBorder.Right]; if ((border.LineStyle != LineStyle.None) && (column < base.LastColumnIndex)) { borderArray[num++] = IndividualBorder.Right; } border = this.style.Borders[IndividualBorder.Left]; if ((border.LineStyle != LineStyle.None) && (column > base.FirstColumnIndex)) { borderArray[num++] = IndividualBorder.Left; } if (num == 0) { return(this.style); } CellStyle style = new CellStyle(this.style, this.style.Element.ParentCollection); for (int i = 0; i < num; i++) { style.Borders[borderArray[i]].SetBorder(Color.Empty, LineStyle.None); } return(style); }
internal static MultipleBorders MultipleFromIndividualBorder(IndividualBorder individualBorder) { return((MultipleBorders)(((int)1) << (int)individualBorder)); }
internal CellBorder(CellStyle parent, IndividualBorder borderId) { this.parent = parent; this.borderId = borderId; this.borderIndex = IndexFromIndividualBorder(borderId); }
internal static MultipleBorders MultipleFromIndividualBorder(IndividualBorder individualBorder) { return((MultipleBorders)(((int)IndividualBorder.Bottom) << ((int)individualBorder & 0x1f))); }
private static void ResolveBorder(CellStyle bordersStyle, MergedCellRange mergedRange, IndividualBorder borderId, int row, int column, int rowInc, int colInc) { CellBorder border = bordersStyle.Borders[borderId]; bool flag = true; while (row < mergedRange.Height) { if (column >= mergedRange.Width) { return; } CellBorder border2 = mergedRange[row, column].Style.Borders[borderId]; if (flag) { border.LineStyle = border2.LineStyle; border.LineColor = border2.LineColor; flag = false; } else if ((border2.LineStyle != border.LineStyle) || (border2.LineColor != border.LineColor)) { border.LineStyle = LineStyle.None; border.LineColor = Color.Empty; return; } row += rowInc; column += colInc; } }