Clean up some magic numbers between code and axaml.

This commit is contained in:
MutantAura 2024-05-30 14:29:05 +01:00 committed by Evan Husted
parent aa3f2824e0
commit ce13830063
2 changed files with 31 additions and 26 deletions

View File

@ -7,7 +7,6 @@ using Ryujinx.Ava.Input;
using Ryujinx.Ava.UI.Models.Input;
using Ryujinx.Ava.UI.Views.Input;
using Ryujinx.Input;
using System;
using System.Threading;
using System.Threading.Tasks;
@ -18,7 +17,11 @@ namespace Ryujinx.Ava.UI.ViewModels.Input
[ObservableProperty] private GamepadInputConfig _config;
private const int StickUiPollMs = 50; // Milliseconds per poll.
private const float CanvasCenterOffset = 47.5f;
private const int StickCircumference = 5;
private const int CanvasSize = 100;
private const int StickBorderSize = CanvasSize + 5;
private const float CanvasCenterOffset = (CanvasSize - StickCircumference) / 2;
private const int StickScaleFactor = 45;
private IGamepad _selectedGamepad;
@ -88,15 +91,17 @@ namespace Ryujinx.Ava.UI.ViewModels.Input
}
}
public float canvasCenter => CanvasCenterOffset;
public int UiStickCircumference => StickCircumference;
public int UiCanvasSize => CanvasSize;
public int UiStickBorderSize => StickBorderSize;
public float UiStickLeftX => UiStickLeft.Item1 + CanvasCenterOffset;
public float UiStickLeftY => UiStickLeft.Item2 + CanvasCenterOffset;
public float UiStickRightX => UiStickRight.Item1 + CanvasCenterOffset;
public float UiStickRightY => UiStickRight.Item2 + CanvasCenterOffset;
public float UiDeadzoneLeft => Config.DeadzoneLeft * 95;
public float UiDeadzoneRight => Config.DeadzoneRight * 95;
public float UiDeadzoneLeft => Config.DeadzoneLeft * (CanvasSize - StickCircumference);
public float UiDeadzoneRight => Config.DeadzoneRight * (CanvasSize - StickCircumference);
public ControllerInputViewModel(InputViewModel model, GamepadInputConfig config)
{

View File

@ -334,15 +334,15 @@
BorderBrush="{DynamicResource ThemeControlBorderColor}"
BorderThickness="1"
CornerRadius="5"
Height="105"
Width="105">
Height="{Binding UiStickBorderSize}"
Width="{Binding UiStickBorderSize}">
<Canvas
Background="{DynamicResource ThemeBackgroundColor}"
Height="100"
Width="100">
Height="{Binding UiCanvasSize}"
Width="{Binding UiCanvasSize}">
<Grid
Height="100"
Width="100"
Height="{Binding UiCanvasSize}"
Width="{Binding UiCanvasSize}"
Background="{DynamicResource ThemeBackgroundColor}">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
@ -352,8 +352,8 @@
HorizontalAlignment="Center"
Stroke="Black"
StrokeThickness="1"
Width="100"
Height="100"
Width="{Binding UiCanvasSize}"
Height="{Binding UiCanvasSize}"
Canvas.Bottom="2"
Canvas.Left="2" />
<Ellipse
@ -366,8 +366,8 @@
</Grid>
<Ellipse
Fill="Red"
Width="5"
Height="5"
Width="{Binding UiStickCircumference}"
Height="{Binding UiStickCircumference}"
Canvas.Bottom="{Binding UiStickLeftY}"
Canvas.Left="{Binding UiStickLeftX}" />
</Canvas>
@ -376,15 +376,15 @@
BorderBrush="{DynamicResource ThemeControlBorderColor}"
BorderThickness="1"
CornerRadius="5"
Height="105"
Width="105">
Height="{Binding UiStickBorderSize}"
Width="{Binding UiStickBorderSize}">
<Canvas
Background="{DynamicResource ThemeBackgroundColor}"
Height="100"
Width="100">
Height="{Binding UiCanvasSize}"
Width="{Binding UiCanvasSize}">
<Grid
Height="100"
Width="100"
Height="{Binding UiCanvasSize}"
Width="{Binding UiCanvasSize}"
Background="{DynamicResource ThemeBackgroundColor}">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
@ -394,8 +394,8 @@
HorizontalAlignment="Center"
Stroke="Black"
StrokeThickness="1"
Width="100"
Height="100"
Width="{Binding UiCanvasSize}"
Height="{Binding UiCanvasSize}"
Canvas.Bottom="2"
Canvas.Left="2" />
<Ellipse
@ -408,8 +408,8 @@
</Grid>
<Ellipse
Fill="Red"
Width="5"
Height="5"
Width="{Binding UiStickCircumference}"
Height="{Binding UiStickCircumference}"
Canvas.Bottom="{Binding UiStickRightY}"
Canvas.Left="{Binding UiStickRightX}" />
</Canvas>