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);
|
|
|
|
|
}
|