/// <summary> /// GetRowProperties /// </summary> /// <param name="fswdirTable">Flow direction for table</param> /// <param name="rowprops">Row properties structure</param> internal void GetRowProperties( uint fswdirTable, // IN: out PTS.FSTABLEROWPROPS rowprops) // OUT: { // local variables PTS.FSKROWHEIGHTRESTRICTION fskrowheight; int dvrAboveBelow; bool isLastRowOfRowGroup = (Row.Index == Row.RowGroup.Rows.Count - 1); // Note: PTS generally does not accept rows with no real cells // (Defintinion: real cell is // a) cell with no vertical merge; // OR // b) vertically merged cell ending in this row) // However PTS accepts a row with no real cells if it has explicit height set. // So fskrowheight is set to "0" if // a) user said so; // b) no real cells found; GetRowHeight(out fskrowheight, out dvrAboveBelow); // initialize output parameter(s) rowprops = new PTS.FSTABLEROWPROPS(); rowprops.fskrowbreak = PTS.FSKROWBREAKRESTRICTION.fskrowbreakAnywhere; rowprops.fskrowheight = fskrowheight; rowprops.dvrRowHeightRestriction = 0; rowprops.dvrAboveRow = dvrAboveBelow; rowprops.dvrBelowRow = dvrAboveBelow; int cellSpacing = TextDpi.ToTextDpi(Table.InternalCellSpacing); // Clip MBP values to structural cache's current format context size. Also use current format context's page height to // clip cell spacing MbpInfo mbpInfo = MbpInfo.FromElement(Table, StructuralCache.TextFormatterHost.PixelsPerDip); if (Row.Index == 0 && Table.IsFirstNonEmptyRowGroup(Row.RowGroup.Index)) { rowprops.dvrAboveTopRow = mbpInfo.BPTop + cellSpacing / 2; } else { rowprops.dvrAboveTopRow = dvrAboveBelow; } if (isLastRowOfRowGroup && Table.IsLastNonEmptyRowGroup(Row.RowGroup.Index)) { rowprops.dvrBelowBottomRow = mbpInfo.BPBottom + cellSpacing / 2; } else { rowprops.dvrBelowBottomRow = dvrAboveBelow; } rowprops.dvrAboveRowBreak = cellSpacing / 2; rowprops.dvrBelowRowBreak = cellSpacing / 2; rowprops.cCells = Row.FormatCellCount; }
// Token: 0x06006A20 RID: 27168 RVA: 0x001E3634 File Offset: 0x001E1834 internal void GetRowProperties(uint fswdirTable, out PTS.FSTABLEROWPROPS rowprops) { bool flag = this.Row.Index == this.Row.RowGroup.Rows.Count - 1; PTS.FSKROWHEIGHTRESTRICTION fskrowheight; int num; this.GetRowHeight(out fskrowheight, out num); rowprops = default(PTS.FSTABLEROWPROPS); rowprops.fskrowbreak = PTS.FSKROWBREAKRESTRICTION.fskrowbreakAnywhere; rowprops.fskrowheight = fskrowheight; rowprops.dvrRowHeightRestriction = 0; rowprops.dvrAboveRow = num; rowprops.dvrBelowRow = num; int num2 = TextDpi.ToTextDpi(this.Table.InternalCellSpacing); MbpInfo mbpInfo = MbpInfo.FromElement(this.Table, base.StructuralCache.TextFormatterHost.PixelsPerDip); if (this.Row.Index == 0 && this.Table.IsFirstNonEmptyRowGroup(this.Row.RowGroup.Index)) { rowprops.dvrAboveTopRow = mbpInfo.BPTop + num2 / 2; } else { rowprops.dvrAboveTopRow = num; } if (flag && this.Table.IsLastNonEmptyRowGroup(this.Row.RowGroup.Index)) { rowprops.dvrBelowBottomRow = mbpInfo.BPBottom + num2 / 2; } else { rowprops.dvrBelowBottomRow = num; } rowprops.dvrAboveRowBreak = num2 / 2; rowprops.dvrBelowRowBreak = num2 / 2; rowprops.cCells = this.Row.FormatCellCount; }