Files

36 lines
1.3 KiB
C#
Raw Permalink Normal View History

2026-03-20 22:37:37 +08:00
namespace LanMountainDesktop.PluginSdk;
2026-04-12 13:52:52 +08:00
/// <summary>
/// 插件外观上下文接口,提供主题、圆角等外观资源的访问和变更通知。
/// </summary>
2026-03-20 22:37:37 +08:00
public interface IPluginAppearanceContext
{
2026-04-12 13:52:52 +08:00
/// <summary>
/// 当前外观快照。
/// </summary>
2026-03-20 22:37:37 +08:00
PluginAppearanceSnapshot Snapshot { get; }
2026-04-12 13:52:52 +08:00
/// <summary>
/// 外观变更事件。当主题、圆角或其他外观属性发生变化时触发。
/// </summary>
event EventHandler<AppearanceChangedEvent>? Changed;
/// <summary>
/// 解析带缩放的圆角半径。
/// </summary>
/// <param name="baseRadius">基础圆角半径</param>
/// <param name="minimum">最小值(可选)</param>
/// <param name="maximum">最大值(可选)</param>
/// <returns>解析后的圆角半径</returns>
2026-03-20 22:37:37 +08:00
double ResolveScaledCornerRadius(double baseRadius, double? minimum = null, double? maximum = null);
2026-04-12 13:52:52 +08:00
/// <summary>
/// 根据预设解析圆角半径。
/// </summary>
/// <param name="preset">圆角预设</param>
/// <param name="minimum">最小值(可选)</param>
/// <param name="maximum">最大值(可选)</param>
/// <returns>解析后的圆角半径</returns>
2026-03-20 22:37:37 +08:00
double ResolveCornerRadius(PluginCornerRadiusPreset preset, double? minimum = null, double? maximum = null);
}