FindMyMouseProperties.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.Text.Json.Serialization; 6 7 using Settings.UI.Library.Attributes; 8 9 namespace Microsoft.PowerToys.Settings.UI.Library 10 { 11 public class FindMyMouseProperties 12 { 13 [CmdConfigureIgnore] 14 public HotkeySettings DefaultActivationShortcut => new HotkeySettings(true, false, false, true, 0x46); 15 16 [JsonPropertyName("activation_method")] 17 public IntProperty ActivationMethod { get; set; } 18 19 [JsonPropertyName("include_win_key")] 20 public BoolProperty IncludeWinKey { get; set; } 21 22 [JsonPropertyName("activation_shortcut")] 23 public HotkeySettings ActivationShortcut { get; set; } 24 25 [JsonPropertyName("do_not_activate_on_game_mode")] 26 public BoolProperty DoNotActivateOnGameMode { get; set; } 27 28 [JsonPropertyName("background_color")] 29 public StringProperty BackgroundColor { get; set; } 30 31 [JsonPropertyName("spotlight_color")] 32 public StringProperty SpotlightColor { get; set; } 33 34 [JsonPropertyName("spotlight_radius")] 35 public IntProperty SpotlightRadius { get; set; } 36 37 [JsonPropertyName("animation_duration_ms")] 38 public IntProperty AnimationDurationMs { get; set; } 39 40 [JsonPropertyName("spotlight_initial_zoom")] 41 public IntProperty SpotlightInitialZoom { get; set; } 42 43 [JsonPropertyName("excluded_apps")] 44 public StringProperty ExcludedApps { get; set; } 45 46 [JsonPropertyName("shaking_minimum_distance")] 47 public IntProperty ShakingMinimumDistance { get; set; } 48 49 [JsonPropertyName("shaking_interval_ms")] 50 public IntProperty ShakingIntervalMs { get; set; } 51 52 [JsonPropertyName("shaking_factor")] 53 public IntProperty ShakingFactor { get; set; } 54 55 public FindMyMouseProperties() 56 { 57 ActivationMethod = new IntProperty(0); 58 IncludeWinKey = new BoolProperty(false); 59 ActivationShortcut = DefaultActivationShortcut; 60 DoNotActivateOnGameMode = new BoolProperty(true); 61 BackgroundColor = new StringProperty("#80000000"); // ARGB (#AARRGGBB) 62 SpotlightColor = new StringProperty("#80FFFFFF"); 63 SpotlightRadius = new IntProperty(100); 64 AnimationDurationMs = new IntProperty(500); 65 SpotlightInitialZoom = new IntProperty(9); 66 ExcludedApps = new StringProperty(); 67 ShakingMinimumDistance = new IntProperty(1000); 68 ShakingIntervalMs = new IntProperty(1000); 69 ShakingFactor = new IntProperty(400); 70 } 71 } 72 }