Пример #1
0
        // Token: 0x060071D3 RID: 29139 RVA: 0x00208460 File Offset: 0x00206660
        public void RecalcLayoutForScaleOrSpacing()
        {
            if (this.PageCache == null)
            {
                throw new InvalidOperationException(SR.Get("RowCacheRecalcWithNoPageCache"));
            }
            this._extentWidth  = 0.0;
            this._extentHeight = 0.0;
            double num = 0.0;

            for (int i = 0; i < this._rowCache.Count; i++)
            {
                RowInfo rowInfo   = this._rowCache[i];
                int     pageCount = rowInfo.PageCount;
                rowInfo.ClearPages();
                rowInfo.VerticalOffset = num;
                for (int j = rowInfo.FirstPage; j < rowInfo.FirstPage + pageCount; j++)
                {
                    Size scaledPageSize = this.GetScaledPageSize(j);
                    rowInfo.AddPage(scaledPageSize);
                }
                this._extentWidth = Math.Max(rowInfo.RowSize.Width, this._extentWidth);
                num += rowInfo.RowSize.Height;
                this._extentHeight += rowInfo.RowSize.Height;
                this._rowCache[i]   = rowInfo;
            }
            RowCacheChangedEventArgs e = new RowCacheChangedEventArgs(new List <RowCacheChange>(1)
            {
                new RowCacheChange(0, this._rowCache.Count)
            });

            this.RowCacheChanged(this, e);
        }