<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <TargetFramework>net10.0</TargetFramework>
    <Nullable>enable</Nullable>
    <LangVersion>preview</LangVersion>
    <AvaloniaUseCompiledBindingsByDefault>true</AvaloniaUseCompiledBindingsByDefault>
    <ImplicitUsings>enable</ImplicitUsings>
    <Company>Ruben Hyldgaard Negendahl</Company>
    <Product>PicView</Product>
    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
    <Platforms>x64;arm64</Platforms>

    <PublishAot>true</PublishAot>
    <Trimming>full</Trimming>
    <TrimmerRemoveSymbols>true</TrimmerRemoveSymbols>
    <OptimizationPreference>Speed</OptimizationPreference>
    <HttpActivityPropagationSupport>false</HttpActivityPropagationSupport>
    <IsAotCompatible>True</IsAotCompatible>
    <IsTrimmable>True</IsTrimmable>
    <AvaloniaUseCompiledBindingsByDefault>true</AvaloniaUseCompiledBindingsByDefault>
  </PropertyGroup>
  <PropertyGroup Label="Avalonia">
    <AvaloniaXamlIlDebuggerLaunch>False</AvaloniaXamlIlDebuggerLaunch>
  </PropertyGroup>


  <PropertyGroup Condition="'$(Platform)' == 'x64'">
    <PlatformTarget>x64</PlatformTarget>
  </PropertyGroup>

  <PropertyGroup Condition="'$(Platform)' == 'arm64'">
    <PlatformTarget>ARM64</PlatformTarget>
  </PropertyGroup>

  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|arm64' ">
    <DebugType>full</DebugType>
  </PropertyGroup>

  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x64' ">
    <DebugType>full</DebugType>
  </PropertyGroup>

  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|arm64' ">
    <DebugType>none</DebugType>
  </PropertyGroup>

  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x64' ">
    <DebugType>none</DebugType>
  </PropertyGroup>


  <ItemGroup>
    <AvaloniaResource Include="Assets\**" />
  </ItemGroup>


  <ItemGroup>
    <Compile Update="Views\UC\DragDrogView.axaml.cs">
      <DependentUpon>DragDrogView.axaml</DependentUpon>
      <SubType>Code</SubType>
    </Compile>
    <Compile Update="Views\UC\Buttons\AltRestore.axaml.cs">
      <DependentUpon>AltRestore.axaml</DependentUpon>
      <SubType>Code</SubType>
    </Compile>
    <Compile Update="Views\UC\Buttons\AltMinimize.axaml.cs">
      <DependentUpon>AltMinimize.axaml</DependentUpon>
      <SubType>Code</SubType>
    </Compile>
    <Compile Update="Views\SettingsView.axaml.cs">
      <DependentUpon>SettingsView.axaml</DependentUpon>
      <SubType>Code</SubType>
    </Compile>
    <Compile Update="Views\GallerySettingsView.axaml.cs">
      <DependentUpon>GalleryViewView.axaml</DependentUpon>
      <SubType>Code</SubType>
    </Compile>
    <Compile Update="Views\ImageSettingsView.axaml.cs">
      <DependentUpon>ImageSettingsView.axaml</DependentUpon>
      <SubType>Code</SubType>
    </Compile>
    <Compile Update="Views\MouseView.axaml.cs">
      <DependentUpon>MouseWheelView.axaml</DependentUpon>
      <SubType>Code</SubType>
    </Compile>
    <Compile Update="Views\SlideshowSettingsView.axaml.cs">
      <DependentUpon>SlideshowSettingsView.axaml</DependentUpon>
      <SubType>Code</SubType>
    </Compile>
    <Compile Update="Views\ZoomSettingsView.axaml.cs">
      <DependentUpon>ZoomSettingsView.axaml</DependentUpon>
      <SubType>Code</SubType>
    </Compile>
    <Compile Update="Views\SingleImageResizeView.axaml.cs">
      <DependentUpon>SingleImageResizeView.axaml</DependentUpon>
      <SubType>Code</SubType>
    </Compile>
    <Compile Update="Views\UC\PopUps\DeleteDialog.axaml.cs">
      <DependentUpon>DeleteDialog.axaml</DependentUpon>
      <SubType>Code</SubType>
    </Compile>
    <Compile Update="Views\EffectsView.axaml.cs">
      <DependentUpon>EffectsView.axaml</DependentUpon>
      <SubType>Code</SubType>
    </Compile>
    <Compile Update="Views\UC\Buttons\PinButton.axaml.cs">
      <DependentUpon>PinButton.axaml</DependentUpon>
      <SubType>Code</SubType>
    </Compile>
    <Compile Update="Views\WindowSettingsView.axaml.cs">
      <DependentUpon>WindowSettingsView.axaml</DependentUpon>
      <SubType>Code</SubType>
    </Compile>
      <Compile Update="Views\UC\PopUps\NavigationDialog.axaml.cs">
          <DependentUpon>NavigationDialog.axaml</DependentUpon>
          <SubType>Code</SubType>
      </Compile>
      <Compile Update="CustomControls\DateTimePickerButtons.axaml.cs">
          <DependentUpon>DateTimePickerButtons.axaml</DependentUpon>
          <SubType>Code</SubType>
      </Compile>
      <Compile Update="Views\Main\PrintPreviewView.axaml.cs">
          <DependentUpon>PrintPreviewView.axaml</DependentUpon>
      </Compile>
      <Compile Update="Views\UC\PopUps\FileSearchDialog.axaml.cs">
          <DependentUpon>FileSearchDialog.axaml</DependentUpon>
          <SubType>Code</SubType>
      </Compile>
      <Compile Update="CustomControls\AnimatedPopUp.cs">
          <DependentUpon>AnimatedMenu.cs</DependentUpon>
      </Compile>
      <Compile Update="Views\Config\InterfaceConfigurationView.axaml.cs">
          <DependentUpon>InterfaceConfigurationView.axaml</DependentUpon>
          <SubType>Code</SubType>
      </Compile>
  </ItemGroup>


  <ItemGroup>
    <None Remove="DarkTheme\Resources\noisy-texture-200x200-o4-d31-c-161616-t0.png" />
    <None Update="Views\UC\RotationContextMenu.axaml.cs~">
      <DependentUpon>RotationContextMenu.axaml</DependentUpon>
    </None>
  </ItemGroup>


  <ItemGroup>
    <AvaloniaResource Include="PicViewTheme\Resources\noisy-texture-200x200-o4-d31-c-161616-t0.png" />
  </ItemGroup>

    <ItemGroup>
        <PackageReference Include="Avalonia" Version="11.3.10" />
        <PackageReference Include="Avalonia.Desktop" Version="11.3.10" />
        <PackageReference Condition="'$(Configuration)' == 'Debug'" Include="AvaloniaUI.DiagnosticsSupport" Version="2.1.1" />
        <PackageReference Include="Magick.NET.AvaloniaMediaImaging" Version="1.1.9"/>
        <PackageReference Include="R3Extensions.Avalonia" Version="1.3.0" />
        <PackageReference Include="Svg.Controls.Skia.Avalonia" Version="11.3.9.2"/>
    </ItemGroup>

  <ItemGroup>
    <Compile Update="Views\Main\ImageInfoView.axaml.cs">
      <DependentUpon>ExifView.axaml</DependentUpon>
    </Compile>
    <Compile Update="Views\Main\AppearanceView.axaml.cs">
      <DependentUpon>AppearanceView.axaml</DependentUpon>
    </Compile>
    <Compile Update="Views\Main\AboutView.axaml.cs">
      <DependentUpon>AboutView.axaml</DependentUpon>
    </Compile>
    <Compile Update="Views\Main\KeybindingsView.axaml.cs">
      <DependentUpon>ShortcutsView.axaml</DependentUpon>
    </Compile>
    <Compile Update="Views\Config\GeneralSettingsView.axaml.cs">
      <DependentUpon>GeneralSettingsView.axaml</DependentUpon>
    </Compile>
    <Compile Update="Views\UC\Buttons\StarOutlineButtons.axaml.cs">
      <DependentUpon>StarOutlineButtons.axaml</DependentUpon>
    </Compile>
    <Compile Update="Views\UC\ImageViewer.axaml.cs">
      <DependentUpon>ImageViewer.axaml</DependentUpon>
    </Compile>
    <Compile Update="Views\UC\Menus\ToolsMenu.axaml.cs">
      <DependentUpon>ToolsMenu.axaml</DependentUpon>
    </Compile>
    <Compile Update="Views\UC\Menus\SettingsMenu.axaml.cs">
      <DependentUpon>SettingsMenu.axaml</DependentUpon>
    </Compile>
    <Compile Update="Views\UC\Menus\ImageMenu.axaml.cs">
      <DependentUpon>ImageMenu.axaml</DependentUpon>
    </Compile>
    <Compile Update="Views\UC\SpinWaiter.axaml.cs">
      <DependentUpon>SpinWaiter.axaml</DependentUpon>
    </Compile>
    <Compile Update="Views\UC\TitleTextbox.axaml.cs">
      <DependentUpon>TitleTextBox.axaml</DependentUpon>
    </Compile>
    <Compile Update="Views\Config\AppearanceView.axaml.cs">
      <DependentUpon>AppearanceView.axaml</DependentUpon>
    </Compile>
  </ItemGroup>

  <ItemGroup>
    <Folder Include="Assets\" />
  </ItemGroup>

  <ItemGroup>
    <ProjectReference Include="..\PicView.Core\PicView.Core.csproj" />
  </ItemGroup>

  <ItemGroup>
    <InternalsVisibleTo Include="PicView.Tests" />
  </ItemGroup>
</Project>
