internal void Show(Popup popup) { _queue.Add(popup); if (_current == null) { _current = _queue[0]; _queue.RemoveAt(0); Cursor = _current.Cursor; CalculatePopupRect(); if (PopupUtil.ShouldShowPopup(this, _popupScreen)) { ShowPopup(); } else { _state = PopupState.Pending; _popupTimer.Interval = 200; _popupTimer.Start(); } } }
private void AnimatePending() { if (PopupUtil.ShouldShowPopup(this, _popupScreen)) { #if DEBUG ShowPopup(); #else _popupTimer.Stop(); _idleCompleteTimer.Start(); #endif } }
private bool ShouldShowPopup() { var popupScreen = Screen.FromPoint(TaskbarLocation.Detect().WorkArea.Location); return(PopupUtil.ShouldShowPopup(this, popupScreen)); }