ColorFormatEditor.xaml.cs
1 // Copyright (c) Microsoft Corporation 2 // The Microsoft Corporation licenses this file to you under the MIT license. 3 // See the LICENSE file in the project root for more information. 4 5 using System; 6 using System.Collections.Generic; 7 using System.ComponentModel; 8 using System.Security.Cryptography; 9 using System.Windows.Input; 10 11 using ManagedCommon; 12 using Microsoft.PowerToys.Settings.UI.Helpers; 13 using Microsoft.PowerToys.Settings.UI.Library; 14 using Microsoft.PowerToys.Settings.UI.ViewModels; 15 using Microsoft.UI.Xaml.Controls; 16 using Microsoft.Windows.ApplicationModel.Resources; 17 using Windows.System; 18 19 namespace Microsoft.PowerToys.Settings.UI.Controls 20 { 21 public sealed partial class ColorFormatEditor : UserControl 22 { 23 public ColorFormatEditor() 24 { 25 this.InitializeComponent(); 26 LoadParameters(); 27 } 28 29 public void LoadParameters() 30 { 31 ResourceLoader resourceLoader = ResourceLoaderInstance.ResourceLoader; 32 ParametersItemsControl.ItemsSource = new List<ColorFormatParameter> 33 { 34 new ColorFormatParameter() { Parameter = "%Re", Description = resourceLoader.GetString("Help_red") }, 35 new ColorFormatParameter() { Parameter = "%Gr", Description = resourceLoader.GetString("Help_green") }, 36 new ColorFormatParameter() { Parameter = "%Bl", Description = resourceLoader.GetString("Help_blue") }, 37 new ColorFormatParameter() { Parameter = "%Al", Description = resourceLoader.GetString("Help_alpha") }, 38 new ColorFormatParameter() { Parameter = "%Cy", Description = resourceLoader.GetString("Help_cyan") }, 39 new ColorFormatParameter() { Parameter = "%Ma", Description = resourceLoader.GetString("Help_magenta") }, 40 new ColorFormatParameter() { Parameter = "%Ye", Description = resourceLoader.GetString("Help_yellow") }, 41 new ColorFormatParameter() { Parameter = "%Bk", Description = resourceLoader.GetString("Help_black_key") }, 42 new ColorFormatParameter() { Parameter = "%Hu", Description = resourceLoader.GetString("Help_hue") }, 43 new ColorFormatParameter() { Parameter = "%Si", Description = resourceLoader.GetString("Help_saturationI") }, 44 new ColorFormatParameter() { Parameter = "%Sl", Description = resourceLoader.GetString("Help_saturationL") }, 45 new ColorFormatParameter() { Parameter = "%Sb", Description = resourceLoader.GetString("Help_saturationB") }, 46 new ColorFormatParameter() { Parameter = "%Br", Description = resourceLoader.GetString("Help_brightness") }, 47 new ColorFormatParameter() { Parameter = "%In", Description = resourceLoader.GetString("Help_intensity") }, 48 new ColorFormatParameter() { Parameter = "%Hn", Description = resourceLoader.GetString("Help_hueNat") }, 49 new ColorFormatParameter() { Parameter = "%Ll", Description = resourceLoader.GetString("Help_lightnessNat") }, 50 new ColorFormatParameter() { Parameter = "%Va", Description = resourceLoader.GetString("Help_value") }, 51 new ColorFormatParameter() { Parameter = "%Wh", Description = resourceLoader.GetString("Help_whiteness") }, 52 new ColorFormatParameter() { Parameter = "%Bn", Description = resourceLoader.GetString("Help_blackness") }, 53 new ColorFormatParameter() { Parameter = "%Lc", Description = resourceLoader.GetString("Help_lightnessCIE") }, 54 new ColorFormatParameter() { Parameter = "%Ca", Description = resourceLoader.GetString("Help_chromaticityACIE") }, 55 new ColorFormatParameter() { Parameter = "%Cb", Description = resourceLoader.GetString("Help_chromaticityBCIE") }, 56 new ColorFormatParameter() { Parameter = "%Lo", Description = resourceLoader.GetString("Help_lightnessOklab") }, 57 new ColorFormatParameter() { Parameter = "%Oa", Description = resourceLoader.GetString("Help_chromaticityAOklab") }, 58 new ColorFormatParameter() { Parameter = "%Ob", Description = resourceLoader.GetString("Help_chromaticityBOklab") }, 59 new ColorFormatParameter() { Parameter = "%Oc", Description = resourceLoader.GetString("Help_chromaOklch") }, 60 new ColorFormatParameter() { Parameter = "%Oh", Description = resourceLoader.GetString("Help_hueOklch") }, 61 new ColorFormatParameter() { Parameter = "%Xv", Description = resourceLoader.GetString("Help_X_value") }, 62 new ColorFormatParameter() { Parameter = "%Yv", Description = resourceLoader.GetString("Help_Y_value") }, 63 new ColorFormatParameter() { Parameter = "%Zv", Description = resourceLoader.GetString("Help_Z_value") }, 64 new ColorFormatParameter() { Parameter = "%Dv", Description = resourceLoader.GetString("Help_decimal_value_BGR") }, 65 new ColorFormatParameter() { Parameter = "%Dr", Description = resourceLoader.GetString("Help_decimal_value_RGB") }, 66 new ColorFormatParameter() { Parameter = "%Na", Description = resourceLoader.GetString("Help_color_name") }, 67 }; 68 69 ColorParametersItemsControl.ItemsSource = new List<ColorFormatParameter> 70 { 71 new ColorFormatParameter() { Parameter = "b", Description = resourceLoader.GetString("Help_byte") }, 72 new ColorFormatParameter() { Parameter = "h", Description = resourceLoader.GetString("Help_hexL1") }, 73 new ColorFormatParameter() { Parameter = "H", Description = resourceLoader.GetString("Help_hexU1") }, 74 new ColorFormatParameter() { Parameter = "x", Description = resourceLoader.GetString("Help_hexL2") }, 75 new ColorFormatParameter() { Parameter = "X", Description = resourceLoader.GetString("Help_hexU2") }, 76 new ColorFormatParameter() { Parameter = "f", Description = resourceLoader.GetString("Help_floatWith") }, 77 new ColorFormatParameter() { Parameter = "F", Description = resourceLoader.GetString("Help_floatWithout") }, 78 }; 79 } 80 81 private void NewColorName_TextChanged(object sender, TextChangedEventArgs e) 82 { 83 OnPropertyChanged(); 84 } 85 86 private void NewColorFormatTextBox_TextChanged(object sender, TextChangedEventArgs e) 87 { 88 OnPropertyChanged(); 89 } 90 91 public event EventHandler PropertyChanged; 92 93 private void OnPropertyChanged() 94 { 95 PropertyChanged?.Invoke(this, new PropertyChangedEventArgs("PropertyChanged")); 96 } 97 } 98 99 #pragma warning disable SA1402 // File may only contain a single type 100 public class ColorFormatParameter 101 #pragma warning restore SA1402 // File may only contain a single type 102 { 103 public string Parameter { get; set; } 104 105 public string Description { get; set; } 106 } 107 }