Mesen2/UI/Views/AudioPlayerView.axaml
Sour d208fdc6a7 UI: Support for NativeAOT
Added Windows & Linux builds using AOT compilation
2024-06-05 20:23:31 +09:00

86 lines
3.3 KiB
XML

<UserControl
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:vm="using:Mesen.ViewModels"
xmlns:c="using:Mesen.Controls"
xmlns:cfg="using:Mesen.Config"
xmlns:l="using:Mesen.Localization"
mc:Ignorable="d" d:DesignWidth="500" d:DesignHeight="450"
VerticalAlignment="Stretch"
HorizontalAlignment="Stretch"
x:DataType="vm:AudioPlayerViewModel"
x:Class="Mesen.Views.AudioPlayerView"
>
<Design.DataContext>
<vm:AudioPlayerViewModel />
</Design.DataContext>
<UserControl.Resources>
<Color x:Key="SliderTrackFill">Gray</Color>
<Color x:Key="SliderTrackFillPointerOver">Gray</Color>
<Color x:Key="SliderTrackFillPressed">Gray</Color>
</UserControl.Resources>
<UserControl.Styles>
<Style Selector="Slider TickBar">
<Setter Property="Fill" Value="Gray" />
</Style>
<Style Selector="Button.Toggle">
<Setter Property="Background" Value="Transparent" />
<Setter Property="MinWidth" Value="0" />
<Setter Property="BorderThickness" Value="0" />
</Style>
<Style Selector="Button.Toggle:pointerover /template/ ContentPresenter#PART_ContentPresenter">
<Setter Property="Background" Value="Transparent" />
</Style>
</UserControl.Styles>
<Panel Background="#000">
<Panel Margin="0 0 0 3">
<StackPanel DockPanel.Dock="Bottom" Orientation="Horizontal" HorizontalAlignment="Left">
<Button Click="OnToggleShuffleClick" Height="26" Classes="Toggle" ToolTip.Tip="{l:Translate btnToggleShuffle}" Cursor="Hand">
<Panel>
<Image Stretch="None" Source="/Assets/ShuffleEnabled.png" IsVisible="{Binding Config.Shuffle}" />
<Image Stretch="None" Source="/Assets/Shuffle.png" IsVisible="{Binding !Config.Shuffle}" />
</Panel>
</Button>
<Button Click="OnToggleRepeatClick" Height="26" Classes="Toggle" ToolTip.Tip="{l:Translate btnToggleRepeat}" Cursor="Hand">
<Panel>
<Image Stretch="None" Source="/Assets/RepeatEnabled.png" IsVisible="{Binding Config.Repeat}" />
<Image Stretch="None" Source="/Assets/Repeat.png" IsVisible="{Binding !Config.Repeat}" />
</Panel>
</Button>
</StackPanel>
<StackPanel DockPanel.Dock="Bottom" Orientation="Horizontal" HorizontalAlignment="Center">
<Button Click="OnPrevTrackClick" ToolTip.Tip="{l:Translate btnPrevTrack}">
<Image Width="23" Height="16" Source="/Assets/PrevTrack.png" />
</Button>
<Button Click="OnPlayClick" Height="30" Width="40" ToolTip.Tip="{l:Translate btnPlayPause}">
<Panel>
<Image Height="16" Width="16" Source="/Assets/MediaPlay.png" IsVisible="{Binding IsPaused}" />
<Image Height="16" Width="16" Source="/Assets/MediaPause.png" IsVisible="{Binding !IsPaused}" />
</Panel>
</Button>
<Button Click="OnNextTrackClick" ToolTip.Tip="{l:Translate btnNextTrack}">
<Image Width="23" Height="16" Source="/Assets/NextTrack.png" />
</Button>
</StackPanel>
<Panel VerticalAlignment="Center" HorizontalAlignment="Right" Margin="0 0 5 0">
<c:MesenSlider
Width="100"
HideValue="True"
TickFrequency="10"
Minimum="0"
Maximum="100"
Value="{Binding Config.Volume}"
/>
</Panel>
</Panel>
</Panel>
</UserControl>