示例#1
0
        private void DrawTrack(Graphics graphics, TrackOnMap track)
        {
            Point previous = new Point();
            Point nullPoint = new Point();
            foreach (WayPointOnMap wpm in track.WayPoints)
            {
                if (wpm.IsHidden)
                {
                    previous = nullPoint;
                }
                else
                {
                    Point p1;
                    if (previous != nullPoint)
                        p1 = previous;
                    else
                    {
                        p1 = new Point(wpm.XPixels, wpm.YPixels);
                        p1.Offset(-_LeftOffset, -_TopOffset);
                    }
                    Point p2 = new Point(wpm.XPixels, wpm.YPixels);
                    p2.Offset(-_LeftOffset, -_TopOffset);

                    DrawWaypoint(graphics, p2, p1, wpm.IsHighlighted);

                    previous = p2;
                }
            }
        }
示例#2
0
 private void CreateWaypointsList()
 {
     if (_Tracks == null)
     {
         _WayPointsOnMap = null;
         _TracksOnMap = null;
     }
     else
     {
         _WayPointsOnMap = new List<WayPointOnMap>();
         _TracksOnMap = new List<TrackOnMap>();
         foreach (Track track in _Tracks)
         {
             TrackOnMap tom = new TrackOnMap();
             _TracksOnMap.Add(tom);
             foreach (TrackSegment seg in track.TrackSegments)
             {
                 foreach (WayPoint wp in seg.WayPoints)
                 {
                     WayPointOnMap wop = new WayPointOnMap(wp);
                     _WayPointsOnMap.Add(wop);
                     tom.WayPoints.Add(wop);
                 }
             }
         }
     }
 }