From d7612fcabaafed7628be9ddea16c8efafd077453 Mon Sep 17 00:00:00 2001 From: robloo Date: Thu, 2 Jun 2022 23:31:20 -0400 Subject: [PATCH] Small optimization to read property only when needed --- .../ColorSlider/ColorSlider.cs | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/src/Avalonia.Controls.ColorPicker/ColorSlider/ColorSlider.cs b/src/Avalonia.Controls.ColorPicker/ColorSlider/ColorSlider.cs index a9ba5a20fa..b662d20223 100644 --- a/src/Avalonia.Controls.ColorPicker/ColorSlider/ColorSlider.cs +++ b/src/Avalonia.Controls.ColorPicker/ColorSlider/ColorSlider.cs @@ -139,12 +139,12 @@ namespace Avalonia.Controls.Primitives /// private void SetColorToSliderValues() { - var hsvColor = HsvColor; - var rgbColor = Color; var component = ColorComponent; if (ColorModel == ColorModel.Hsva) { + var hsvColor = HsvColor; + if (IsRoundingEnabled) { hsvColor = RoundComponentValues(hsvColor); @@ -177,6 +177,8 @@ namespace Avalonia.Controls.Primitives } else { + var rgbColor = Color; + switch (component) { case ColorComponent.Alpha: @@ -211,13 +213,12 @@ namespace Avalonia.Controls.Primitives HsvColor hsvColor = new HsvColor(); Color rgbColor = new Color(); double sliderPercent = Value / (Maximum - Minimum); - - var baseHsvColor = HsvColor; - var baseRgbColor = Color; var component = ColorComponent; if (ColorModel == ColorModel.Hsva) { + var baseHsvColor = HsvColor; + switch (component) { case ColorComponent.Alpha: @@ -246,6 +247,8 @@ namespace Avalonia.Controls.Primitives } else { + var baseRgbColor = Color; + byte componentValue = Convert.ToByte(MathUtilities.Clamp(sliderPercent * 255, 0, 255)); switch (component)