namespace Yw.WpfUI.Hydro
{
///
/// 抽象覆盖透明度辅助类
///
internal class LogicalOverrideOpacityHelper
{
private readonly Dictionary _cache = new();
///
/// 获取透明度
///
public double GetOpacity(VisualL3d visual)
{
if (visual == null)
{
return 1d;
}
if (!_cache.ContainsKey(visual))
{
return 1d;
}
return _cache[visual];
}
///
/// 设置透明度
///
public void SetOpacity(VisualL3d visual, double opacity)
{
_cache[visual] = opacity;
}
///
/// 设置透明度
///
public void SetOpacity(List visuals, double opacity)
{
visuals?.ForEach(x => _cache[x] = opacity);
}
///
/// 清理透明度
///
public void ClearOpacity(VisualL3d visual)
{
if (!_cache.ContainsKey(visual))
{
return;
}
_cache.Remove(visual);
}
///
/// 清理透明度
///
public void ClearOpacity(List visuals)
{
visuals?.ForEach(x => ClearOpacity(x));
}
}
}