private void ProcessInk(MapInkLine line) { MapInkLine l = this._inkManager.Lines.FirstOrDefault(k => k.UniqueId == line.UniqueId); if (l == null) { this._inkManager.Lines.Add(line); } else { this._inkManager.Lines.Remove(l); this._inkManager.Lines.Add(line); this._inkManager.Render(); } }
private void AddPoint(PointerRoutedEventArgs e) { if (!this.IsEnabled) { return; } MapInkLine line = this.Lines.FirstOrDefault(l => l.Id == e.Pointer.PointerId && !l.IsClosed); if (line == null) { line = new MapInkLine(e.Pointer.PointerId, this.InkColor); this.Lines.Add(line); } line.Points.Add(this._map.ScreenToMap(e.GetCurrentPoint(this._map).Position)); this.OnLineChanged(new MapInkLineEventArgs(line)); }
private async Task SendInk(MapInkLine line) { if (!this.ToggleButtonConnect.IsChecked.Value) { return; } if (!this.Map.Layers[0].IsInitialized) { return; } if (this._peers.Count == 0) { return; } foreach (MapPeer peer in this._peers) { // Send extent message await this.PeerSend(peer, MessageType.Ink, line.ToJson()); } }
public MapInkLineEventArgs(MapInkLine line) { this.MapInkLine = line; }