From 75854ac9e75c850ed0788e397669de2162e180ac Mon Sep 17 00:00:00 2001 From: ema Date: Wed, 15 Apr 2026 01:01:04 +0800 Subject: [PATCH] Replace LuminosityBrush with SolidColorBrush #1912 --- QuickLook/ViewerWindow.xaml.cs | 78 ++-------------------------------- 1 file changed, 4 insertions(+), 74 deletions(-) diff --git a/QuickLook/ViewerWindow.xaml.cs b/QuickLook/ViewerWindow.xaml.cs index d7aaf6e..4e34162 100644 --- a/QuickLook/ViewerWindow.xaml.cs +++ b/QuickLook/ViewerWindow.xaml.cs @@ -385,11 +385,10 @@ public partial class ViewerWindow : Window private static Brush GetAcrylic10TintLuminosityOpacityBackground(bool isDarkTheme) { var acrylicTintLuminosityOpacity = 0.44d; - return new LuminosityBrush - { - TintLuminosityOpacity = acrylicTintLuminosityOpacity, - IsDarkTheme = isDarkTheme, - }.ToBrush(); + var t = acrylicTintLuminosityOpacity * (isDarkTheme ? 0.55d : 1.25d); + var brush = new SolidColorBrush(Color.FromArgb((byte)(t * 255d * 0.6d), 255, 255, 255)); + brush.Freeze(); + return brush; } private static SystembackdropType GetBackdropOption() @@ -450,72 +449,3 @@ public partial class ViewerWindow : Window hide.Begin(); } } - -public class LuminosityBrush : Freezable -{ - public static readonly DependencyProperty TintLuminosityOpacityProperty = - DependencyProperty.Register( - nameof(TintLuminosityOpacity), - typeof(double), - typeof(LuminosityBrush), - new FrameworkPropertyMetadata(0.5d, FrameworkPropertyMetadataOptions.AffectsRender)); - - public double TintLuminosityOpacity - { - get => (double)GetValue(TintLuminosityOpacityProperty); - set => SetValue(TintLuminosityOpacityProperty, value); - } - - public static readonly DependencyProperty IsDarkThemeProperty = - DependencyProperty.Register( - nameof(IsDarkTheme), - typeof(bool), - typeof(LuminosityBrush), - new FrameworkPropertyMetadata(false, FrameworkPropertyMetadataOptions.AffectsRender)); - - public bool IsDarkTheme - { - get => (bool)GetValue(IsDarkThemeProperty); - set => SetValue(IsDarkThemeProperty, value); - } - - protected override Freezable CreateInstanceCore() - { - return new LuminosityBrush(); - } - - private Brush _cached; - - public Brush ToBrush() - { - if (_cached != null) - return _cached; - - double t = TintLuminosityOpacity - * (IsDarkTheme ? 0.55d : 1.25d); - - var group = new DrawingGroup(); - - // Brightening Layer (White) - group.Children.Add(new GeometryDrawing( - new SolidColorBrush(Color.FromArgb((byte)(t * 255d * 0.6d), 255, 255, 255)), - null, - new RectangleGeometry(new Rect(0d, 0d, 1d, 1d)))); - - // Dark Layer (Black) - group.Children.Add(new GeometryDrawing( - new SolidColorBrush(Color.FromArgb((byte)(t * 255d * 0.1d), 0, 0, 0)), - null, - new RectangleGeometry(new Rect(0d, 0d, 1d, 1d)))); - - var brush = new DrawingBrush(group) - { - Stretch = Stretch.Fill, - }; - - brush.Freeze(); - _cached = brush; - - return brush; - } -}