namespace Lattice.UI.Docking.Abstractions;
///
/// Определяет контракт для темы оформления док-системы.
///
public interface IDockTheme
{
///
/// Получает имя темы.
///
string Name { get; }
///
/// Получает или задает основной цвет фона.
///
string BackgroundColor { get; set; }
///
/// Получает или задает цвет фона панелей.
///
string PanelBackgroundColor { get; set; }
///
/// Получает или задает цвет фона вкладок.
///
string TabBackgroundColor { get; set; }
///
/// Получает или задает цвет активной вкладки.
///
string ActiveTabBackgroundColor { get; set; }
///
/// Получает или задает цвет границ.
///
string BorderColor { get; set; }
///
/// Получает или задает цвет разделителей.
///
string SplitterColor { get; set; }
///
/// Получает или задает цвет текста.
///
string TextColor { get; set; }
///
/// Получает или задает цвет акцента.
///
string AccentColor { get; set; }
///
/// Получает или задает радиус скругления углов.
///
double CornerRadius { get; set; }
///
/// Получает или задает толщину границ.
///
double BorderThickness { get; set; }
///
/// Получает или задает ширину разделителей.
///
double SplitterWidth { get; set; }
///
/// Применяет тему к системе.
///
void Apply();
///
/// Сбрасывает тему к значениям по умолчанию.
///
void Reset();
}
///
/// Предоставляет данные для события показа контекстного меню.
///
public class ContextMenuShownEventArgs : EventArgs
{
///
/// Получает элемент, для которого показано меню.
///
public IDockControl Target { get; }
///
/// Получает координату X меню.
///
public double X { get; }
///
/// Получает координату Y меню.
///
public double Y { get; }
///
/// Инициализирует новый экземпляр класса .
///
/// Элемент, для которого показано меню.
/// Координата X меню.
/// Координата Y меню.
///
/// Выбрасывается, если равен null.
///
public ContextMenuShownEventArgs(IDockControl target, double x, double y)
{
Target = target ?? throw new ArgumentNullException(nameof(target));
X = x;
Y = y;
}
}