Browse Source

Small optimization to read property only when needed

pull/8215/head
robloo 4 years ago
parent
commit
d7612fcaba
  1. 13
      src/Avalonia.Controls.ColorPicker/ColorSlider/ColorSlider.cs

13
src/Avalonia.Controls.ColorPicker/ColorSlider/ColorSlider.cs

@ -139,12 +139,12 @@ namespace Avalonia.Controls.Primitives
/// </remarks> /// </remarks>
private void SetColorToSliderValues() private void SetColorToSliderValues()
{ {
var hsvColor = HsvColor;
var rgbColor = Color;
var component = ColorComponent; var component = ColorComponent;
if (ColorModel == ColorModel.Hsva) if (ColorModel == ColorModel.Hsva)
{ {
var hsvColor = HsvColor;
if (IsRoundingEnabled) if (IsRoundingEnabled)
{ {
hsvColor = RoundComponentValues(hsvColor); hsvColor = RoundComponentValues(hsvColor);
@ -177,6 +177,8 @@ namespace Avalonia.Controls.Primitives
} }
else else
{ {
var rgbColor = Color;
switch (component) switch (component)
{ {
case ColorComponent.Alpha: case ColorComponent.Alpha:
@ -211,13 +213,12 @@ namespace Avalonia.Controls.Primitives
HsvColor hsvColor = new HsvColor(); HsvColor hsvColor = new HsvColor();
Color rgbColor = new Color(); Color rgbColor = new Color();
double sliderPercent = Value / (Maximum - Minimum); double sliderPercent = Value / (Maximum - Minimum);
var baseHsvColor = HsvColor;
var baseRgbColor = Color;
var component = ColorComponent; var component = ColorComponent;
if (ColorModel == ColorModel.Hsva) if (ColorModel == ColorModel.Hsva)
{ {
var baseHsvColor = HsvColor;
switch (component) switch (component)
{ {
case ColorComponent.Alpha: case ColorComponent.Alpha:
@ -246,6 +247,8 @@ namespace Avalonia.Controls.Primitives
} }
else else
{ {
var baseRgbColor = Color;
byte componentValue = Convert.ToByte(MathUtilities.Clamp(sliderPercent * 255, 0, 255)); byte componentValue = Convert.ToByte(MathUtilities.Clamp(sliderPercent * 255, 0, 255));
switch (component) switch (component)

Loading…
Cancel
Save