Пример #1
0
        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();
                }
            }
        }
Пример #2
0
        private void AnimatePending()
        {
            if (PopupUtil.ShouldShowPopup(this, _popupScreen))
            {
#if DEBUG
                ShowPopup();
#else
                _popupTimer.Stop();
                _idleCompleteTimer.Start();
#endif
            }
        }
Пример #3
0
        private bool ShouldShowPopup()
        {
            var popupScreen = Screen.FromPoint(TaskbarLocation.Detect().WorkArea.Location);

            return(PopupUtil.ShouldShowPopup(this, popupScreen));
        }