public void HandleTransmitterLocationEvent(BleTransmitter transmitter) { WPFMethodInvoker.InvokeAsync(() => { FrameworkElement transmitterElement; if (!_transmitterPositions.TryGetValue(transmitter.MacAddress, out transmitterElement)) { return; } transmitterElement.Opacity = 1; transmitterElement.Visibility = Visibility.Hidden; var position = new PointF(transmitter.Position.X + transmitter.VisualOffset, transmitter.Position.Y + transmitter.VisualOffset - 1); SetElementPosition(transmitterElement, position); transmitterElement.Visibility = Visibility.Visible; }); }
public void HandleDiscoveryEvent(BleReceiver receiver, string transmitterMacAddress, float distance) { WPFMethodInvoker.InvokeAsync(() => { Dictionary <string, Ellipse> receiverDetections; if (!_receiverDetections.TryGetValue(receiver.IPAddress.ToString(), out receiverDetections)) { return; } Ellipse ellipse; if (!receiverDetections.TryGetValue(transmitterMacAddress, out ellipse)) { return; } ellipse.Width = distance * _conversionRatio.Width * 2; ellipse.Height = distance * _conversionRatio.Height * 2; SetElementPositionByCenter(ellipse, receiver.Position); ellipse.Opacity = 1; ellipse.Visibility = Visibility.Hidden; ellipse.Visibility = Visibility.Visible; }); }