protected override void OnMouseMove(MouseEventArgs e) { var newMouseMoveOnElement = safeGetElement(HitVisual(e.GetPosition(this))); if (!Equals(_mouseMoveOnElement, newMouseMoveOnElement)) { if (_mouseMoveOnElement != null) _mouseMoveOnElement.OnMouseLeave(e); if (newMouseMoveOnElement != null) newMouseMoveOnElement.OnMouseEnter(e); } if (_mouseMoveOnElement != null) _mouseMoveOnElement.OnMouseMove(e); _mouseMoveOnElement = newMouseMoveOnElement; base.OnMouseMove(e); }
public TrackDisplaying(MapElement TrackMapElement, IMappingService MappingService) { _trackMapElement = TrackMapElement; _mappingService = MappingService; }
protected override void OnMouseDown(MouseButtonEventArgs e) { _clickButton = e.ChangedButton; _mouseDownOnElement = safeGetElement(HitVisual(e.GetPosition(this))); base.OnMouseDown(e); }
public void Display(MapElement Element) { Elements.Add(Element); }
public void Remove(MapElement Element) { Elements.Remove(Element); }
private void RedrawElement(MapElement Element) { HideElement(Element); if (Element.TestVisual(VisibleArea)) VisualizeElement(Element); }
/// <summary>Выводит визуальное представление элемента на карту</summary> /// <param name="Element">Элемент для визуализации</param> private void VisualizeElement(MapElement Element) { Element.AttachedVisual = Element.GetVisual(ZoomLevel); Element.AttachedVisual.Transform = _globalTransform; Element.ChangeVisualRequested += OnMapElementChangeVisualRequested; AddVisual(Element.AttachedVisual); }
/// <summary>Проверяет, и при необходимости отрисовывает или скрывает объект с карты</summary> /// <param name="Element">Проверяемый объект</param> /// <param name="IsElementVisible">Видим ли объект на карте в данный момент</param> private void CheckVisual(MapElement Element, bool IsElementVisible) { if (IsElementVisible) { if (Element.AttachedVisual == null) VisualizeElement(Element); } else if (Element.AttachedVisual != null) HideElement(Element); }
/// <summary>Скрывает визуальное представление с карты</summary> /// <param name="Element">Элемент для сокрытия</param> private void HideElement(MapElement Element) { DeleteVisual(Element.AttachedVisual); Element.ChangeVisualRequested -= OnMapElementChangeVisualRequested; Element.AttachedVisual = null; }
/// <summary>Проверяет, и при необходимости отрисовывает или скрывает объект с карты</summary> /// <param name="Element">Проверяемый объект</param> /// <param name="OnArea">Видимая в область карты</param> private void CheckVisual(MapElement Element, EarthArea OnArea) { CheckVisual(Element, Element.TestVisual(OnArea)); }
/// <summary>Проверяет, и при необходимости отрисовывает или скрывает объект с карты</summary> /// <param name="Element">Проверяемый объект</param> private void CheckVisual(MapElement Element) { CheckVisual(Element, VisibleArea); }
protected void RemoveElement(MapElement Element) { CheckVisual(Element, false); _elements.Remove(Element); }
protected void AddElement(MapElement Element) { _elements.Add(Element); CheckVisual(Element); }
public MapVisual(MapElement Element, int ZIndex = 0) { this.Element = Element; this.ZIndex = ZIndex; }