| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- using Avalonia.Svg.Skia;
- using Ryujinx.Ava.UI.Models.Input;
- namespace Ryujinx.Ava.UI.ViewModels.Input
- {
- public class KeyboardInputViewModel : BaseModel
- {
- private KeyboardInputConfig _config;
- public KeyboardInputConfig Config
- {
- get => _config;
- set
- {
- _config = value;
- OnPropertyChanged();
- }
- }
- private bool _isLeft;
- public bool IsLeft
- {
- get => _isLeft;
- set
- {
- _isLeft = value;
- OnPropertyChanged();
- OnPropertyChanged(nameof(HasSides));
- }
- }
- private bool _isRight;
- public bool IsRight
- {
- get => _isRight;
- set
- {
- _isRight = value;
- OnPropertyChanged();
- OnPropertyChanged(nameof(HasSides));
- }
- }
- public bool HasSides => IsLeft ^ IsRight;
- private SvgImage _image;
- public SvgImage Image
- {
- get => _image;
- set
- {
- _image = value;
- OnPropertyChanged();
- }
- }
- public readonly InputViewModel ParentModel;
- public KeyboardInputViewModel(InputViewModel model, KeyboardInputConfig config)
- {
- ParentModel = model;
- model.NotifyChangesEvent += OnParentModelChanged;
- OnParentModelChanged();
- Config = config;
- }
- public void OnParentModelChanged()
- {
- IsLeft = ParentModel.IsLeft;
- IsRight = ParentModel.IsRight;
- Image = ParentModel.Image;
- }
- }
- }
|