public void TestAxis() { double xmin, xmax, ymin, ymax; Point p1, p2, p3; List <Point> l; p1 = new Point(2, 2); p2 = new Point(3, 5); p3 = new Point(6, 8); l = new List <Point> (); l.Add(p1); l.Add(p2); l.Add(p3); xmin = 2; xmax = 6; ymin = 2; ymax = 8; MultiPoints m = new MultiPoints(l); Assert.AreEqual(new Point(xmin, ymin), m.TopLeft); Assert.AreEqual(new Point(xmax, ymin), m.TopRight); Assert.AreEqual(new Point(xmax, ymax), m.BottomRight); Assert.AreEqual(new Point(xmin, ymax), m.BottomLeft); }
public void TestIsChanged() { Point p1, p2, p3; List <Point> l; MultiPoints m; p1 = new Point(2, 2); p2 = new Point(3, 5); p3 = new Point(6, 8); l = new List <Point> { p1, p2, p3 }; m = new MultiPoints(l); Assert.IsTrue(m.IsChanged); m.IsChanged = false; m.Points.Remove(p1); Assert.IsTrue(m.IsChanged); m.IsChanged = false; m.Points.Add(p1); Assert.IsTrue(m.IsChanged); m.IsChanged = false; m.Points = null; Assert.IsTrue(m.IsChanged); m.IsChanged = false; }
protected override void CursorMoved(Point coords) { if (inZooming && RegionOfInterest != null) { Point diff = coords - MoveStart; RegionOfInterest.Start -= diff; ClipRoi(RegionOfInterest); RegionOfInterest = RegionOfInterest; } else if (handdrawing) { using (IContext c = backbuffer.Context) { tk.Context = c; tk.Begin(); tk.LineStyle = LineStyle.Normal; tk.LineWidth = LineWidth; if (tool == DrawTool.Eraser) { tk.StrokeColor = tk.FillColor = new Color(0, 0, 0, 255); tk.LineWidth = LineWidth * 4; tk.ClearOperation = true; } else { tk.StrokeColor = tk.FillColor = Color; } tk.DrawLine(MoveStart, coords); tk.End(); } Area area = new MultiPoints(new List <Point> { ToDeviceCoords(MoveStart), ToDeviceCoords(coords) }).Area; widget.ReDraw(new Area(new Point(area.TopLeft.X - LineWidth, area.TopLeft.Y - LineWidth), area.Width + LineWidth * 2, area.Height + LineWidth * 2)); } else { base.CursorMoved(coords); if (Tool == DrawTool.Selection) { DrawTool moveTool = currentZoom == 1 ? DrawTool.None : DrawTool.CanMove; if (HighlightedObject == null) { widget.SetCursorForTool(moveTool); } else { widget.SetCursorForTool(DrawTool.Selection); } } } }
internal void ReadShapes(BinaryReader reader) { while (reader.BaseStream.Length != reader.BaseStream.Position) { SwapBytes(reader.ReadInt32()); SwapBytes(reader.ReadInt32()); switch (reader.ReadInt32()) { case 1: { ShapePoint shapePoint = new ShapePoint(); shapePoint.Read(reader); Points.Add(shapePoint); break; } case 8: { MultiPoint multiPoint = new MultiPoint(); multiPoint.Read(reader); MultiPoints.Add(multiPoint); break; } case 3: { PolyLine polyLine2 = new PolyLine(); polyLine2.Read(reader); PolyLines.Add(polyLine2); break; } case 5: { PolyLine polyLine = new PolyLine(); polyLine.Read(reader); Polygons.Add(polyLine); break; } } } }
public void TestSerialization() { Point p1, p2, p3; List <Point> l; p1 = new Point(2, 2); p2 = new Point(3, 5); p3 = new Point(6, 8); l = new List <Point> (); l.Add(p1); l.Add(p2); l.Add(p3); MultiPoints m = new MultiPoints(l); Utils.CheckSerialization(m); MultiPoints nm = Utils.SerializeDeserialize(m); Assert.AreEqual(p1, nm.Points[0]); Assert.AreEqual(p2, nm.Points[1]); Assert.AreEqual(p3, nm.Points[2]); }
public void TestSelection() { Point p1, p2, p3; List <Point> l; Selection s; p1 = new Point(2, 2); p2 = new Point(3, 5); p3 = new Point(6, 8); l = new List <Point> (); l.Add(p1); l.Add(p2); l.Add(p3); MultiPoints m = new MultiPoints(l); s = m.GetSelection(new Point(3, 5), 1); Assert.AreEqual(SelectionPosition.All, s.Position); s = m.GetSelection(new Point(0, 5), 1); Assert.IsNull(s); s = m.GetSelection(new Point(5, 12), 1); Assert.IsNull(s); }