コード例 #1
0
ファイル: DocumentPage.cs プロジェクト: timgurke/Scriber
 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);
     }
 }
コード例 #2
0
ファイル: Document.cs プロジェクト: timgurke/Scriber
        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;
            }
        }