/// <summary> /// Sets the currently selected color /// </summary> /// <param name="color">The new value for the currently selected color</param> /// <param name="keepTransparency">Whether to keep the current alpha channel unmodified</param> public void SetCurrentColor(AhslColor color, bool keepTransparency = false) { AhslColor oldColor = Color.White.ToAhsl(); if (keepTransparency) { color = new AhslColor(GetCurrentColor().A, color.Hf, color.Sf, color.Lf); } switch (_selectedColor) { case ColorPickerColor.FirstColor: oldColor = _firstColor; FirstAhslColor = color; break; case ColorPickerColor.SecondColor: oldColor = _secondColor; SecondAhslColor = color; break; } UpdateSliders(); ColorPick?.Invoke(this, new ColorPickEventArgs(oldColor.ToColor(), color.ToColor(), _selectedColor)); }