using Avalonia; using Avalonia.Controls; using Avalonia.Markup.Xaml; using Avalonia.Media; using System; namespace Mesen.Controls { public class ControllerButton : UserControl { public static readonly StyledProperty KeyBindingProperty = AvaloniaProperty.Register(nameof(KeyBinding), 0, false, Avalonia.Data.BindingMode.TwoWay); public static readonly StyledProperty TurboKeyBindingProperty = AvaloniaProperty.Register(nameof(TurboKeyBinding), 0, false, Avalonia.Data.BindingMode.TwoWay); public static readonly StyledProperty LabelProperty = AvaloniaProperty.Register(nameof(Label)); public static readonly StyledProperty HasTurboProperty = AvaloniaProperty.Register(nameof(HasTurbo), true); public UInt32 KeyBinding { get { return GetValue(KeyBindingProperty); } set { SetValue(KeyBindingProperty, value); } } public UInt32 TurboKeyBinding { get { return GetValue(TurboKeyBindingProperty); } set { SetValue(TurboKeyBindingProperty, value); } } public string Label { get { return GetValue(LabelProperty); } set { SetValue(LabelProperty, value); } } public bool HasTurbo { get { return GetValue(HasTurboProperty); } set { SetValue(HasTurboProperty, value); } } public ControllerButton() { InitializeComponent(); } private void InitializeComponent() { AvaloniaXamlLoader.Load(this); } } }