public PDFLayoutInlineBegin AddInlineRunStart(IPDFLayoutEngine engine, IPDFComponent component, PDFPositionOptions options, Style full) { PDFLayoutInlineBegin begin = new PDFLayoutInlineBegin(this, component, options, full); this.Runs.Add(begin); return(begin); }
protected override void DoLayoutComponent() { if (this.Context.ShouldLogVerbose) { this.Context.TraceLog.Begin(TraceLevel.Verbose, "Panel Layout Engine", "Beginning layout of component '" + this.Component + "' as a viewport component"); } PDFPositionOptions pos = this.FullStyle.CreatePostionOptions(); PDFColumnOptions columns = this.FullStyle.CreateColumnOptions(); if (pos.PositionMode != Drawing.PositionMode.Inline) { this.DoLayoutBlockComponent(pos, columns); } else { PDFLayoutInlineBegin begin = CreateAndAddInlineBegin(pos); this.DoLayoutChildren(); this.CreateAndAddInlineEnd(pos, begin); } if (this.Context.ShouldLogVerbose) { this.Context.TraceLog.End(TraceLevel.Verbose, "Panel Layout Engine", "Completed layout of component '" + this.Component + "' as a viewport component"); } }
private PDFLayoutInlineEnd CreateAndAddInlineEnd(PDFPositionOptions pos, PDFLayoutInlineBegin begin) { PDFLayoutBlock containerBlock = this.DocumentLayout.CurrentPage.LastOpenBlock(); PDFLayoutRegion containerRegion = containerBlock.CurrentRegion; if (containerRegion.HasOpenItem == false) { containerRegion.BeginNewLine(); } PDFLayoutLine currline = containerRegion.CurrentItem as PDFLayoutLine; PDFLayoutInlineEnd end = currline.AddInlineRunEnd(this, this.Component, begin, pos); return(end); }
private PDFLayoutInlineBegin CreateAndAddInlineBegin(PDFPositionOptions pos) { PDFLayoutBlock containerBlock = this.DocumentLayout.CurrentPage.LastOpenBlock(); PDFLayoutRegion containerRegion = containerBlock.CurrentRegion; if (containerRegion.HasOpenItem == false) { containerRegion.BeginNewLine(); } PDFLayoutLine currline = containerRegion.CurrentItem as PDFLayoutLine; PDFLayoutInlineBegin begin = currline.AddInlineRunStart(this, this.Component, pos, this.FullStyle); return(begin); }
public PDFLayoutInlineEnd AddInlineRunEnd(IPDFLayoutEngine engine, IPDFComponent component, PDFLayoutInlineBegin start, PDFPositionOptions options) { PDFLayoutInlineEnd end = new PDFLayoutInlineEnd(this, start, component, options); this.Runs.Add(end); return(end); }
public PDFLayoutInlineEnd(PDFLayoutLine line, PDFLayoutInlineBegin begin, IPDFComponent owner, PDFPositionOptions pos) : base(line, owner) { this.BeginMarker = begin; }