<UserControl x:Class="CyberX8_Themes.UserControls.EFEMRight"
             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:CyberX8_Themes.UserControls"
             xmlns:converters="clr-namespace:CyberX8_Themes.Converters"
             xmlns:ctrl="http://OpenSEMI.Ctrlib.com/presentation"
             xmlns:customControls="clr-namespace:CyberX8_Themes.CustomControls"
             mc:Ignorable="d" 
             d:DesignHeight="450" d:DesignWidth="800" Name="efem">
    <VisualStateManager.VisualStateGroups>
        <VisualStateGroup Name="RobotTActions">
            <VisualStateGroup.Transitions>
                <VisualTransition To="Left">
                    <Storyboard FillBehavior="HoldEnd">
                        <DoubleAnimationUsingKeyFrames Storyboard.TargetName="robotRotateAct" Storyboard.TargetProperty="X">
                            <LinearDoubleKeyFrame Value="-210" KeyTime="0:0:0.5"/>
                        </DoubleAnimationUsingKeyFrames>
                    </Storyboard>
                </VisualTransition>
                <VisualTransition To="Right">
                    <Storyboard FillBehavior="HoldEnd">
                        <DoubleAnimationUsingKeyFrames Storyboard.TargetName="robotRotateAct" Storyboard.TargetProperty="X">
                            <LinearDoubleKeyFrame Value="510" KeyTime="0:0:0.5"/>
                        </DoubleAnimationUsingKeyFrames>
                    </Storyboard>
                </VisualTransition>
                <VisualTransition To="Middle">
                    <Storyboard FillBehavior="HoldEnd">
                        <DoubleAnimationUsingKeyFrames Storyboard.TargetName="robotRotateAct" Storyboard.TargetProperty="X">
                            <LinearDoubleKeyFrame Value="130" KeyTime="0:0:0.5"/>
                        </DoubleAnimationUsingKeyFrames>
                    </Storyboard>
                </VisualTransition>
                <VisualTransition To="Origin">
                    <Storyboard FillBehavior="HoldEnd">
                        <DoubleAnimationUsingKeyFrames Storyboard.TargetName="robotRotateAct" Storyboard.TargetProperty="X">
                            <LinearDoubleKeyFrame Value="0" KeyTime="0:0:0.5"/>
                        </DoubleAnimationUsingKeyFrames>
                    </Storyboard>
                </VisualTransition>
            </VisualStateGroup.Transitions>

            <VisualState Name="Left">
                <Storyboard FillBehavior="HoldEnd">
                    <DoubleAnimationUsingKeyFrames Storyboard.TargetName="robotRotateAct" Storyboard.TargetProperty="X">
                        <LinearDoubleKeyFrame Value="-210" KeyTime="0:0:0"/>
                    </DoubleAnimationUsingKeyFrames>
                </Storyboard>
            </VisualState>
            <VisualState Name="Right">
                <Storyboard FillBehavior="HoldEnd">
                    <DoubleAnimationUsingKeyFrames Storyboard.TargetName="robotRotateAct" Storyboard.TargetProperty="X">
                        <LinearDoubleKeyFrame Value="510" KeyTime="0:0:0"/>
                    </DoubleAnimationUsingKeyFrames>
                </Storyboard>
            </VisualState>
            <VisualState Name="Middle">
                <Storyboard FillBehavior="HoldEnd">
                    <DoubleAnimationUsingKeyFrames Storyboard.TargetName="robotRotateAct" Storyboard.TargetProperty="X">
                        <LinearDoubleKeyFrame Value="130" KeyTime="0:0:0"/>
                    </DoubleAnimationUsingKeyFrames>
                </Storyboard>
            </VisualState>
            <VisualState Name="Origin">
                <Storyboard FillBehavior="HoldEnd">
                    <DoubleAnimationUsingKeyFrames Storyboard.TargetName="robotRotateAct" Storyboard.TargetProperty="X">
                        <LinearDoubleKeyFrame Value="0" KeyTime="0:0:0"/>
                    </DoubleAnimationUsingKeyFrames>
                </Storyboard>
            </VisualState>
        </VisualStateGroup>

    </VisualStateManager.VisualStateGroups>
    <UserControl.Resources>
        <converters:BoolToVisibility2 x:Key="BoolToVisibility2"/>
        <Style x:Key="LP1Style">
            <Style.Triggers>
                <DataTrigger Binding="{Binding ElementName=efem,Path=LP1Loaded}" Value="True">
                    <DataTrigger.EnterActions>
                        <BeginStoryboard>
                            <Storyboard>
                                <DoubleAnimation  Storyboard.TargetProperty="RenderTransform.Children[0].Y" To="-30" Duration="0:0:1"/>
                            </Storyboard>
                        </BeginStoryboard>
                    </DataTrigger.EnterActions>
                    <DataTrigger.ExitActions>
                        <BeginStoryboard>
                            <Storyboard>
                                <DoubleAnimation  Storyboard.TargetProperty="RenderTransform.Children[0].Y" To="0" Duration="0:0:1"/>
                            </Storyboard>
                        </BeginStoryboard>
                    </DataTrigger.ExitActions>
                </DataTrigger>
            </Style.Triggers>
        </Style>
        <Style x:Key="LP2Style">
            <Style.Triggers>
                <DataTrigger Binding="{Binding ElementName=efem,Path=LP2Loaded}" Value="True">
                    <DataTrigger.EnterActions>
                        <BeginStoryboard>
                            <Storyboard>
                                <DoubleAnimation  Storyboard.TargetProperty="RenderTransform.Children[0].Y" To="-30" Duration="0:0:1"/>
                            </Storyboard>
                        </BeginStoryboard>
                    </DataTrigger.EnterActions>
                    <DataTrigger.ExitActions>
                        <BeginStoryboard>
                            <Storyboard>
                                <DoubleAnimation  Storyboard.TargetProperty="RenderTransform.Children[0].Y" To="0" Duration="0:0:1"/>
                            </Storyboard>
                        </BeginStoryboard>
                    </DataTrigger.ExitActions>
                </DataTrigger>
            </Style.Triggers>
        </Style>
        <Style x:Key="LP3Style">
            <Style.Triggers>
                <DataTrigger Binding="{Binding ElementName=efem,Path=LP3Loaded}" Value="True">
                    <DataTrigger.EnterActions>
                        <BeginStoryboard>
                            <Storyboard>
                                <DoubleAnimation  Storyboard.TargetProperty="RenderTransform.Children[0].Y" To="-30" Duration="0:0:1"/>
                            </Storyboard>
                        </BeginStoryboard>
                    </DataTrigger.EnterActions>
                    <DataTrigger.ExitActions>
                        <BeginStoryboard>
                            <Storyboard>
                                <DoubleAnimation  Storyboard.TargetProperty="RenderTransform.Children[0].Y" To="0" Duration="0:0:1"/>
                            </Storyboard>
                        </BeginStoryboard>
                    </DataTrigger.ExitActions>
                </DataTrigger>
            </Style.Triggers>
        </Style>
        <Style x:Key="PlatformStyle">
            <Style.Triggers>

                <DataTrigger Binding="{Binding ElementName=efem,Path=CurrentRobotPosition}" Value="Left">
                    <DataTrigger.EnterActions>
                        <BeginStoryboard x:Name="toLeft">
                            <Storyboard>
                                <DoubleAnimation FillBehavior="HoldEnd" Storyboard.TargetProperty="RenderTransform.Children[0].X"  To="-200" Duration="0:0:1"/>
                            </Storyboard>
                        </BeginStoryboard>
                    </DataTrigger.EnterActions>
                    <!--<DataTrigger.ExitActions>
                        <RemoveStoryboard BeginStoryboardName="toLeft"/>
                    </DataTrigger.ExitActions>-->
                </DataTrigger>
                <DataTrigger Binding="{Binding ElementName=efem,Path=CurrentRobotPosition}" Value="Middle">
                    <DataTrigger.EnterActions>
                        <BeginStoryboard x:Name="toMiddle">
                            <Storyboard>
                                <DoubleAnimation FillBehavior="HoldEnd" Storyboard.TargetProperty="RenderTransform.Children[0].X"  To="100" Duration="0:0:1"/>
                            </Storyboard>
                        </BeginStoryboard>
                    </DataTrigger.EnterActions>
                    <!--<DataTrigger.ExitActions>
                        <RemoveStoryboard BeginStoryboardName="toMiddle"/>
                    </DataTrigger.ExitActions>-->
                </DataTrigger>
                <DataTrigger Binding="{Binding ElementName=efem,Path=CurrentRobotPosition}" Value="Right">
                    <DataTrigger.EnterActions>
                        <BeginStoryboard x:Name="toRight">
                            <Storyboard>
                                <DoubleAnimation FillBehavior="HoldEnd" Storyboard.TargetProperty="RenderTransform.Children[0].X"  To="500" Duration="0:0:1"/>
                            </Storyboard>
                        </BeginStoryboard>
                    </DataTrigger.EnterActions>
                    <!--<DataTrigger.ExitActions>
                        <RemoveStoryboard BeginStoryboardName="toRight"/>
                    </DataTrigger.ExitActions>-->
                </DataTrigger>
                <DataTrigger Binding="{Binding ElementName=efem,Path=CurrentRobotPosition}" Value="Origin">
                    <DataTrigger.EnterActions>
                        <BeginStoryboard x:Name="toOrigin">
                            <Storyboard>
                                <DoubleAnimation FillBehavior="HoldEnd"  Storyboard.TargetProperty="RenderTransform.Children[0].X"  To="0" Duration="0:0:1"/>
                            </Storyboard>
                        </BeginStoryboard>
                    </DataTrigger.EnterActions>
                    <!--<DataTrigger.ExitActions>
                        <RemoveStoryboard BeginStoryboardName="toOrigin"/>
                    </DataTrigger.ExitActions>-->
                </DataTrigger>
            </Style.Triggers>
        </Style>

    </UserControl.Resources>



    <Viewbox Stretch="Fill">
        <Border BorderThickness="0" BorderBrush="Gray">
            <Canvas  Width="1500" Height="600">
                <Polygon Points="0,600 0,0 1500,0 1500,600 0,600"  Stroke="Gray" StrokeThickness="20" >
                    <Polygon.Fill>
                        <LinearGradientBrush StartPoint="0,0" EndPoint="1,1">
                            <GradientStop Color="Silver" Offset="0.0" />
                            <GradientStop Color="White" Offset="0.5" />
                            <GradientStop Color="Silver" Offset="1" />
                        </LinearGradientBrush>
                    </Polygon.Fill>
                </Polygon>
                <Canvas Width="500" Height="500" Canvas.Left="510" Canvas.Top="50"  RenderTransformOrigin="1 1">
                    <Canvas.RenderTransform>
                        <TransformGroup>
                            <TranslateTransform  x:Name="robotRotateAct"/>
                        </TransformGroup>
                    </Canvas.RenderTransform>
                    <!--<Ellipse  Width="500" Height="500"  x:Name="ep1" >
                        <Ellipse.Fill>
                            <RadialGradientBrush >
                                <GradientStop Color="#FFFFFFFF" Offset="0" />
                                <GradientStop Color="Silver" Offset="1" />
                            </RadialGradientBrush>
                        </Ellipse.Fill>
                    </Ellipse>-->

                    <customControls:GuangChuanRobotControl  OriginT="T_Origin"  Canvas.Left="-30" Canvas.Top="-180"   Width="540" Height="810"     RobotTAction="{Binding ElementName=efem,Path=RobotATAction}"  RobotXAction="{Binding ElementName=efem,Path=RobotAXAction}" RobotWafer="{Binding ElementName=efem,Path=RobotAWaferInfo}"/>
                    <customControls:GuangChuanRobotControl  OriginT="T_Origin"       Canvas.Left="-30" Canvas.Top="-180"   Width="540" Height="810"     RobotTAction="{Binding ElementName=efem,Path=RobotBTAction}"  RobotXAction="{Binding ElementName=efem,Path=RobotBXAction}" RobotWafer="{Binding ElementName=efem,Path=RobotBWaferInfo}"/>
                </Canvas>


                <Viewbox Stretch="Uniform" Width="370" Height="370" Canvas.Left="-10"  Canvas.Top="60">

                    <Canvas UseLayoutRounding="False"  Width="93.693" Height="112.5" HorizontalAlignment="Left" VerticalAlignment="Top">
                        <Canvas  Width="72.522" Height="72.521" Canvas.Left="10.473" Canvas.Top="28.781">
                            <Path Data="F1M10.473,65.041C10.473,85.068,26.708,101.302,46.734,101.302L46.734,101.302C66.761,101.302,82.995,85.068,82.995,65.041L82.995,65.041C82.995,45.015,66.761,28.781,46.734,28.781L46.734,28.781C26.708,28.781,10.473,45.015,10.473,65.041" Stretch="Fill" Width="72.522" Height="72.521" Canvas.Left="0" Canvas.Top="0">
                                <Path.Fill>
                                    <RadialGradientBrush Center="0.5,0.5" RadiusX="0.5" RadiusY="0.5" GradientOrigin="0.5,0.5">
                                        <RadialGradientBrush.GradientStops>
                                            <GradientStop Color="#FFE5E2DF" Offset="0" />
                                            <GradientStop Color="#FFFFFFFF" Offset="0" />
                                            <GradientStop Color="#FFADAEB0" Offset="0.52" />
                                            <GradientStop Color="sc#1, 0.238698155, 0.250727534, 0.259264916" Offset="0.82" />
                                            <GradientStop Color="#FF454F52" Offset="1" />
                                        </RadialGradientBrush.GradientStops>
                                    </RadialGradientBrush>
                                </Path.Fill>
                            </Path>
                            <Path Data="M46.8477,55.6938C52.0087,55.6938 56.1937,59.8788 56.1937,65.0398 56.1937,70.2008 52.0087,74.3858 46.8477,74.3858 41.6857,74.3858 37.5007,70.2008 37.5007,65.0398 37.5007,59.8788 41.6857,55.6938 46.8477,55.6938z" Stretch="Fill" Stroke="White" StrokeThickness="0.25" Width="18.943" Height="18.942" Canvas.Left="26.903" Canvas.Top="26.788" />
                        </Canvas>
                        <Canvas   Width="5.857" Height="5.855" Canvas.Left="43.919" Canvas.Top="62.113">
                            <Path Data="M46.8477,62.1133C48.4637,62.1133 49.7757,63.4243 49.7757,65.0413 49.7757,66.6583 48.4637,67.9683 46.8477,67.9683 45.2307,67.9683 43.9187,66.6583 43.9187,65.0413 43.9187,63.4243 45.2307,62.1133 46.8477,62.1133z" Stretch="Fill" Fill="LightBlue" Stroke="#FF4C4C4C" StrokeThickness="0.25" Width="6.107" Height="6.105" Canvas.Left="-0.125" Canvas.Top="-0.125" />
                        </Canvas>
                        <Canvas   Width="56.555" Height="56.556" Canvas.Left="18.57" Canvas.Top="36.762">
                            <Path Data="M46.8477,46.3472C57.1717,46.3472 65.5407,54.7172 65.5407,65.0412 65.5407,75.3652 57.1717,83.7342 46.8477,83.7342 36.5227,83.7342 28.1537,75.3652 28.1537,65.0412 28.1537,54.7172 36.5227,46.3472 46.8477,46.3472z" Stretch="Fill" Stroke="White" StrokeThickness="0.25" Width="37.637" Height="37.637" Canvas.Left="9.459" Canvas.Top="9.46" />
                            <Path Data="M46.8477,36.8872C62.3957,36.8872 74.9997,49.4912 74.9997,65.0402 74.9997,80.5882 62.3957,93.1932 46.8477,93.1932 31.2987,93.1932 18.6947,80.5882 18.6947,65.0402 18.6947,49.4912 31.2987,36.8872 46.8477,36.8872z" Stretch="Fill" Stroke="White" StrokeThickness="0.25" Width="56.555" Height="56.556" />
                        </Canvas>
                    </Canvas>
                </Viewbox>
                <Viewbox Width="230" Height="230"  Canvas.Left="60" Canvas.Top="160">
                    <local:WaferCtrl WaferData="{Binding ElementName=efem, Path=Aligner1Wafer}"/>
                </Viewbox>



                <local:Loadport Canvas.Left="360"   Canvas.Top="610" Width="300" Height="300"/>
                <local:Loadport Canvas.Left="750"  Canvas.Top="610" Width="300" Height="300"/>
                <local:Loadport Canvas.Left="1150" Canvas.Top="610" Width="300" Height="300"/>


                <TextBlock Text="Aligner1" FontSize="60" Canvas.Left="70"    Canvas.Top="50"/>
                <!--<TextBlock Text="Aligner2" FontSize="40" Canvas.Left="990"  Canvas.Top="5"/>
                <TextBlock Text="Cooling1" FontSize="40" Canvas.Left="66"    Canvas.Top="310"/>
                <TextBlock Text="Aligner1" FontSize="40" Canvas.Left="990"  Canvas.Top="310"/>-->

                <local:Foup Width="230" Height="450" Canvas.Left="395"  Canvas.Top="655"   Visibility="{Binding ElementName=efem,Path=LP1Presented,Converter={StaticResource BoolToVisibility2}}" Style="{StaticResource LP1Style}">
                    <local:Foup.RenderTransform>
                        <TransformGroup>
                            <TranslateTransform/>
                        </TransformGroup>
                    </local:Foup.RenderTransform>
                </local:Foup>
                <local:Foup Width="230" Height="450" Canvas.Left="785"  Canvas.Top="655"   Visibility="{Binding ElementName=efem,Path=LP2Presented,Converter={StaticResource BoolToVisibility2}}" Style="{StaticResource LP2Style}">
                    <local:Foup.RenderTransform>
                        <TransformGroup>
                            <TranslateTransform/>
                        </TransformGroup>
                    </local:Foup.RenderTransform>
                </local:Foup>
                <local:Foup Width="230" Height="450" Canvas.Left="1185" Canvas.Top="655"  Visibility="{Binding ElementName=efem,Path=LP3Presented,Converter={StaticResource BoolToVisibility2}}" Style="{StaticResource LP3Style}">
                    <local:Foup.RenderTransform>
                        <TransformGroup>
                            <TranslateTransform/>
                        </TransformGroup>
                    </local:Foup.RenderTransform>
                </local:Foup>

                <TextBox IsReadOnly="True"  Text="LP1" Canvas.Left="370"  Canvas.Top="910" FontSize="55" Width="280"  Height="83" Background="#B1D2F2"  HorizontalContentAlignment="Center" HorizontalAlignment="Center" VerticalAlignment="Top"/>
                <TextBox IsReadOnly="True"  Text="LP2" Canvas.Left="760"  Canvas.Top="910" FontSize="55" Width="280"  Height="83" Background="#B1D2F2"  HorizontalContentAlignment="Center" HorizontalAlignment="Center" VerticalAlignment="Top"/>
                <TextBox IsReadOnly="True"  Text="LP3" Canvas.Left="1160"  Canvas.Top="910" FontSize="55" Width="280" Height="83" Background="#B1D2F2" HorizontalContentAlignment="Center" HorizontalAlignment="Center" VerticalAlignment="Top"/>
            </Canvas>

        </Border>
    </Viewbox>
</UserControl>