Ejemplo n.º 1
0
        void ShowDynamicGraph()
        {
            _graph.TextEnabled = true;

            var line1 = new Line(1.0f, Colors.Red.ToGLColor(), new GLPoint[] { });
            var line2 = new Line(1.0f, Colors.Green.ToGLColor(), new GLPoint[] { });
            var line3 = new Line(1.0f, Colors.Blue.ToGLColor(), new GLPoint[] { });

            _graph.Lines.Add(line1);
            _graph.Lines.Add(line2);
            _graph.Lines.Add(line3);

            _timer = new DispatcherTimer {
                Interval = TimeSpan.FromSeconds(0.001)
            };

            var i    = 0;
            var rect = new GLRect(0, 0, 500, 100);
            var rand = new Random();

            _timer.Tick += delegate {
                line1.AddPoint(new GLPoint(i, (rand.Next() % 10) + 5));
                line2.AddPoint(new GLPoint(i, (rand.Next() % 10) + 15));
                line3.AddPoint(new GLPoint(i, (rand.Next() % 10) + 25));

                i++;

                if (i >= (rect.Width + rect.X))
                {
                    line1.RemovePoint(0);
                    line2.RemovePoint(0);
                    line3.RemovePoint(0);

                    var d = (i - (rect.Width + rect.X));
                    rect = new GLRect(rect.X + d, rect.Y, rect.Width, rect.Height);
                    _graph.Display(rect, false);
                }
                _graph.Draw();
            };
            _timer.Start();
            _graph.Display(rect, true);
        }
Ejemplo n.º 2
0
 static bool CenterTest(GLRect marker, Point wloc) {
     return marker.Contains(wloc.X, wloc.Y);
 }
Ejemplo n.º 3
0
 static bool LeftEdgeTest(GLRect marker, Point pt) {
     var dist = Math.Abs(marker.X - pt.X);
     return marker.ContainsY(pt.Y) && dist < EdgeThreshold;
 }
Ejemplo n.º 4
0
 static bool TopEdgeTest(GLRect marker, Point pt) {
     var dist = Math.Abs((marker.Y + marker.Height) - pt.Y);
     return marker.ContainsX(pt.X) && dist < EdgeThreshold;
 }
Ejemplo n.º 5
0
 static bool BottomEdgeTest(GLRect marker, Point pt) {
     var dist = Math.Abs(marker.Y - pt.Y);
     return marker.ContainsX(pt.X) && dist < EdgeThreshold;
 }
Ejemplo n.º 6
0
 static bool RightEdgeTest(GLRect marker, Point pt) {
     var dist = Math.Abs((marker.X + marker.Width) - pt.X);
     return marker.ContainsY(pt.Y) && dist < EdgeThreshold;
 }
Ejemplo n.º 7
0
 static bool CenterTest(GLRect marker, Point wloc)
 {
     return(marker.Contains(wloc.X, wloc.Y));
 }
Ejemplo n.º 8
0
        static bool LeftEdgeTest(GLRect marker, Point pt)
        {
            var dist = Math.Abs(marker.X - pt.X);

            return(marker.ContainsY(pt.Y) && dist < EdgeThreshold);
        }
Ejemplo n.º 9
0
        static bool TopEdgeTest(GLRect marker, Point pt)
        {
            var dist = Math.Abs((marker.Y + marker.Height) - pt.Y);

            return(marker.ContainsX(pt.X) && dist < EdgeThreshold);
        }
Ejemplo n.º 10
0
        static bool BottomEdgeTest(GLRect marker, Point pt)
        {
            var dist = Math.Abs(marker.Y - pt.Y);

            return(marker.ContainsX(pt.X) && dist < EdgeThreshold);
        }
Ejemplo n.º 11
0
        static bool RightEdgeTest(GLRect marker, Point pt)
        {
            var dist = Math.Abs((marker.X + marker.Width) - pt.X);

            return(marker.ContainsY(pt.Y) && dist < EdgeThreshold);
        }