From 4dc8a2a3ee18b92d1551ae1935f30886a9d4b6cf Mon Sep 17 00:00:00 2001 From: Dan Walmsley Date: Tue, 9 Jun 2020 18:28:50 -0300 Subject: [PATCH] tweaks and fixes to acrylic. --- samples/ControlCatalog/Pages/AcrylicPage.xaml | 6 +++--- src/Avalonia.Visuals/Media/ExperimentalAcrylicBrush.cs | 4 ++-- src/Skia/Avalonia.Skia/DrawingContextImpl.cs | 4 ++-- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/samples/ControlCatalog/Pages/AcrylicPage.xaml b/samples/ControlCatalog/Pages/AcrylicPage.xaml index 6dc23c4841..88bbdb0346 100644 --- a/samples/ControlCatalog/Pages/AcrylicPage.xaml +++ b/samples/ControlCatalog/Pages/AcrylicPage.xaml @@ -71,7 +71,7 @@ @@ -89,8 +89,8 @@ diff --git a/src/Avalonia.Visuals/Media/ExperimentalAcrylicBrush.cs b/src/Avalonia.Visuals/Media/ExperimentalAcrylicBrush.cs index 7712b99b27..acc660175f 100644 --- a/src/Avalonia.Visuals/Media/ExperimentalAcrylicBrush.cs +++ b/src/Avalonia.Visuals/Media/ExperimentalAcrylicBrush.cs @@ -135,7 +135,7 @@ namespace Avalonia.Media if (false) // non-acrylic blue // TODO detect blur level. { - tintColor = new Color((byte)(Math.Round(tintColor.A * (((tintOpacity * tintOpacityModifier) * 0.25) + 0.75))), tintColor.R, tintColor.G, tintColor.B); + tintColor = new Color((byte)(Math.Round(tintColor.A * (((tintOpacity * tintOpacityModifier) * 0.15) + 0.85))), tintColor.R, tintColor.G, tintColor.B); } else { @@ -157,7 +157,7 @@ namespace Avalonia.Media const double whiteMaxOpacity = 0.40; // 100% luminosity const double midPointMaxOpacity = 0.50; // 50% luminosity - const double blackMaxOpacity = 0.60; // 0% luminosity + const double blackMaxOpacity = 0.80; // 0% luminosity var hsv = RgbToHsv(tintColor); diff --git a/src/Skia/Avalonia.Skia/DrawingContextImpl.cs b/src/Skia/Avalonia.Skia/DrawingContextImpl.cs index ad2a896508..d2c7bdaedc 100644 --- a/src/Skia/Avalonia.Skia/DrawingContextImpl.cs +++ b/src/Skia/Avalonia.Skia/DrawingContextImpl.cs @@ -697,10 +697,10 @@ namespace Avalonia.Skia acrylicBrush.BackgroundSource == AcrylicBackgroundSource.Digger ? acrylicBrush.TintOpacity : 1; - const double noiseOpcity = 0.02; + const double noiseOpcity = 0.0225; var tintColor = acrylicBrush.TintColor; - var tint = new SKColor(tintColor.R, tintColor.G, tintColor.B, (byte)(255 * ((tintColor.A / 255.0) * acrylicBrush.Opacity))); + var tint = new SKColor(tintColor.R, tintColor.G, tintColor.B, (byte)(255 * ((tintColor.A / 255.0) * acrylicBrush.Opacity * tintOpacity))); if(s_acrylicNoiseShader == null) {