Clean up some magic numbers between code and axaml.

This commit is contained in:
MutantAura 2024-05-30 14:29:05 +01:00
parent d01c67f7bf
commit e3e16f0345
2 changed files with 30 additions and 25 deletions

View file

@ -3,7 +3,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;
@ -12,7 +11,11 @@ namespace Ryujinx.Ava.UI.ViewModels.Input
public class ControllerInputViewModel : BaseModel
{
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;
@ -100,15 +103,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 readonly InputViewModel ParentModel;

View file

@ -333,15 +333,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="*" />
@ -351,8 +351,8 @@
HorizontalAlignment="Center"
Stroke="Black"
StrokeThickness="1"
Width="100"
Height="100"
Width="{Binding UiCanvasSize}"
Height="{Binding UiCanvasSize}"
Canvas.Bottom="2"
Canvas.Left="2" />
<Ellipse
@ -365,8 +365,8 @@
</Grid>
<Ellipse
Fill="Red"
Width="5"
Height="5"
Width="{Binding UiStickCircumference}"
Height="{Binding UiStickCircumference}"
Canvas.Bottom="{Binding UiStickLeftY}"
Canvas.Left="{Binding UiStickLeftX}" />
</Canvas>
@ -375,15 +375,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="*" />
@ -393,8 +393,8 @@
HorizontalAlignment="Center"
Stroke="Black"
StrokeThickness="1"
Width="100"
Height="100"
Width="{Binding UiCanvasSize}"
Height="{Binding UiCanvasSize}"
Canvas.Bottom="2"
Canvas.Left="2" />
<Ellipse
@ -407,8 +407,8 @@
</Grid>
<Ellipse
Fill="Red"
Width="5"
Height="5"
Width="{Binding UiStickCircumference}"
Height="{Binding UiStickCircumference}"
Canvas.Bottom="{Binding UiStickRightY}"
Canvas.Left="{Binding UiStickRightX}" />
</Canvas>