OverviewFilesCommitsIssuesDocsReleasesPeers

ifsrenderer-linux / WpfDisplay / Views / CameraSettingsView.xaml

71 lines · xaml ref:
<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>