Exemplo n.º 1
0
        void MoveHighlightNode(Point p)
        {
            if (Network != null)
            {
                WirelessNetworkNode selNode = null;
                Point  selPoint             = new Point();
                double minDistance          = double.PositiveInfinity;
                foreach (var node in Network.Nodes)
                {
                    Point  np       = new Point(node.X, node.Y);
                    double dsquared = (p - np).LengthSquared;
                    if (dsquared < minDistance)
                    {
                        selNode     = node;
                        selPoint    = np;
                        minDistance = dsquared;
                    }
                }
                double snapDistance = 20; // pixels
                snapDistance = Math.Pow(NetworkControl.ScreenToLocal(snapDistance), 2);

                if (minDistance < snapDistance)
                {
                    SelectedNode = selNode;
                    p            = selPoint;
                }
                else
                {
                    SelectedNode = null;
                }
            }
            NetworkControl.SetUserCursor(p);
        }
Exemplo n.º 2
0
        private void NetworkControl_MouseMove(object sender, MouseEventArgs e)
        {
            Point p = e.GetPosition(NetworkControl);

            p = NetworkControl.ScreenToLocal(p);

            ActionContext c = GetActionContext();

            c?.MouseMove?.Invoke(p);
        }
Exemplo n.º 3
0
        private void NetworkControl_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
        {
            Point p = e.GetPosition(NetworkControl);

            p = NetworkControl.ScreenToLocal(p);

            ActionContext c = GetActionContext();

            c?.MouseDown?.Invoke(p);
        }