using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Web.UI;
using System.Windows;

namespace FasdDesktopUi.Basics.Models
{
    public interface IBlurrable
    {
        bool IsBlurred { get; set; }

        List<IBlurInvoker> BlurInvokers { get; set; }

        void UpdateBlurStatus(object sender);
    }

    public interface IBlurInvoker
    {
        bool BlurInvoker_IsActive { get; }

        void BlurInvoker_IsActiveChanged(object sender, DependencyPropertyChangedEventArgs e);
    }

    public static class BlurInvoker
    {
        public static event EventHandler BlurInvokerVisibilityChanged = delegate { };

        public static void InvokeVisibilityChanged(object sender, EventArgs e)
        {
            BlurInvokerVisibilityChanged?.Invoke(sender, e);
        }
    }
}
