Browse Source

Also add option to show fps overlay

pull/4609/head
Luis von der Eltz 6 years ago
parent
commit
2bd8156fae
  1. 20
      src/Avalonia.Diagnostics/Diagnostics/ViewModels/MainViewModel.cs
  2. 7
      src/Avalonia.Diagnostics/Diagnostics/Views/MainView.xaml

20
src/Avalonia.Diagnostics/Diagnostics/ViewModels/MainViewModel.cs

@ -20,6 +20,7 @@ namespace Avalonia.Diagnostics.ViewModels
private string _pointerOverElement;
private bool _shouldVisualizeMarginPadding = true;
private bool _shouldVisualizeDirtyRects;
private bool _showFpsOverlay;
public MainViewModel(TopLevel root)
{
@ -47,9 +48,8 @@ namespace Avalonia.Diagnostics.ViewModels
get => _shouldVisualizeDirtyRects;
set
{
RaiseAndSetIfChanged(ref _shouldVisualizeDirtyRects, value);
_root.Renderer.DrawDirtyRects = value;
RaiseAndSetIfChanged(ref _shouldVisualizeDirtyRects, value);
}
}
@ -63,6 +63,21 @@ namespace Avalonia.Diagnostics.ViewModels
ShouldVisualizeMarginPadding = !ShouldVisualizeMarginPadding;
}
public bool ShowFpsOverlay
{
get => _showFpsOverlay;
set
{
_root.Renderer.DrawFps = value;
RaiseAndSetIfChanged(ref _showFpsOverlay, value);
}
}
public void ToggleFpsOverlay()
{
ShowFpsOverlay = !ShowFpsOverlay;
}
public ConsoleViewModel Console { get; }
public ViewModelBase Content
@ -155,6 +170,7 @@ namespace Avalonia.Diagnostics.ViewModels
_logicalTree.Dispose();
_visualTree.Dispose();
_root.Renderer.DrawDirtyRects = false;
_root.Renderer.DrawFps = false;
}
private void UpdateFocusedControl()

7
src/Avalonia.Diagnostics/Diagnostics/Views/MainView.xaml

@ -31,6 +31,13 @@
IsEnabled="False"/>
</MenuItem.Icon>
</MenuItem>
<MenuItem Header="Show fps overlay" Command="{Binding ToggleFpsOverlay}">
<MenuItem.Icon>
<CheckBox BorderThickness="0"
IsChecked="{Binding ShowFpsOverlay}"
IsEnabled="False"/>
</MenuItem.Icon>
</MenuItem>
</MenuItem>
</Menu>

Loading…
Cancel
Save