<window:StyleableWindow x:Class="Ryujinx.Ava.UI.Windows.MainWindow" xmlns="https://github.com/avaloniaui" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:window="clr-namespace:Ryujinx.Ava.UI.Windows" xmlns:viewModels="clr-namespace:Ryujinx.Ava.UI.ViewModels" xmlns:helpers="clr-namespace:Ryujinx.Ava.UI.Helpers" xmlns:controls="clr-namespace:Ryujinx.Ava.UI.Controls" xmlns:main="clr-namespace:Ryujinx.Ava.UI.Views.Main" Cursor="{Binding Cursor}" Title="{Binding Title}" WindowState="{Binding WindowState}" Width="1280" Height="777" MinWidth="1092" MinHeight="672" d:DesignHeight="720" d:DesignWidth="1280" x:CompileBindings="True" x:DataType="viewModels:MainWindowViewModel" WindowStartupLocation="CenterScreen" mc:Ignorable="d" Focusable="True"> <Window.Styles> <Style Selector="TitleBar:fullscreen"> <Setter Property="Background" Value="#000000" /> </Style> </Window.Styles> <Design.DataContext> <viewModels:MainWindowViewModel /> </Design.DataContext> <Window.Resources> <helpers:BitmapArrayValueConverter x:Key="ByteImage" /> </Window.Resources> <Grid HorizontalAlignment="Stretch" VerticalAlignment="Stretch"> <Grid.RowDefinitions> <RowDefinition Height="Auto" /> <RowDefinition Height="*" /> </Grid.RowDefinitions> <helpers:OffscreenTextBox Name="HiddenTextBox" Grid.Row="0" /> <StackPanel Grid.Row="0" IsVisible="False"> <helpers:HotKeyControl Name="FullscreenHotKey" Command="{ReflectionBinding ToggleFullscreen}" /> <helpers:HotKeyControl Name="FullscreenHotKey2" Command="{ReflectionBinding ToggleFullscreen}" /> <helpers:HotKeyControl Name="FullscreenHotKeyMacOS" Command="{ReflectionBinding ToggleFullscreen}" /> <helpers:HotKeyControl Name="DockToggleHotKey" Command="{ReflectionBinding ToggleDockMode}" /> <helpers:HotKeyControl Name="ExitHotKey" Command="{ReflectionBinding ExitCurrentState}" /> </StackPanel> <Grid Grid.Row="1" HorizontalAlignment="Stretch" VerticalAlignment="Stretch"> <Grid.ColumnDefinitions> <ColumnDefinition Width="*" /> </Grid.ColumnDefinitions> <Grid.RowDefinitions> <RowDefinition Height="Auto" /> <RowDefinition Height="*" /> <RowDefinition Height="Auto" /> </Grid.RowDefinitions> <StackPanel Name="MenuBar" MinHeight="35" Grid.Row="0" Margin="0" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" IsVisible="{Binding ShowMenuAndStatusBar}" Orientation="Vertical"> <main:MainMenuBarView Name="MenuBarView" /> </StackPanel> <ContentControl Name="MainContent" Grid.Row="1" Padding="0" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" BorderBrush="{DynamicResource ThemeControlBorderColor}" BorderThickness="0,0,0,0" DockPanel.Dock="Top" IsVisible="{Binding ShowContent}"> <Grid HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Name="GameLibrary"> <Grid.RowDefinitions> <RowDefinition Height="Auto" /> <RowDefinition Height="*" /> </Grid.RowDefinitions> <main:MainViewControls Name="ViewControls" Grid.Row="0"/> <controls:GameListView x:Name="GameList" Grid.Row="1" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" HorizontalContentAlignment="Stretch" VerticalContentAlignment="Stretch" IsVisible="{Binding IsList}" /> <controls:GameGridView x:Name="GameGrid" Grid.Row="1" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" HorizontalContentAlignment="Stretch" VerticalContentAlignment="Stretch" IsVisible="{Binding IsGrid}" /> </Grid> </ContentControl> <Grid Grid.Row="1" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Background="{DynamicResource ThemeContentBackgroundColor}" IsVisible="{Binding ShowLoadProgress}" Name="LoadingView" ZIndex="1000"> <Grid Margin="40" HorizontalAlignment="Center" VerticalAlignment="Center" IsVisible="{Binding ShowLoadProgress}"> <Grid.ColumnDefinitions> <ColumnDefinition Width="Auto" /> <ColumnDefinition Width="*" /> </Grid.ColumnDefinitions> <Border Grid.RowSpan="2" Grid.Column="0" Width="256" Height="256" Margin="10" Padding="4" BorderBrush="Black" BorderThickness="2" BoxShadow="4 4 32 8 #40000000" CornerRadius="3" IsVisible="{Binding ShowLoadProgress}"> <Image Width="256" Height="256" IsVisible="{Binding ShowLoadProgress}" Source="{Binding SelectedIcon, Converter={StaticResource ByteImage}}" /> </Border> <Grid Grid.Column="1" HorizontalAlignment="Stretch" VerticalAlignment="Center" IsVisible="{Binding ShowLoadProgress}"> <Grid.RowDefinitions> <RowDefinition Height="Auto" /> <RowDefinition Height="Auto" /> <RowDefinition Height="Auto" /> </Grid.RowDefinitions> <TextBlock Grid.Row="0" Margin="10" FontSize="30" FontWeight="Bold" IsVisible="{Binding ShowLoadProgress}" Text="{Binding LoadHeading}" TextAlignment="Left" TextWrapping="Wrap" MaxWidth="500" /> <Border Grid.Row="1" Margin="10" Padding="0" HorizontalAlignment="Stretch" BorderBrush="{Binding ProgressBarBackgroundColor}" BorderThickness="1" ClipToBounds="True" CornerRadius="5" IsVisible="{Binding ShowLoadProgress}"> <ProgressBar Height="10" MinWidth="500" Margin="0" Padding="0" HorizontalAlignment="Stretch" ClipToBounds="True" CornerRadius="5" Foreground="{Binding ProgressBarForegroundColor}" IsIndeterminate="{Binding IsLoadingIndeterminate}" IsVisible="{Binding ShowLoadProgress}" Maximum="{Binding ProgressMaximum}" Minimum="0" Value="{Binding ProgressValue}" /> </Border> <TextBlock Grid.Row="2" Margin="10" FontSize="18" IsVisible="{Binding ShowLoadProgress}" Text="{Binding CacheLoadStatus}" TextAlignment="Left" MaxWidth="500" /> </Grid> </Grid> </Grid> <main:MainStatusBarView Name="StatusBarView" Grid.Row="2" /> </Grid> </Grid> </window:StyleableWindow>