<UserControl x:Class="WpfDisplay.Views.CameraSettingsView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:WpfDisplay.Views"
xmlns:vm="clr-namespace:WpfDisplay.ViewModels"
xmlns:enum="clr-namespace:IFSEngine.Model;assembly=IFSEngine"
mc:Ignorable="d"
d:DesignHeight="300" d:DesignWidth="200"
x:Name="cameraSettingsView"
Padding="8"
d:DataContext="{d:DesignInstance Type=vm:CameraSettingsViewModel, IsDesignTimeCreatable=False}">
<StackPanel>
<Grid>
<Button
Command="{Binding ResetCameraCommand}"
ToolTip="Reset Camera"
Height="20" FontSize="10" Padding="4"
VerticalAlignment="Top" HorizontalAlignment="Right"
Style="{StaticResource MaterialDesignOutlinedButton }">
↩️ Reset
</Button>
<local:ValueSlider Value="{Binding Camera.FieldOfView}" SliderSettings="{Binding FieldOfViewSlider}" Margin="0 16 0 0">
<!--<local:ValueSlider.ToolTip>
<MediaElement
LoadedBehavior="Play"
Width="200"
Height="200"
Source=""/>
</local:ValueSlider.ToolTip>-->
</local:ValueSlider>
</Grid>
<local:ValueSlider Value="{Binding Camera.Aperture}" SliderSettings="{Binding ApertureSlider}">
<local:ValueSlider.ToolTip>
<MediaElement
LoadedBehavior="Play"
Width="200"
Height="200"
Source="https://upload.wikimedia.org/wikipedia/commons/4/4f/Aperture_Helios_44M-4.gif"/>
</local:ValueSlider.ToolTip>
</local:ValueSlider>
<local:ValueSlider Value="{Binding Camera.FocusDistance}" SliderSettings="{Binding FocusDistanceSlider}">
<!--<local:ValueSlider.ToolTip>
<MediaElement
LoadedBehavior="Play"
Width="200"
Height="200"
Source=""/>
</local:ValueSlider.ToolTip>-->
</local:ValueSlider>
<!--TODO: Ability to lock focus on current focus point-->
<CheckBox IsEnabled="False" ToolTip="🛠️ Under Construction" Foreground="White">🔒 Lock focus point</CheckBox>
<local:ValueSlider Value="{Binding Camera.DepthOfField}" SliderSettings="{Binding DepthOfFieldSlider}"/>
<Label Style="{StaticResource MaterialDesignLabel}" Margin="0 8 0 0">
🧊 Projection
</Label>
<ComboBox Padding="8"
ItemsSource="{Binding ProjectionTypes}"
SelectedValue="{Binding ProjectionType}"/>
<StackPanel Visibility="{Binding ProjectionType, Converter={StaticResource equalityToVisibilityConverter}, ConverterParameter={x:Static enum:ProjectionType.Fisheye}}">
<Label ToolTip="Tilting is useful if you are using a planetarium setup where the dome projector is offset from the center.">
⊙ Projection tilt
</Label>
<local:ValueSlider Value="{Binding XTilt}" SliderSettings="{Binding XTiltSlider}"/>
<local:ValueSlider Value="{Binding YTilt}" SliderSettings="{Binding YTiltSlider}"/>
<local:ValueSlider Value="{Binding ZTilt}" SliderSettings="{Binding ZTiltSlider}"/>
</StackPanel>
</StackPanel>
</UserControl>