/// <summary> /// Returns a different colored pen for each entity type. /// </summary> private static Pen GetColoredPenFromType(LayoutEntityType type) { switch (type) { case LayoutEntityType.Cell: return(Pens.Purple); case LayoutEntityType.Column: return(Pens.Green); case LayoutEntityType.Comment: return(Pens.LightBlue); case LayoutEntityType.Endnote: return(Pens.DarkRed); case LayoutEntityType.Footnote: return(Pens.DarkBlue); case LayoutEntityType.HeaderFooter: return(Pens.DarkGreen); case LayoutEntityType.Line: return(Pens.Blue); case LayoutEntityType.NoteSeparator: return(Pens.LightGreen); case LayoutEntityType.Page: return(Pens.Red); case LayoutEntityType.Row: return(Pens.Orange); case LayoutEntityType.Span: return(Pens.Red); case LayoutEntityType.TextBox: return(Pens.Yellow); default: return(Pens.Red); } }
/// <summary> /// Returns a collection of child entities which match the specified type. /// </summary> /// <param name="type">Specifies the type of entities to select.</param> /// <param name="isDeep">True to select from all child entities recursively. False to select only among immediate children</param> public LayoutCollection <LayoutEntity> GetChildEntities(LayoutEntityType type, bool isDeep) { List <LayoutEntity> childList = new List <LayoutEntity>(); foreach (LayoutEntity entity in mChildEntities) { if ((entity.Type & type) == entity.Type) { childList.Add(entity); } if (isDeep) { childList.AddRange((IEnumerable <LayoutEntity>)entity.GetChildEntities(type, true)); } } return(new LayoutCollection <LayoutEntity>(childList)); }
private void CollectLinesOfMarkersCore(LayoutEntityType type) { List <RenderedLine> collectedLines = new List <RenderedLine>(); foreach (RenderedPage page in Pages) { foreach (LayoutEntity story in page.GetChildEntities(type, false)) { foreach (RenderedLine line in story.GetChildEntities(LayoutEntityType.Line, true)) { collectedLines.Add(line); foreach (RenderedSpan span in line.Spans) { if (mLayoutToNodeLookup.ContainsKey(span.LayoutObject)) { if (span.Kind == "PARAGRAPH" || span.Kind == "ROW" || span.Kind == "CELL" || span.Kind == "SECTION") { Node node = mLayoutToNodeLookup[span.LayoutObject]; if (node.NodeType == NodeType.Row) { node = ((Row)node).LastCell.LastParagraph; } foreach (RenderedLine collectedLine in collectedLines) { collectedLine.SetParentNode(node); } collectedLines = new List <RenderedLine>(); } else { span.SetParentNode(mLayoutToNodeLookup[span.LayoutObject]); } } } } } } }
private void CollectLinesOfMarkersCore(LayoutEntityType type) { List<RenderedLine> collectedLines = new List<RenderedLine>(); foreach (RenderedPage page in Pages) { foreach (LayoutEntity story in page.GetChildEntities(type, false)) { foreach (RenderedLine line in story.GetChildEntities(LayoutEntityType.Line, true)) { collectedLines.Add(line); foreach (RenderedSpan span in line.Spans) { if (span.Kind == "PARAGRAPH" || span.Kind == "ROW" || span.Kind == "CELL" || span.Kind == "SECTION") { Node node = mLayoutToNodeLookup[span.LayoutObject]; if (node.NodeType == NodeType.Row) node = ((Row)node).LastCell.LastParagraph; foreach (RenderedLine collectedLine in collectedLines) collectedLine.SetParentNode(node); collectedLines = new List<RenderedLine>(); } else { if (mLayoutToNodeLookup.ContainsKey(span.LayoutObject)) { span.SetParentNode(mLayoutToNodeLookup[span.LayoutObject]); } } } } } } }
/// <summary> /// Returns a different colored pen for each entity type. /// </summary> private static Pen GetColoredPenFromType(LayoutEntityType type) { switch (type) { case LayoutEntityType.Cell: return Pens.Purple; case LayoutEntityType.Column: return Pens.Green; case LayoutEntityType.Comment: return Pens.LightBlue; case LayoutEntityType.Endnote: return Pens.DarkRed; case LayoutEntityType.Footnote: return Pens.DarkBlue; case LayoutEntityType.HeaderFooter: return Pens.DarkGreen; case LayoutEntityType.Line: return Pens.Blue; case LayoutEntityType.NoteSeparator: return Pens.LightGreen; case LayoutEntityType.Page: return Pens.Red; case LayoutEntityType.Row: return Pens.Orange; case LayoutEntityType.Span: return Pens.Red; case LayoutEntityType.TextBox: return Pens.Yellow; default: return Pens.Red; } }