using System;

namespace OpenCVStudio_v0
{
    /// <summary>
    /// Свойства блока AbsDiff.
    /// Вычисляет абсолютную разницу
    /// между двумя изображениями.
    /// </summary>
    public sealed class AbsDiffBlockProperties
    {
        private readonly ProjectManager projectManager;
        private readonly ProjectBlock projectBlock;

        public AbsDiffBlockProperties(ProjectManager projectManager, ProjectBlock projectBlock)
        {
            this.projectManager = projectManager ?? throw new ArgumentNullException(nameof(projectManager));
            this.projectBlock = projectBlock ?? throw new ArgumentNullException(nameof(projectBlock));
        }

        public string FunctionName => "Cv2.Absdiff";

        public string Description => "Вычисляет абсолютную разницу между двумя изображениями.";

        public string InputDescription => "Вход 1: основное изображение.\r\nВход 2: второе изображение через SecondImageSource.";

        public string OutputDescription => "Одно изображение с абсолютной разницей между входами.";

        public string Requirements => "Размеры и типы изображений должны совпадать.";

        public string Parameters => "Нет параметров OpenCV.";

        public string InputCount => "2 изображения → 1 изображение";

        public string MissingSecondImageBehavior => "Если второе изображение отсутствует, используется основное изображение.";
    }
}