/// <summary> /// Reconstructs the bounding geometry cue from the given region /// </summary> public void ConstructFrom(Rectangle region) { if (Items == null) { Items = new GeometryItem[4]; // top GeometryPoint gp1 = new GeometryPoint(region.Location, GeometryPointType.ResizableNWSE); GeometryPoint gp2 = new GeometryPoint(new Point(region.Right, region.Top), GeometryPointType.ResizableNESW); Items[0] = new GeometryItem(gp1, gp2, GeometryItemType.Selection); // right GeometryPoint gp3 = new GeometryPoint(new Point(region.Right, region.Bottom), GeometryPointType.ResizableNWSE); Items[1] = new GeometryItem(gp2, gp3, GeometryItemType.Selection); // bottom GeometryPoint gp4 = new GeometryPoint(new Point(region.Left, region.Bottom), GeometryPointType.ResizableNESW); Items[2] = new GeometryItem(gp4, gp3, GeometryItemType.Selection); // left Items[3] = new GeometryItem(gp1, gp4, GeometryItemType.Selection); Visible = visible; } else { Items[0].Points[0].Move(region.Location); Items[1].Points[0].Move(new Point(region.Right, region.Top)); Items[2].Points[1].Move(new Point(region.Right, region.Bottom)); Items[3].Points[1].Move(new Point(region.Left, region.Bottom)); } }
public Line(Point begin, Point end, ShapeStyle style) : base(new Rectangle( Math.Min(begin.X, end.X), Math.Min(begin.Y, end.Y), Math.Abs(begin.X - end.X), Math.Abs(begin.Y - end.Y)), 0, style, "Layer - Line") { Begin = new GeometryPoint(begin, GeometryPointType.Movable); End = new GeometryPoint(end, GeometryPointType.Movable); EditablegeometryCue.Add(Begin); EditablegeometryCue.Add(End); }
public void AddRange(GeometryPoint[] points) { Points.AddRange(points); Visible = visible; }
public void Add(GeometryPoint point) { Points.Add(point); Visible = visible; }
public GeometryItem(GeometryPoint first, GeometryPoint second, GeometryItemType type) { Points = new[] { first, second }; Type = type; }