private void StateChanged(object sender, EyeTrackingStateChangedEventArgs eyeTrackingStateChangedEventArgs) { // Forward state change to UI thread if (InvokeRequired) { var updateStateDelegate = new UpdateStateDelegate(UpdateState); Invoke(updateStateDelegate, new object[] { eyeTrackingStateChangedEventArgs }); } else { UpdateState(eyeTrackingStateChangedEventArgs); } }
private void UpdateState(EyeTrackingStateChangedEventArgs eyeTrackingStateChangedEventArgs) { if (!string.IsNullOrEmpty(eyeTrackingStateChangedEventArgs.ErrorMessage)) { InfoMessage.Visible = false; ErrorMessagePanel.Visible = true; ErrorMessage.Text = eyeTrackingStateChangedEventArgs.ErrorMessage; Retry.Enabled = eyeTrackingStateChangedEventArgs.CanRetry; return; } ErrorMessagePanel.Visible = false; if (eyeTrackingStateChangedEventArgs.EyeTrackingState != EyeTrackingState.Tracking) { InfoMessage.Visible = true; InfoMessage.Text = "Connecting to eye tracker, please wait..."; } else { InfoMessage.Visible = false; } }