Example #1
0
        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);
        }
Example #2
0
        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;
        }
Example #3
0
 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;
                }
                }
            }
        }
Example #5
0
        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]);
        }
Example #6
0
        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);
        }