예제 #1
0
 IDiagram ITranslatable.PerformTranslate(decimal x, decimal y) =>
 Diagrams.Select(diagram => diagram.Offset(x, y))
 .ToImmutableList()
 .Pipe(diagrams => new CompositeDiagram(diagrams, this.Bounds.Offset(x, y)));
예제 #2
0
 IDiagram IScalable.PerformScaling(decimal x, decimal y) =>
 Diagrams.Select(diagram => RescaleSubdiagram(diagram, this.Bounds.Center(), x, y))
 .ToImmutableList()
 .Pipe(diagrams => new CompositeDiagram(diagrams, this.Bounds.Scale(x, y)));
예제 #3
0
 IDiagram IRotatable.PerformRotate(Angle angle) =>
 Diagrams.Select(diagram => diagram.RotateAbout(Bounds.Center(), angle))
 .ToImmutableList()
 .Pipe(x => new CompositeDiagram(x, BoundingBox.Compose(x.Select(y => y.Bounds))));