private void updateShowUnlocked() { if (_tracksShow != null) { _tracksShow.Dispose(); } _tracksShow = _tracksData; }
public TracksCanvasDrawer(LocatorAndBorder locator) { _locator = locator; _tracksData = new TracksCanvas(_locator); _tracksShow = _tracksData; if (IsVisibility) { addChildren(_tracksShow); } _tracksData.SetColor(_fill, _stroke); _locator.OnMapRefreshed += OnMapRefreshed; _menuBarsInfo = MenuBarsBaseInfo.Instance; _menuBarsInfo.PropertyChanged += menuBarsInfo_PropertyChanged; _timer = new System.Threading.Timer(callbackUpdateTimeOutTracks, null, 1000, 1000); OnMapRefreshed(); _selectedTargetDraw = SelectedTargetDraw.Instance; }
/// <summary> /// 数据备份 /// </summary> /// <param video="clone">clone data</param> public TracksCanvas Clone() { lock (this) { TracksCanvas clone = new TracksCanvas(_locator); clone.SetColor(_fill, _stroke); foreach (var target in _dynamicObjectEvent) { TrackCanvas track = target.Value.Clone(); track.OpacityInfo = target.Value.OpacityInfo; if (clone._dynamicObjectEvent.TryAdd(target.Key, track)) { clone.Children.Add(track); } } return(clone); } }
public void Clear() { lock (this) { var timeoutHide = _tracksData.TimeOutHide; var type = _tracksData.EnumerateType; removeChildren(_tracksShow); removeChildren(_tracksData); _tracksData = new TracksCanvas(_locator); _tracksData.TimeOutHide = timeoutHide; _tracksData.SetColor(_fill, _stroke); _tracksShow = _tracksData; if (IsVisibility) { addChildren(_tracksShow); } EnumerateType = type; } }
private void updateShowLocked() { _tracksShow = _tracksData.Clone(); _tracksShow.StopTimer(); }