Files
GSS2Rework/GSS2.UI.Core/ViewModels/ResourceCpuUsageBarsViewModel.cs
T
2026-02-19 13:14:42 +03:00

46 lines
1.3 KiB
C#

using Microsoft.Extensions.Logging;
using CommunityToolkit.Mvvm.ComponentModel;
using Avalonia;
namespace GSS2.UI.Core.ViewModels;
public partial class ResourceCpuUsageBarsViewModel : ViewModelBase
{
private readonly ILogger<ResourceCpuUsageBarsViewModel> _logger;
[ObservableProperty] private Rect _bounds;
[ObservableProperty] private bool _isCoresColumnVisible;
[ObservableProperty] private ResourceBarViewModel _cpu;
[ObservableProperty] private ResourceBarViewModel _cpu0;
[ObservableProperty] private ResourceBarViewModel _cpu1;
[ObservableProperty] private ResourceBarViewModel _cpu2;
[ObservableProperty] private ResourceBarViewModel _cpu3;
public ResourceCpuUsageBarsViewModel(
ILogger<ResourceCpuUsageBarsViewModel> logger,
ResourceBarViewModel cpu,
ResourceBarViewModel cpu0,
ResourceBarViewModel cpu1,
ResourceBarViewModel cpu2,
ResourceBarViewModel cpu3
)
{
_logger = logger;
_logger.LogInformation("Initialized");
Cpu = cpu;
Cpu0 = cpu0;
Cpu1 = cpu1;
Cpu2 = cpu2;
Cpu3 = cpu3;
_logger.LogInformation("Initialized");
}
partial void OnBoundsChanged(Rect value)
{
IsCoresColumnVisible = Math.Min(value.Width, value.Height * 1.5) > 200;
}
}