public void AddPageItems() { foreach (var pageItem in Document.PageItems) { var clone = pageItem.Clone(); clone.Parent = Document; clone.Page = this; clone.Interlude(); var measures = clone.Measure(Size); Measurements.AddInternal(measures); } }
public void Measure() { PageSize = Variables["page"]["size"].GetValue <Size>(); PageMargin = Variables["page"]["margin"].GetValue <Thickness>(); PageBoxSize = new Size(PageSize.Width - PageMargin.Width, PageSize.Height - PageMargin.Height); foreach (var element in Elements.AsParallel()) { element.Document = this; var elementSize = PageBoxSize; elementSize.Height -= element.Margin.Height; elementSize.Width -= element.Margin.Width; Measurements.AddInternal(element.Measure(elementSize)); } foreach (var element in PageItems) { element.Document = this; } }