DocumentVisitorVisitShapeEnd Method |
Namespace: Aspose.Words
public void GroupOfShapes() { Document doc = new Document(); DocumentBuilder builder = new DocumentBuilder(doc); // If you need to create "NonPrimitive" shapes, like SingleCornerSnipped, TopCornersSnipped, DiagonalCornersSnipped, // TopCornersOneRoundedOneSnipped, SingleCornerRounded, TopCornersRounded, DiagonalCornersRounded // please use DocumentBuilder.InsertShape methods Shape balloon = new Shape(doc, ShapeType.Balloon) { Width = 200, Height = 200, Stroke = { Color = Color.Red } }; Shape cube = new Shape(doc, ShapeType.Cube) { Width = 100, Height = 100, Stroke = { Color = Color.Blue } }; GroupShape group = new GroupShape(doc); group.AppendChild(balloon); group.AppendChild(cube); Assert.True(group.IsGroup); builder.InsertNode(group); ShapeInfoPrinter printer = new ShapeInfoPrinter(); group.Accept(printer); Console.WriteLine(printer.GetText()); } /// <summary> /// Visitor that prints shape group contents information to the console. /// </summary> public class ShapeInfoPrinter : DocumentVisitor { public ShapeInfoPrinter() { mBuilder = new StringBuilder(); } public string GetText() { return mBuilder.ToString(); } public override VisitorAction VisitGroupShapeStart(GroupShape groupShape) { mBuilder.AppendLine("Shape group started:"); return VisitorAction.Continue; } public override VisitorAction VisitGroupShapeEnd(GroupShape groupShape) { mBuilder.AppendLine("End of shape group"); return VisitorAction.Continue; } public override VisitorAction VisitShapeStart(Shape shape) { mBuilder.AppendLine("\tShape - " + shape.ShapeType + ":"); mBuilder.AppendLine("\t\tWidth: " + shape.Width); mBuilder.AppendLine("\t\tHeight: " + shape.Height); mBuilder.AppendLine("\t\tStroke color: " + shape.Stroke.Color); mBuilder.AppendLine("\t\tFill color: " + shape.Fill.Color); return VisitorAction.Continue; } public override VisitorAction VisitShapeEnd(Shape shape) { mBuilder.AppendLine("\tEnd of shape"); return VisitorAction.Continue; } private readonly StringBuilder mBuilder; }