Example #1
0
        private void MakeRoomInStack(PopupNotificationForm window)
        {
            int index = _windows.IndexOf(window);

            if (index == -1)
            {
                return;
            }
            var desiredTop = _origin.Y - _windows[_windows.Count - 1].Height;

            for (int i = _windows.Count - 2; i >= index + 1; --i)
            {
                desiredTop -= _windows[i].Height - WindowSpacing;
            }
            if (window.Top > desiredTop)
            {
                AnimateVerticalSlide(window, desiredTop);
            }
            var w2 = window;

            for (int i = index - 1; i >= 0; --i)
            {
                var w1 = _windows[i];
                desiredTop = desiredTop - w1.Height - WindowSpacing;
                if (w1.Top > desiredTop)
                {
                    AnimateVerticalSlide(w1, desiredTop);
                }
                else
                {
                    break;
                }
                w2 = w1;
            }
        }
Example #2
0
        private void PushForce(NotificationContent notification)
        {
            var window = new PopupNotificationForm(notification);
            var h      = window.Height;
            var x      = _origin.X;
            var y      = _origin.Y - h;

            window.Left = x;
            window.Top  = y;
            _windows.Add(window);
            MakeRoomInStack(window);
            window.SizeChanged += OnWindowSizeChanged;
            AnimateFadeIn(window);
            window.Closed += OnWindowClosed;
            window.Show();
        }
Example #3
0
 private static void AnimateFadeIn(PopupNotificationForm window)
 {
 }
Example #4
0
 private static void AnimateVerticalSlide(PopupNotificationForm window, int targetTop)
 {
     window.Top = targetTop;
 }