Browse Source

Merge pull request #649 from PixiEditor/opengl-interop

Added OpenGL interop for Drawie
Krzysztof Krysiński 9 months ago
parent
commit
ac4bf01b83

+ 1 - 1
src/Drawie

@@ -1 +1 @@
-Subproject commit 479031ffc550a71821b673c03014affdfa40d570
+Subproject commit e95540d2b9d4636824dc55e3c9f65f14381dbcdc

+ 1 - 1
src/PixiDocks

@@ -1 +1 @@
-Subproject commit 29ae0eff8a2a7d9070e6816cba8858ecac7abe9e
+Subproject commit ff4fdf7e67b75131eef961bb0f77c0710e24dae3

+ 0 - 24
src/PixiEditor.Core/PixiEditor.Core.csproj

@@ -1,24 +0,0 @@
-<Project Sdk="Microsoft.NET.Sdk">
-
-    <PropertyGroup>
-        <TargetFramework>net8.0</TargetFramework>
-        <ImplicitUsings>enable</ImplicitUsings>
-        <Nullable>enable</Nullable>
-    </PropertyGroup>
-
-    <ItemGroup>
-      <ProjectReference Include="..\PixiEditor.Extensions\PixiEditor.Extensions.csproj" />
-    </ItemGroup>
-
-    <ItemGroup>
-      <None Remove="extension.json" />
-      <AvaloniaResource Include="extension.json">
-        <CopyToOutputDirectory>Never</CopyToOutputDirectory>
-      </AvaloniaResource>
-    </ItemGroup>
-
-    <ItemGroup>
-      <PackageReference Include="CommunityToolkit.Mvvm" Version="8.2.2" />
-    </ItemGroup>
-
-</Project>

+ 0 - 8
src/PixiEditor.Core/PixiEditorCoreExtension.cs

@@ -1,8 +0,0 @@
-using PixiEditor.Extensions;
-
-namespace PixiEditor.Core;
-
-public class PixiEditorCoreExtension : Extension
-{
-
-}

+ 0 - 2
src/PixiEditor.Core/extension.json

@@ -1,2 +0,0 @@
-{
-}

+ 4 - 2
src/PixiEditor.Desktop/Program.cs

@@ -19,11 +19,13 @@ public class Program
             .UsePlatformDetect()
             .UsePlatformDetect()
             .With(new Win32PlatformOptions()
             .With(new Win32PlatformOptions()
             {
             {
-                RenderingMode = new Win32RenderingMode[] { Win32RenderingMode.Vulkan },
+                RenderingMode = new Win32RenderingMode[] { Win32RenderingMode.Vulkan, Win32RenderingMode.Wgl },
+                OverlayPopups = true
             })
             })
             .With(new X11PlatformOptions()
             .With(new X11PlatformOptions()
             {
             {
-                RenderingMode = new X11RenderingMode[] { X11RenderingMode.Vulkan },
+                RenderingMode = new X11RenderingMode[] { X11RenderingMode.Vulkan, X11RenderingMode.Glx },
+                OverlayPopups = true
             })
             })
             .WithDrawie()
             .WithDrawie()
             .LogToTrace();
             .LogToTrace();

+ 1 - 1
src/PixiEditor.Extensions.CommonApi/PixiEditor.Extensions.CommonApi.csproj

@@ -45,7 +45,7 @@
   <Target Name="GenerateProtoContracts" BeforeTargets="BeforeCompile"
   <Target Name="GenerateProtoContracts" BeforeTargets="BeforeCompile"
           Inputs="$(MSBuildProjectDirectory)\DataContracts\*.proto"
           Inputs="$(MSBuildProjectDirectory)\DataContracts\*.proto"
           Outputs="$(MSBuildProjectDirectory)\ProtoAutogen\*.cs">
           Outputs="$(MSBuildProjectDirectory)\ProtoAutogen\*.cs">
-    <Exec Command="dotnet tool run protogen --csharp_out=ProtoAutogen --proto_path=DataContracts +listset=yes *.proto"/>
+    <Exec Command="dotnet tool run --allow-roll-forward protogen --csharp_out=ProtoAutogen --proto_path=DataContracts +listset=yes *.proto"/>
 
 
     <ItemGroup>
     <ItemGroup>
       <Compile Include="ProtoAutogen\*.cs" KeepDuplicates="false"/>
       <Compile Include="ProtoAutogen\*.cs" KeepDuplicates="false"/>

BIN
src/PixiEditor.Extensions.Sdk/build/PixiEditor.Api.CGlueMSBuild.dll


BIN
src/PixiEditor.Extensions.Sdk/build/PixiEditor.Extensions.MSPackageBuilder.dll


+ 155 - 31
src/PixiEditor.sln

@@ -112,8 +112,6 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PixiEditor.SVG", "PixiEdito
 EndProject
 EndProject
 Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Drawie", "Drawie", "{03CFB32D-E797-41B1-B072-A4FEBA5F8813}"
 Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Drawie", "Drawie", "{03CFB32D-E797-41B1-B072-A4FEBA5F8813}"
 EndProject
 EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Drawie.Interop.VulkanAvalonia", "Drawie\src\Drawie.Interop.VulkanAvalonia\Drawie.Interop.VulkanAvalonia.csproj", "{BD5582AA-7694-4F10-BB5D-1435B9BC8E21}"
-EndProject
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Drawie.Numerics", "Drawie\src\Drawie.Numerics\Drawie.Numerics.csproj", "{8064811C-6A34-456E-A3F2-D77395009A29}"
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Drawie.Numerics", "Drawie\src\Drawie.Numerics\Drawie.Numerics.csproj", "{8064811C-6A34-456E-A3F2-D77395009A29}"
 EndProject
 EndProject
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DrawiEngine", "Drawie\src\DrawiEngine\DrawiEngine.csproj", "{95D13D61-FBE6-4E10-9716-EDD749D0AEFC}"
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DrawiEngine", "Drawie\src\DrawiEngine\DrawiEngine.csproj", "{95D13D61-FBE6-4E10-9716-EDD749D0AEFC}"
@@ -130,6 +128,16 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Drawie.RenderApi.Vulkan", "
 EndProject
 EndProject
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SpirvCompiler", "Drawie\src\SpirvCompiler\SpirvCompiler.csproj", "{475C7BBF-B10B-456A-A095-4395E49CF4B2}"
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SpirvCompiler", "Drawie\src\SpirvCompiler\SpirvCompiler.csproj", "{475C7BBF-B10B-456A-A095-4395E49CF4B2}"
 EndProject
 EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Drawie.Interop.Avalonia", "Drawie\src\Drawie.Interop.Avalonia\Drawie.Interop.Avalonia.csproj", "{6D79C3E3-E31F-43B4-B173-3E6959230923}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Drawie.Interop.Avalonia.OpenGl", "Drawie\src\Drawie.Interop.Avalonia.OpenGl\Drawie.Interop.Avalonia.OpenGl.csproj", "{843F55B4-987B-45A9-BDBD-1A0A86CB883E}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Drawie.Interop.Avalonia.Vulkan", "Drawie\src\Drawie.Interop.Avalonia.Vulkan\Drawie.Interop.Avalonia.Vulkan.csproj", "{7BD495CA-2EB5-4ABC-BDDB-0E1765C40C19}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Drawie.RenderApi.OpenGl", "Drawie\src\Drawie.RenderApi.OpenGl\Drawie.RenderApi.OpenGl.csproj", "{FA293BD3-2D99-47BA-8C4F-53F4997CE99C}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Drawie.Interop.Avalonia.Core", "Drawie\src\Drawie.Interop.Avalonia.Core\Drawie.Interop.Avalonia.Core.csproj", "{9CD22D8F-3F37-44F8-B106-7C1E02016F82}"
+EndProject
 Global
 Global
 	GlobalSection(SolutionConfigurationPlatforms) = preSolution
 	GlobalSection(SolutionConfigurationPlatforms) = preSolution
 		Debug|x64 = Debug|x64
 		Debug|x64 = Debug|x64
@@ -853,34 +861,6 @@ Global
 		{CD863C88-72E3-40F4-9AAE-5696BBB4460C}.Steam|ARM64.Build.0 = Release|arm64
 		{CD863C88-72E3-40F4-9AAE-5696BBB4460C}.Steam|ARM64.Build.0 = Release|arm64
 		{CD863C88-72E3-40F4-9AAE-5696BBB4460C}.Steam|x64.ActiveCfg = Release|x64
 		{CD863C88-72E3-40F4-9AAE-5696BBB4460C}.Steam|x64.ActiveCfg = Release|x64
 		{CD863C88-72E3-40F4-9AAE-5696BBB4460C}.Steam|x64.Build.0 = Release|x64
 		{CD863C88-72E3-40F4-9AAE-5696BBB4460C}.Steam|x64.Build.0 = Release|x64
-		{BD5582AA-7694-4F10-BB5D-1435B9BC8E21}.Debug|x64.ActiveCfg = Debug|Any CPU
-		{BD5582AA-7694-4F10-BB5D-1435B9BC8E21}.Debug|x64.Build.0 = Debug|Any CPU
-		{BD5582AA-7694-4F10-BB5D-1435B9BC8E21}.Debug|ARM64.ActiveCfg = Debug|Any CPU
-		{BD5582AA-7694-4F10-BB5D-1435B9BC8E21}.Debug|ARM64.Build.0 = Debug|Any CPU
-		{BD5582AA-7694-4F10-BB5D-1435B9BC8E21}.DevRelease|x64.ActiveCfg = Debug|Any CPU
-		{BD5582AA-7694-4F10-BB5D-1435B9BC8E21}.DevRelease|x64.Build.0 = Debug|Any CPU
-		{BD5582AA-7694-4F10-BB5D-1435B9BC8E21}.DevRelease|ARM64.ActiveCfg = Debug|Any CPU
-		{BD5582AA-7694-4F10-BB5D-1435B9BC8E21}.DevRelease|ARM64.Build.0 = Debug|Any CPU
-		{BD5582AA-7694-4F10-BB5D-1435B9BC8E21}.DevSteam|x64.ActiveCfg = Debug|Any CPU
-		{BD5582AA-7694-4F10-BB5D-1435B9BC8E21}.DevSteam|x64.Build.0 = Debug|Any CPU
-		{BD5582AA-7694-4F10-BB5D-1435B9BC8E21}.DevSteam|ARM64.ActiveCfg = Debug|Any CPU
-		{BD5582AA-7694-4F10-BB5D-1435B9BC8E21}.DevSteam|ARM64.Build.0 = Debug|Any CPU
-		{BD5582AA-7694-4F10-BB5D-1435B9BC8E21}.MSIX Debug|x64.ActiveCfg = Debug|Any CPU
-		{BD5582AA-7694-4F10-BB5D-1435B9BC8E21}.MSIX Debug|x64.Build.0 = Debug|Any CPU
-		{BD5582AA-7694-4F10-BB5D-1435B9BC8E21}.MSIX Debug|ARM64.ActiveCfg = Debug|Any CPU
-		{BD5582AA-7694-4F10-BB5D-1435B9BC8E21}.MSIX Debug|ARM64.Build.0 = Debug|Any CPU
-		{BD5582AA-7694-4F10-BB5D-1435B9BC8E21}.MSIX|x64.ActiveCfg = Debug|Any CPU
-		{BD5582AA-7694-4F10-BB5D-1435B9BC8E21}.MSIX|x64.Build.0 = Debug|Any CPU
-		{BD5582AA-7694-4F10-BB5D-1435B9BC8E21}.MSIX|ARM64.ActiveCfg = Debug|Any CPU
-		{BD5582AA-7694-4F10-BB5D-1435B9BC8E21}.MSIX|ARM64.Build.0 = Debug|Any CPU
-		{BD5582AA-7694-4F10-BB5D-1435B9BC8E21}.Release|x64.ActiveCfg = Release|Any CPU
-		{BD5582AA-7694-4F10-BB5D-1435B9BC8E21}.Release|x64.Build.0 = Release|Any CPU
-		{BD5582AA-7694-4F10-BB5D-1435B9BC8E21}.Release|ARM64.ActiveCfg = Release|Any CPU
-		{BD5582AA-7694-4F10-BB5D-1435B9BC8E21}.Release|ARM64.Build.0 = Release|Any CPU
-		{BD5582AA-7694-4F10-BB5D-1435B9BC8E21}.Steam|x64.ActiveCfg = Debug|Any CPU
-		{BD5582AA-7694-4F10-BB5D-1435B9BC8E21}.Steam|x64.Build.0 = Debug|Any CPU
-		{BD5582AA-7694-4F10-BB5D-1435B9BC8E21}.Steam|ARM64.ActiveCfg = Debug|Any CPU
-		{BD5582AA-7694-4F10-BB5D-1435B9BC8E21}.Steam|ARM64.Build.0 = Debug|Any CPU
 		{8064811C-6A34-456E-A3F2-D77395009A29}.Debug|x64.ActiveCfg = Debug|Any CPU
 		{8064811C-6A34-456E-A3F2-D77395009A29}.Debug|x64.ActiveCfg = Debug|Any CPU
 		{8064811C-6A34-456E-A3F2-D77395009A29}.Debug|x64.Build.0 = Debug|Any CPU
 		{8064811C-6A34-456E-A3F2-D77395009A29}.Debug|x64.Build.0 = Debug|Any CPU
 		{8064811C-6A34-456E-A3F2-D77395009A29}.Debug|ARM64.ActiveCfg = Debug|Any CPU
 		{8064811C-6A34-456E-A3F2-D77395009A29}.Debug|ARM64.ActiveCfg = Debug|Any CPU
@@ -1105,6 +1085,146 @@ Global
 		{475C7BBF-B10B-456A-A095-4395E49CF4B2}.Steam|x64.Build.0 = Debug|Any CPU
 		{475C7BBF-B10B-456A-A095-4395E49CF4B2}.Steam|x64.Build.0 = Debug|Any CPU
 		{475C7BBF-B10B-456A-A095-4395E49CF4B2}.Steam|ARM64.ActiveCfg = Debug|Any CPU
 		{475C7BBF-B10B-456A-A095-4395E49CF4B2}.Steam|ARM64.ActiveCfg = Debug|Any CPU
 		{475C7BBF-B10B-456A-A095-4395E49CF4B2}.Steam|ARM64.Build.0 = Debug|Any CPU
 		{475C7BBF-B10B-456A-A095-4395E49CF4B2}.Steam|ARM64.Build.0 = Debug|Any CPU
+		{6D79C3E3-E31F-43B4-B173-3E6959230923}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{6D79C3E3-E31F-43B4-B173-3E6959230923}.Debug|x64.Build.0 = Debug|Any CPU
+		{6D79C3E3-E31F-43B4-B173-3E6959230923}.Debug|ARM64.ActiveCfg = Debug|Any CPU
+		{6D79C3E3-E31F-43B4-B173-3E6959230923}.Debug|ARM64.Build.0 = Debug|Any CPU
+		{6D79C3E3-E31F-43B4-B173-3E6959230923}.DevRelease|x64.ActiveCfg = Debug|Any CPU
+		{6D79C3E3-E31F-43B4-B173-3E6959230923}.DevRelease|x64.Build.0 = Debug|Any CPU
+		{6D79C3E3-E31F-43B4-B173-3E6959230923}.DevRelease|ARM64.ActiveCfg = Debug|Any CPU
+		{6D79C3E3-E31F-43B4-B173-3E6959230923}.DevRelease|ARM64.Build.0 = Debug|Any CPU
+		{6D79C3E3-E31F-43B4-B173-3E6959230923}.DevSteam|x64.ActiveCfg = Debug|Any CPU
+		{6D79C3E3-E31F-43B4-B173-3E6959230923}.DevSteam|x64.Build.0 = Debug|Any CPU
+		{6D79C3E3-E31F-43B4-B173-3E6959230923}.DevSteam|ARM64.ActiveCfg = Debug|Any CPU
+		{6D79C3E3-E31F-43B4-B173-3E6959230923}.DevSteam|ARM64.Build.0 = Debug|Any CPU
+		{6D79C3E3-E31F-43B4-B173-3E6959230923}.MSIX Debug|x64.ActiveCfg = Debug|Any CPU
+		{6D79C3E3-E31F-43B4-B173-3E6959230923}.MSIX Debug|x64.Build.0 = Debug|Any CPU
+		{6D79C3E3-E31F-43B4-B173-3E6959230923}.MSIX Debug|ARM64.ActiveCfg = Debug|Any CPU
+		{6D79C3E3-E31F-43B4-B173-3E6959230923}.MSIX Debug|ARM64.Build.0 = Debug|Any CPU
+		{6D79C3E3-E31F-43B4-B173-3E6959230923}.MSIX|x64.ActiveCfg = Debug|Any CPU
+		{6D79C3E3-E31F-43B4-B173-3E6959230923}.MSIX|x64.Build.0 = Debug|Any CPU
+		{6D79C3E3-E31F-43B4-B173-3E6959230923}.MSIX|ARM64.ActiveCfg = Debug|Any CPU
+		{6D79C3E3-E31F-43B4-B173-3E6959230923}.MSIX|ARM64.Build.0 = Debug|Any CPU
+		{6D79C3E3-E31F-43B4-B173-3E6959230923}.Release|x64.ActiveCfg = Release|Any CPU
+		{6D79C3E3-E31F-43B4-B173-3E6959230923}.Release|x64.Build.0 = Release|Any CPU
+		{6D79C3E3-E31F-43B4-B173-3E6959230923}.Release|ARM64.ActiveCfg = Release|Any CPU
+		{6D79C3E3-E31F-43B4-B173-3E6959230923}.Release|ARM64.Build.0 = Release|Any CPU
+		{6D79C3E3-E31F-43B4-B173-3E6959230923}.Steam|x64.ActiveCfg = Debug|Any CPU
+		{6D79C3E3-E31F-43B4-B173-3E6959230923}.Steam|x64.Build.0 = Debug|Any CPU
+		{6D79C3E3-E31F-43B4-B173-3E6959230923}.Steam|ARM64.ActiveCfg = Debug|Any CPU
+		{6D79C3E3-E31F-43B4-B173-3E6959230923}.Steam|ARM64.Build.0 = Debug|Any CPU
+		{843F55B4-987B-45A9-BDBD-1A0A86CB883E}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{843F55B4-987B-45A9-BDBD-1A0A86CB883E}.Debug|x64.Build.0 = Debug|Any CPU
+		{843F55B4-987B-45A9-BDBD-1A0A86CB883E}.Debug|ARM64.ActiveCfg = Debug|Any CPU
+		{843F55B4-987B-45A9-BDBD-1A0A86CB883E}.Debug|ARM64.Build.0 = Debug|Any CPU
+		{843F55B4-987B-45A9-BDBD-1A0A86CB883E}.DevRelease|x64.ActiveCfg = Debug|Any CPU
+		{843F55B4-987B-45A9-BDBD-1A0A86CB883E}.DevRelease|x64.Build.0 = Debug|Any CPU
+		{843F55B4-987B-45A9-BDBD-1A0A86CB883E}.DevRelease|ARM64.ActiveCfg = Debug|Any CPU
+		{843F55B4-987B-45A9-BDBD-1A0A86CB883E}.DevRelease|ARM64.Build.0 = Debug|Any CPU
+		{843F55B4-987B-45A9-BDBD-1A0A86CB883E}.DevSteam|x64.ActiveCfg = Debug|Any CPU
+		{843F55B4-987B-45A9-BDBD-1A0A86CB883E}.DevSteam|x64.Build.0 = Debug|Any CPU
+		{843F55B4-987B-45A9-BDBD-1A0A86CB883E}.DevSteam|ARM64.ActiveCfg = Debug|Any CPU
+		{843F55B4-987B-45A9-BDBD-1A0A86CB883E}.DevSteam|ARM64.Build.0 = Debug|Any CPU
+		{843F55B4-987B-45A9-BDBD-1A0A86CB883E}.MSIX Debug|x64.ActiveCfg = Debug|Any CPU
+		{843F55B4-987B-45A9-BDBD-1A0A86CB883E}.MSIX Debug|x64.Build.0 = Debug|Any CPU
+		{843F55B4-987B-45A9-BDBD-1A0A86CB883E}.MSIX Debug|ARM64.ActiveCfg = Debug|Any CPU
+		{843F55B4-987B-45A9-BDBD-1A0A86CB883E}.MSIX Debug|ARM64.Build.0 = Debug|Any CPU
+		{843F55B4-987B-45A9-BDBD-1A0A86CB883E}.MSIX|x64.ActiveCfg = Debug|Any CPU
+		{843F55B4-987B-45A9-BDBD-1A0A86CB883E}.MSIX|x64.Build.0 = Debug|Any CPU
+		{843F55B4-987B-45A9-BDBD-1A0A86CB883E}.MSIX|ARM64.ActiveCfg = Debug|Any CPU
+		{843F55B4-987B-45A9-BDBD-1A0A86CB883E}.MSIX|ARM64.Build.0 = Debug|Any CPU
+		{843F55B4-987B-45A9-BDBD-1A0A86CB883E}.Release|x64.ActiveCfg = Release|Any CPU
+		{843F55B4-987B-45A9-BDBD-1A0A86CB883E}.Release|x64.Build.0 = Release|Any CPU
+		{843F55B4-987B-45A9-BDBD-1A0A86CB883E}.Release|ARM64.ActiveCfg = Release|Any CPU
+		{843F55B4-987B-45A9-BDBD-1A0A86CB883E}.Release|ARM64.Build.0 = Release|Any CPU
+		{843F55B4-987B-45A9-BDBD-1A0A86CB883E}.Steam|x64.ActiveCfg = Debug|Any CPU
+		{843F55B4-987B-45A9-BDBD-1A0A86CB883E}.Steam|x64.Build.0 = Debug|Any CPU
+		{843F55B4-987B-45A9-BDBD-1A0A86CB883E}.Steam|ARM64.ActiveCfg = Debug|Any CPU
+		{843F55B4-987B-45A9-BDBD-1A0A86CB883E}.Steam|ARM64.Build.0 = Debug|Any CPU
+		{7BD495CA-2EB5-4ABC-BDDB-0E1765C40C19}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{7BD495CA-2EB5-4ABC-BDDB-0E1765C40C19}.Debug|x64.Build.0 = Debug|Any CPU
+		{7BD495CA-2EB5-4ABC-BDDB-0E1765C40C19}.Debug|ARM64.ActiveCfg = Debug|Any CPU
+		{7BD495CA-2EB5-4ABC-BDDB-0E1765C40C19}.Debug|ARM64.Build.0 = Debug|Any CPU
+		{7BD495CA-2EB5-4ABC-BDDB-0E1765C40C19}.DevRelease|x64.ActiveCfg = Debug|Any CPU
+		{7BD495CA-2EB5-4ABC-BDDB-0E1765C40C19}.DevRelease|x64.Build.0 = Debug|Any CPU
+		{7BD495CA-2EB5-4ABC-BDDB-0E1765C40C19}.DevRelease|ARM64.ActiveCfg = Debug|Any CPU
+		{7BD495CA-2EB5-4ABC-BDDB-0E1765C40C19}.DevRelease|ARM64.Build.0 = Debug|Any CPU
+		{7BD495CA-2EB5-4ABC-BDDB-0E1765C40C19}.DevSteam|x64.ActiveCfg = Debug|Any CPU
+		{7BD495CA-2EB5-4ABC-BDDB-0E1765C40C19}.DevSteam|x64.Build.0 = Debug|Any CPU
+		{7BD495CA-2EB5-4ABC-BDDB-0E1765C40C19}.DevSteam|ARM64.ActiveCfg = Debug|Any CPU
+		{7BD495CA-2EB5-4ABC-BDDB-0E1765C40C19}.DevSteam|ARM64.Build.0 = Debug|Any CPU
+		{7BD495CA-2EB5-4ABC-BDDB-0E1765C40C19}.MSIX Debug|x64.ActiveCfg = Debug|Any CPU
+		{7BD495CA-2EB5-4ABC-BDDB-0E1765C40C19}.MSIX Debug|x64.Build.0 = Debug|Any CPU
+		{7BD495CA-2EB5-4ABC-BDDB-0E1765C40C19}.MSIX Debug|ARM64.ActiveCfg = Debug|Any CPU
+		{7BD495CA-2EB5-4ABC-BDDB-0E1765C40C19}.MSIX Debug|ARM64.Build.0 = Debug|Any CPU
+		{7BD495CA-2EB5-4ABC-BDDB-0E1765C40C19}.MSIX|x64.ActiveCfg = Debug|Any CPU
+		{7BD495CA-2EB5-4ABC-BDDB-0E1765C40C19}.MSIX|x64.Build.0 = Debug|Any CPU
+		{7BD495CA-2EB5-4ABC-BDDB-0E1765C40C19}.MSIX|ARM64.ActiveCfg = Debug|Any CPU
+		{7BD495CA-2EB5-4ABC-BDDB-0E1765C40C19}.MSIX|ARM64.Build.0 = Debug|Any CPU
+		{7BD495CA-2EB5-4ABC-BDDB-0E1765C40C19}.Release|x64.ActiveCfg = Release|Any CPU
+		{7BD495CA-2EB5-4ABC-BDDB-0E1765C40C19}.Release|x64.Build.0 = Release|Any CPU
+		{7BD495CA-2EB5-4ABC-BDDB-0E1765C40C19}.Release|ARM64.ActiveCfg = Release|Any CPU
+		{7BD495CA-2EB5-4ABC-BDDB-0E1765C40C19}.Release|ARM64.Build.0 = Release|Any CPU
+		{7BD495CA-2EB5-4ABC-BDDB-0E1765C40C19}.Steam|x64.ActiveCfg = Debug|Any CPU
+		{7BD495CA-2EB5-4ABC-BDDB-0E1765C40C19}.Steam|x64.Build.0 = Debug|Any CPU
+		{7BD495CA-2EB5-4ABC-BDDB-0E1765C40C19}.Steam|ARM64.ActiveCfg = Debug|Any CPU
+		{7BD495CA-2EB5-4ABC-BDDB-0E1765C40C19}.Steam|ARM64.Build.0 = Debug|Any CPU
+		{FA293BD3-2D99-47BA-8C4F-53F4997CE99C}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{FA293BD3-2D99-47BA-8C4F-53F4997CE99C}.Debug|x64.Build.0 = Debug|Any CPU
+		{FA293BD3-2D99-47BA-8C4F-53F4997CE99C}.Debug|ARM64.ActiveCfg = Debug|Any CPU
+		{FA293BD3-2D99-47BA-8C4F-53F4997CE99C}.Debug|ARM64.Build.0 = Debug|Any CPU
+		{FA293BD3-2D99-47BA-8C4F-53F4997CE99C}.DevRelease|x64.ActiveCfg = Debug|Any CPU
+		{FA293BD3-2D99-47BA-8C4F-53F4997CE99C}.DevRelease|x64.Build.0 = Debug|Any CPU
+		{FA293BD3-2D99-47BA-8C4F-53F4997CE99C}.DevRelease|ARM64.ActiveCfg = Debug|Any CPU
+		{FA293BD3-2D99-47BA-8C4F-53F4997CE99C}.DevRelease|ARM64.Build.0 = Debug|Any CPU
+		{FA293BD3-2D99-47BA-8C4F-53F4997CE99C}.DevSteam|x64.ActiveCfg = Debug|Any CPU
+		{FA293BD3-2D99-47BA-8C4F-53F4997CE99C}.DevSteam|x64.Build.0 = Debug|Any CPU
+		{FA293BD3-2D99-47BA-8C4F-53F4997CE99C}.DevSteam|ARM64.ActiveCfg = Debug|Any CPU
+		{FA293BD3-2D99-47BA-8C4F-53F4997CE99C}.DevSteam|ARM64.Build.0 = Debug|Any CPU
+		{FA293BD3-2D99-47BA-8C4F-53F4997CE99C}.MSIX Debug|x64.ActiveCfg = Debug|Any CPU
+		{FA293BD3-2D99-47BA-8C4F-53F4997CE99C}.MSIX Debug|x64.Build.0 = Debug|Any CPU
+		{FA293BD3-2D99-47BA-8C4F-53F4997CE99C}.MSIX Debug|ARM64.ActiveCfg = Debug|Any CPU
+		{FA293BD3-2D99-47BA-8C4F-53F4997CE99C}.MSIX Debug|ARM64.Build.0 = Debug|Any CPU
+		{FA293BD3-2D99-47BA-8C4F-53F4997CE99C}.MSIX|x64.ActiveCfg = Debug|Any CPU
+		{FA293BD3-2D99-47BA-8C4F-53F4997CE99C}.MSIX|x64.Build.0 = Debug|Any CPU
+		{FA293BD3-2D99-47BA-8C4F-53F4997CE99C}.MSIX|ARM64.ActiveCfg = Debug|Any CPU
+		{FA293BD3-2D99-47BA-8C4F-53F4997CE99C}.MSIX|ARM64.Build.0 = Debug|Any CPU
+		{FA293BD3-2D99-47BA-8C4F-53F4997CE99C}.Release|x64.ActiveCfg = Release|Any CPU
+		{FA293BD3-2D99-47BA-8C4F-53F4997CE99C}.Release|x64.Build.0 = Release|Any CPU
+		{FA293BD3-2D99-47BA-8C4F-53F4997CE99C}.Release|ARM64.ActiveCfg = Release|Any CPU
+		{FA293BD3-2D99-47BA-8C4F-53F4997CE99C}.Release|ARM64.Build.0 = Release|Any CPU
+		{FA293BD3-2D99-47BA-8C4F-53F4997CE99C}.Steam|x64.ActiveCfg = Debug|Any CPU
+		{FA293BD3-2D99-47BA-8C4F-53F4997CE99C}.Steam|x64.Build.0 = Debug|Any CPU
+		{FA293BD3-2D99-47BA-8C4F-53F4997CE99C}.Steam|ARM64.ActiveCfg = Debug|Any CPU
+		{FA293BD3-2D99-47BA-8C4F-53F4997CE99C}.Steam|ARM64.Build.0 = Debug|Any CPU
+		{9CD22D8F-3F37-44F8-B106-7C1E02016F82}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{9CD22D8F-3F37-44F8-B106-7C1E02016F82}.Debug|x64.Build.0 = Debug|Any CPU
+		{9CD22D8F-3F37-44F8-B106-7C1E02016F82}.Debug|ARM64.ActiveCfg = Debug|Any CPU
+		{9CD22D8F-3F37-44F8-B106-7C1E02016F82}.Debug|ARM64.Build.0 = Debug|Any CPU
+		{9CD22D8F-3F37-44F8-B106-7C1E02016F82}.DevRelease|x64.ActiveCfg = Debug|Any CPU
+		{9CD22D8F-3F37-44F8-B106-7C1E02016F82}.DevRelease|x64.Build.0 = Debug|Any CPU
+		{9CD22D8F-3F37-44F8-B106-7C1E02016F82}.DevRelease|ARM64.ActiveCfg = Debug|Any CPU
+		{9CD22D8F-3F37-44F8-B106-7C1E02016F82}.DevRelease|ARM64.Build.0 = Debug|Any CPU
+		{9CD22D8F-3F37-44F8-B106-7C1E02016F82}.DevSteam|x64.ActiveCfg = Debug|Any CPU
+		{9CD22D8F-3F37-44F8-B106-7C1E02016F82}.DevSteam|x64.Build.0 = Debug|Any CPU
+		{9CD22D8F-3F37-44F8-B106-7C1E02016F82}.DevSteam|ARM64.ActiveCfg = Debug|Any CPU
+		{9CD22D8F-3F37-44F8-B106-7C1E02016F82}.DevSteam|ARM64.Build.0 = Debug|Any CPU
+		{9CD22D8F-3F37-44F8-B106-7C1E02016F82}.MSIX Debug|x64.ActiveCfg = Debug|Any CPU
+		{9CD22D8F-3F37-44F8-B106-7C1E02016F82}.MSIX Debug|x64.Build.0 = Debug|Any CPU
+		{9CD22D8F-3F37-44F8-B106-7C1E02016F82}.MSIX Debug|ARM64.ActiveCfg = Debug|Any CPU
+		{9CD22D8F-3F37-44F8-B106-7C1E02016F82}.MSIX Debug|ARM64.Build.0 = Debug|Any CPU
+		{9CD22D8F-3F37-44F8-B106-7C1E02016F82}.MSIX|x64.ActiveCfg = Debug|Any CPU
+		{9CD22D8F-3F37-44F8-B106-7C1E02016F82}.MSIX|x64.Build.0 = Debug|Any CPU
+		{9CD22D8F-3F37-44F8-B106-7C1E02016F82}.MSIX|ARM64.ActiveCfg = Debug|Any CPU
+		{9CD22D8F-3F37-44F8-B106-7C1E02016F82}.MSIX|ARM64.Build.0 = Debug|Any CPU
+		{9CD22D8F-3F37-44F8-B106-7C1E02016F82}.Release|x64.ActiveCfg = Release|Any CPU
+		{9CD22D8F-3F37-44F8-B106-7C1E02016F82}.Release|x64.Build.0 = Release|Any CPU
+		{9CD22D8F-3F37-44F8-B106-7C1E02016F82}.Release|ARM64.ActiveCfg = Release|Any CPU
+		{9CD22D8F-3F37-44F8-B106-7C1E02016F82}.Release|ARM64.Build.0 = Release|Any CPU
+		{9CD22D8F-3F37-44F8-B106-7C1E02016F82}.Steam|x64.ActiveCfg = Debug|Any CPU
+		{9CD22D8F-3F37-44F8-B106-7C1E02016F82}.Steam|x64.Build.0 = Debug|Any CPU
+		{9CD22D8F-3F37-44F8-B106-7C1E02016F82}.Steam|ARM64.ActiveCfg = Debug|Any CPU
+		{9CD22D8F-3F37-44F8-B106-7C1E02016F82}.Steam|ARM64.Build.0 = Debug|Any CPU
 	EndGlobalSection
 	EndGlobalSection
 	GlobalSection(SolutionProperties) = preSolution
 	GlobalSection(SolutionProperties) = preSolution
 		HideSolutionNode = FALSE
 		HideSolutionNode = FALSE
@@ -1155,7 +1275,6 @@ Global
 		{0D3DE5D1-D984-407D-B2A6-7945F011B636} = {E8A74431-F76F-43B1-BC66-CA05E249E6F4}
 		{0D3DE5D1-D984-407D-B2A6-7945F011B636} = {E8A74431-F76F-43B1-BC66-CA05E249E6F4}
 		{786E1F87-4A10-493E-88BD-3F2461DBFCA0} = {1E816135-76C1-4255-BE3C-BF17895A65AA}
 		{786E1F87-4A10-493E-88BD-3F2461DBFCA0} = {1E816135-76C1-4255-BE3C-BF17895A65AA}
 		{03CFB32D-E797-41B1-B072-A4FEBA5F8813} = {E8A74431-F76F-43B1-BC66-CA05E249E6F4}
 		{03CFB32D-E797-41B1-B072-A4FEBA5F8813} = {E8A74431-F76F-43B1-BC66-CA05E249E6F4}
-		{BD5582AA-7694-4F10-BB5D-1435B9BC8E21} = {03CFB32D-E797-41B1-B072-A4FEBA5F8813}
 		{8064811C-6A34-456E-A3F2-D77395009A29} = {03CFB32D-E797-41B1-B072-A4FEBA5F8813}
 		{8064811C-6A34-456E-A3F2-D77395009A29} = {03CFB32D-E797-41B1-B072-A4FEBA5F8813}
 		{95D13D61-FBE6-4E10-9716-EDD749D0AEFC} = {03CFB32D-E797-41B1-B072-A4FEBA5F8813}
 		{95D13D61-FBE6-4E10-9716-EDD749D0AEFC} = {03CFB32D-E797-41B1-B072-A4FEBA5F8813}
 		{52D94AD9-889A-4E80-861B-1DDE7E226F30} = {03CFB32D-E797-41B1-B072-A4FEBA5F8813}
 		{52D94AD9-889A-4E80-861B-1DDE7E226F30} = {03CFB32D-E797-41B1-B072-A4FEBA5F8813}
@@ -1164,6 +1283,11 @@ Global
 		{21152CEE-F9D7-452F-9FF5-B15FF80F2CED} = {03CFB32D-E797-41B1-B072-A4FEBA5F8813}
 		{21152CEE-F9D7-452F-9FF5-B15FF80F2CED} = {03CFB32D-E797-41B1-B072-A4FEBA5F8813}
 		{1346AE27-CCC8-4BC6-A52D-05B6A657ACD2} = {03CFB32D-E797-41B1-B072-A4FEBA5F8813}
 		{1346AE27-CCC8-4BC6-A52D-05B6A657ACD2} = {03CFB32D-E797-41B1-B072-A4FEBA5F8813}
 		{475C7BBF-B10B-456A-A095-4395E49CF4B2} = {03CFB32D-E797-41B1-B072-A4FEBA5F8813}
 		{475C7BBF-B10B-456A-A095-4395E49CF4B2} = {03CFB32D-E797-41B1-B072-A4FEBA5F8813}
+		{6D79C3E3-E31F-43B4-B173-3E6959230923} = {E8A74431-F76F-43B1-BC66-CA05E249E6F4}
+		{843F55B4-987B-45A9-BDBD-1A0A86CB883E} = {03CFB32D-E797-41B1-B072-A4FEBA5F8813}
+		{7BD495CA-2EB5-4ABC-BDDB-0E1765C40C19} = {03CFB32D-E797-41B1-B072-A4FEBA5F8813}
+		{FA293BD3-2D99-47BA-8C4F-53F4997CE99C} = {03CFB32D-E797-41B1-B072-A4FEBA5F8813}
+		{9CD22D8F-3F37-44F8-B106-7C1E02016F82} = {03CFB32D-E797-41B1-B072-A4FEBA5F8813}
 	EndGlobalSection
 	EndGlobalSection
 	GlobalSection(ExtensibilityGlobals) = postSolution
 	GlobalSection(ExtensibilityGlobals) = postSolution
 		SolutionGuid = {D04B4AB0-CA33-42FD-A909-79966F9255C5}
 		SolutionGuid = {D04B4AB0-CA33-42FD-A909-79966F9255C5}

+ 2 - 1
src/PixiEditor/PixiEditor.csproj

@@ -104,7 +104,8 @@
   </ItemGroup>
   </ItemGroup>
 
 
   <ItemGroup>
   <ItemGroup>
-    <ProjectReference Include="..\Drawie\src\Drawie.Interop.VulkanAvalonia\Drawie.Interop.VulkanAvalonia.csproj" />
+    <ProjectReference Include="..\Drawie\src\Drawie.Interop.Avalonia\Drawie.Interop.Avalonia.csproj" />
+    <ProjectReference Include="..\Drawie\src\Drawie.Interop.Avalonia.Core\Drawie.Interop.Avalonia.Core.csproj" />
     <ProjectReference Include="..\PixiDocks\src\PixiDocks.Avalonia\PixiDocks.Avalonia.csproj"/>
     <ProjectReference Include="..\PixiDocks\src\PixiDocks.Avalonia\PixiDocks.Avalonia.csproj"/>
     <ProjectReference Include="..\PixiEditor.SVG\PixiEditor.SVG.csproj" />
     <ProjectReference Include="..\PixiEditor.SVG\PixiEditor.SVG.csproj" />
     <ProjectReference Include="..\PixiParser\src\PixiParser.Skia\PixiParser.Skia.csproj"/>
     <ProjectReference Include="..\PixiParser\src\PixiParser.Skia\PixiParser.Skia.csproj"/>

+ 0 - 5
src/PixiEditor/ViewModels/SubViewModels/ViewportWindowViewModel.cs

@@ -1,13 +1,8 @@
 using System.ComponentModel;
 using System.ComponentModel;
-using System.Threading.Tasks;
 using Avalonia.Threading;
 using Avalonia.Threading;
-using CommunityToolkit.Mvvm.Input;
 using PixiDocks.Core.Docking;
 using PixiDocks.Core.Docking;
 using PixiDocks.Core.Docking.Events;
 using PixiDocks.Core.Docking.Events;
-using Drawie.Backend.Core.Numerics;
-using Drawie.Interop.VulkanAvalonia.Controls;
 using PixiEditor.Helpers.UI;
 using PixiEditor.Helpers.UI;
-using PixiEditor.Models.Controllers.InputDevice;
 using PixiEditor.Models.DocumentModels;
 using PixiEditor.Models.DocumentModels;
 using Drawie.Numerics;
 using Drawie.Numerics;
 using PixiEditor.ViewModels.Dock;
 using PixiEditor.ViewModels.Dock;

+ 10 - 17
src/PixiEditor/Views/Rendering/Scene.cs

@@ -13,15 +13,13 @@ using Avalonia.Skia;
 using Avalonia.Threading;
 using Avalonia.Threading;
 using Avalonia.VisualTree;
 using Avalonia.VisualTree;
 using ChunkyImageLib.DataHolders;
 using ChunkyImageLib.DataHolders;
-using PixiEditor.ChangeableDocument.Rendering;
 using Drawie.Backend.Core;
 using Drawie.Backend.Core;
 using Drawie.Backend.Core.Bridge;
 using Drawie.Backend.Core.Bridge;
 using Drawie.Backend.Core.Numerics;
 using Drawie.Backend.Core.Numerics;
 using Drawie.Backend.Core.Shaders;
 using Drawie.Backend.Core.Shaders;
 using Drawie.Backend.Core.Surfaces;
 using Drawie.Backend.Core.Surfaces;
 using Drawie.Backend.Core.Surfaces.PaintImpl;
 using Drawie.Backend.Core.Surfaces.PaintImpl;
-using Drawie.Interop.VulkanAvalonia;
-using Drawie.Interop.VulkanAvalonia.Vulkan;
+using Drawie.Interop.Avalonia.Core;
 using PixiEditor.Extensions.UI.Overlays;
 using PixiEditor.Extensions.UI.Overlays;
 using PixiEditor.Helpers;
 using PixiEditor.Helpers;
 using PixiEditor.Helpers.Converters;
 using PixiEditor.Helpers.Converters;
@@ -128,7 +126,7 @@ internal class Scene : Zoombox.Zoombox, ICustomHitTest
 
 
     private string info = string.Empty;
     private string info = string.Empty;
     private bool initialized = false;
     private bool initialized = false;
-    private VulkanResources resources;
+    private RenderApiResources resources;
     private DrawingSurface renderSurface;
     private DrawingSurface renderSurface;
     private PixelSize lastSize = PixelSize.Empty;
     private PixelSize lastSize = PixelSize.Empty;
     private Cursor lastCursor;
     private Cursor lastCursor;
@@ -205,7 +203,7 @@ internal class Scene : Zoombox.Zoombox, ICustomHitTest
             {
             {
                 return;
                 return;
             }
             }
-            
+
             compositor = selfVisual.Compositor;
             compositor = selfVisual.Compositor;
 
 
             surface = compositor.CreateDrawingSurface();
             surface = compositor.CreateDrawingSurface();
@@ -236,7 +234,7 @@ internal class Scene : Zoombox.Zoombox, ICustomHitTest
     public void Draw(DrawingSurface renderTexture)
     public void Draw(DrawingSurface renderTexture)
     {
     {
         if (Document == null || SceneRenderer == null) return;
         if (Document == null || SceneRenderer == null) return;
-        
+
         renderTexture.Canvas.Save();
         renderTexture.Canvas.Save();
         var matrix = CalculateTransformMatrix();
         var matrix = CalculateTransformMatrix();
 
 
@@ -564,10 +562,7 @@ internal class Scene : Zoombox.Zoombox, ICustomHitTest
     protected (bool success, string info) InitializeGraphicsResources(Compositor targetCompositor,
     protected (bool success, string info) InitializeGraphicsResources(Compositor targetCompositor,
         CompositionDrawingSurface compositionDrawingSurface, ICompositionGpuInterop interop)
         CompositionDrawingSurface compositionDrawingSurface, ICompositionGpuInterop interop)
     {
     {
-        resources = new VulkanResources(
-            DrawieInterop.VulkanInteropContext,
-            new VulkanSwapchain(DrawieInterop.VulkanInteropContext, interop, compositionDrawingSurface),
-            new VulkanContent(DrawieInterop.VulkanInteropContext));
+        resources = IDrawieInteropContext.Current.CreateResources(compositionDrawingSurface, interop);
 
 
         return (true, string.Empty);
         return (true, string.Empty);
     }
     }
@@ -580,7 +575,7 @@ internal class Scene : Zoombox.Zoombox, ICustomHitTest
         resources = null;
         resources = null;
     }
     }
 
 
-    protected void RenderFrame(PixelSize size)
+    protected  void RenderFrame(PixelSize size)
     {
     {
         if (resources != null)
         if (resources != null)
         {
         {
@@ -591,7 +586,7 @@ internal class Scene : Zoombox.Zoombox, ICustomHitTest
 
 
             if (renderSurface == null || lastSize != size)
             if (renderSurface == null || lastSize != size)
             {
             {
-                resources.Content.CreateTemporalObjects(size);
+                resources.CreateTemporalObjects(size);
 
 
                 VecI sizeVec = new VecI(size.Width, size.Height);
                 VecI sizeVec = new VecI(size.Width, size.Height);
 
 
@@ -599,19 +594,17 @@ internal class Scene : Zoombox.Zoombox, ICustomHitTest
 
 
                 renderSurface =
                 renderSurface =
                     DrawingBackendApi.Current.CreateRenderSurface(sizeVec,
                     DrawingBackendApi.Current.CreateRenderSurface(sizeVec,
-                        resources.Content.texture, SurfaceOrigin.BottomLeft);
+                        resources.Texture, SurfaceOrigin.BottomLeft);
 
 
                 lastSize = size;
                 lastSize = size;
             }
             }
 
 
-            using (resources.Swapchain.BeginDraw(size, out var image))
+            resources.Render(size, () =>
             {
             {
                 renderSurface.Canvas.Clear();
                 renderSurface.Canvas.Clear();
                 Draw(renderSurface);
                 Draw(renderSurface);
                 renderSurface.Flush();
                 renderSurface.Flush();
-
-                resources.Content.Render(image);
-            }
+            });
         }
         }
     }
     }
 
 

+ 1 - 5
src/PixiEditor/Views/Visuals/PreviewPainterControl.cs

@@ -1,11 +1,7 @@
 using Avalonia;
 using Avalonia;
-using Avalonia.Controls;
-using Avalonia.Media;
-using Avalonia.Rendering.SceneGraph;
-using Avalonia.Skia;
 using ChunkyImageLib.DataHolders;
 using ChunkyImageLib.DataHolders;
 using Drawie.Backend.Core.Surfaces;
 using Drawie.Backend.Core.Surfaces;
-using Drawie.Interop.VulkanAvalonia.Controls;
+using Drawie.Interop.Avalonia.Core.Controls;
 using PixiEditor.Models.Rendering;
 using PixiEditor.Models.Rendering;
 using Drawie.Numerics;
 using Drawie.Numerics;
 
 

+ 1 - 7
src/PixiEditor/Views/Visuals/TextureControl.cs

@@ -1,14 +1,8 @@
 using Avalonia;
 using Avalonia;
-using Avalonia.Controls;
 using Avalonia.Media;
 using Avalonia.Media;
-using Avalonia.Rendering.SceneGraph;
-using Avalonia.Skia;
 using Avalonia.Threading;
 using Avalonia.Threading;
 using Drawie.Backend.Core;
 using Drawie.Backend.Core;
-using Drawie.Backend.Core.Bridge;
-using Drawie.Backend.Core.Surfaces;
-using Drawie.Backend.Core.Surfaces.PaintImpl;
-using Drawie.Interop.VulkanAvalonia.Controls;
+using Drawie.Interop.Avalonia.Core.Controls;
 using Drawie.Numerics;
 using Drawie.Numerics;
 
 
 namespace PixiEditor.Views.Visuals;
 namespace PixiEditor.Views.Visuals;

+ 1 - 1
src/PixiParser

@@ -1 +1 @@
-Subproject commit 31ee9fa86c1900d541bc9d74ee2c3cb8952621b0
+Subproject commit 069637c38964746691a3416c1bcc88793b5554e1

+ 0 - 1
tests/ChunkyImageLibTest/ChunkyImageLibTest.csproj

@@ -22,7 +22,6 @@
   <ItemGroup>
   <ItemGroup>
     <ProjectReference Include="..\..\src\ChunkyImageLib\ChunkyImageLib.csproj" />
     <ProjectReference Include="..\..\src\ChunkyImageLib\ChunkyImageLib.csproj" />
     <ProjectReference Include="..\..\src\Drawie\src\Drawie.Backend.Skia\Drawie.Backend.Skia.csproj" />
     <ProjectReference Include="..\..\src\Drawie\src\Drawie.Backend.Skia\Drawie.Backend.Skia.csproj" />
-    <ProjectReference Include="..\..\src\PixiEditor.DrawingApi.Skia\PixiEditor.DrawingApi.Skia.csproj" />
   </ItemGroup>
   </ItemGroup>
 
 
 </Project>
 </Project>

+ 1 - 0
tests/PixiEditor.Backend.Tests/NodeSystemTests.cs

@@ -1,5 +1,6 @@
 using System.Reflection;
 using System.Reflection;
 using Drawie.Backend.Core.Bridge;
 using Drawie.Backend.Core.Bridge;
+using Drawie.Interop.Avalonia.Core;
 using Drawie.Interop.VulkanAvalonia;
 using Drawie.Interop.VulkanAvalonia;
 using Drawie.Skia;
 using Drawie.Skia;
 using PixiEditor.ChangeableDocument.Changeables.Graph;
 using PixiEditor.ChangeableDocument.Changeables.Graph;

+ 0 - 1
tests/PixiEditor.Backend.Tests/PixiEditor.Backend.Tests.csproj

@@ -28,7 +28,6 @@
 
 
     <ItemGroup>
     <ItemGroup>
       <ProjectReference Include="..\..\src\PixiEditor.ChangeableDocument\PixiEditor.ChangeableDocument.csproj" />
       <ProjectReference Include="..\..\src\PixiEditor.ChangeableDocument\PixiEditor.ChangeableDocument.csproj" />
-      <ProjectReference Include="..\..\src\PixiEditor.DrawingApi.Skia\PixiEditor.DrawingApi.Skia.csproj" />
       <ProjectReference Include="..\..\src\PixiEditor\PixiEditor.csproj" />
       <ProjectReference Include="..\..\src\PixiEditor\PixiEditor.csproj" />
     </ItemGroup>
     </ItemGroup>
 
 

+ 35 - 7
tests/PixiEditorTests.sln

@@ -99,12 +99,20 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Drawie.Windowing", "..\src\
 EndProject
 EndProject
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Drawie.Backend.Skia", "..\src\Drawie\src\Drawie.Backend.Skia\Drawie.Backend.Skia.csproj", "{8044BAB5-5EF5-45FE-B819-18BDCC914C1B}"
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Drawie.Backend.Skia", "..\src\Drawie\src\Drawie.Backend.Skia\Drawie.Backend.Skia.csproj", "{8044BAB5-5EF5-45FE-B819-18BDCC914C1B}"
 EndProject
 EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Drawie.Interop.VulkanAvalonia", "..\src\Drawie\src\Drawie.Interop.VulkanAvalonia\Drawie.Interop.VulkanAvalonia.csproj", "{B2C312C3-E1D6-4970-BBFF-FA2E47ED505C}"
-EndProject
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Drawie.RenderApi.Vulkan", "..\src\Drawie\src\Drawie.RenderApi.Vulkan\Drawie.RenderApi.Vulkan.csproj", "{54C073D4-88F8-46D2-9EDB-86C0A7819968}"
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Drawie.RenderApi.Vulkan", "..\src\Drawie\src\Drawie.RenderApi.Vulkan\Drawie.RenderApi.Vulkan.csproj", "{54C073D4-88F8-46D2-9EDB-86C0A7819968}"
 EndProject
 EndProject
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PixiEditor.SVG", "..\src\PixiEditor.SVG\PixiEditor.SVG.csproj", "{A0424CAD-F2F5-4A2A-A638-F5457BD098C6}"
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PixiEditor.SVG", "..\src\PixiEditor.SVG\PixiEditor.SVG.csproj", "{A0424CAD-F2F5-4A2A-A638-F5457BD098C6}"
 EndProject
 EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Drawie.Interop.Avalonia.Vulkan", "..\src\Drawie\src\Drawie.Interop.Avalonia.Vulkan\Drawie.Interop.Avalonia.Vulkan.csproj", "{B973129E-33DD-408F-988A-974F90C3B76C}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Drawie.Interop.Avalonia.Core", "..\src\Drawie\src\Drawie.Interop.Avalonia.Core\Drawie.Interop.Avalonia.Core.csproj", "{94AD7598-865A-41A2-A2DE-A866FE7C54F3}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Drawie.Interop.Avalonia", "..\src\Drawie\src\Drawie.Interop.Avalonia\Drawie.Interop.Avalonia.csproj", "{D00D836B-6EAD-4E86-8F6A-A0FE10CC8A8C}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Drawie.Interop.Avalonia.OpenGl", "..\src\Drawie\src\Drawie.Interop.Avalonia.OpenGl\Drawie.Interop.Avalonia.OpenGl.csproj", "{404E524C-A719-4B3F-981E-98A0EC33E3F2}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Drawie.RenderApi.OpenGl", "..\src\Drawie\src\Drawie.RenderApi.OpenGl\Drawie.RenderApi.OpenGl.csproj", "{924CA5E4-F579-435F-B39A-11802F9B1390}"
+EndProject
 Global
 Global
 	GlobalSection(SolutionConfigurationPlatforms) = preSolution
 	GlobalSection(SolutionConfigurationPlatforms) = preSolution
 		Debug|Any CPU = Debug|Any CPU
 		Debug|Any CPU = Debug|Any CPU
@@ -286,10 +294,6 @@ Global
 		{8044BAB5-5EF5-45FE-B819-18BDCC914C1B}.Debug|Any CPU.Build.0 = Debug|Any CPU
 		{8044BAB5-5EF5-45FE-B819-18BDCC914C1B}.Debug|Any CPU.Build.0 = Debug|Any CPU
 		{8044BAB5-5EF5-45FE-B819-18BDCC914C1B}.Release|Any CPU.ActiveCfg = Release|Any CPU
 		{8044BAB5-5EF5-45FE-B819-18BDCC914C1B}.Release|Any CPU.ActiveCfg = Release|Any CPU
 		{8044BAB5-5EF5-45FE-B819-18BDCC914C1B}.Release|Any CPU.Build.0 = Release|Any CPU
 		{8044BAB5-5EF5-45FE-B819-18BDCC914C1B}.Release|Any CPU.Build.0 = Release|Any CPU
-		{B2C312C3-E1D6-4970-BBFF-FA2E47ED505C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{B2C312C3-E1D6-4970-BBFF-FA2E47ED505C}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{B2C312C3-E1D6-4970-BBFF-FA2E47ED505C}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{B2C312C3-E1D6-4970-BBFF-FA2E47ED505C}.Release|Any CPU.Build.0 = Release|Any CPU
 		{54C073D4-88F8-46D2-9EDB-86C0A7819968}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
 		{54C073D4-88F8-46D2-9EDB-86C0A7819968}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
 		{54C073D4-88F8-46D2-9EDB-86C0A7819968}.Debug|Any CPU.Build.0 = Debug|Any CPU
 		{54C073D4-88F8-46D2-9EDB-86C0A7819968}.Debug|Any CPU.Build.0 = Debug|Any CPU
 		{54C073D4-88F8-46D2-9EDB-86C0A7819968}.Release|Any CPU.ActiveCfg = Release|Any CPU
 		{54C073D4-88F8-46D2-9EDB-86C0A7819968}.Release|Any CPU.ActiveCfg = Release|Any CPU
@@ -298,6 +302,26 @@ Global
 		{A0424CAD-F2F5-4A2A-A638-F5457BD098C6}.Debug|Any CPU.Build.0 = Debug|Any CPU
 		{A0424CAD-F2F5-4A2A-A638-F5457BD098C6}.Debug|Any CPU.Build.0 = Debug|Any CPU
 		{A0424CAD-F2F5-4A2A-A638-F5457BD098C6}.Release|Any CPU.ActiveCfg = Release|Any CPU
 		{A0424CAD-F2F5-4A2A-A638-F5457BD098C6}.Release|Any CPU.ActiveCfg = Release|Any CPU
 		{A0424CAD-F2F5-4A2A-A638-F5457BD098C6}.Release|Any CPU.Build.0 = Release|Any CPU
 		{A0424CAD-F2F5-4A2A-A638-F5457BD098C6}.Release|Any CPU.Build.0 = Release|Any CPU
+		{B973129E-33DD-408F-988A-974F90C3B76C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{B973129E-33DD-408F-988A-974F90C3B76C}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{B973129E-33DD-408F-988A-974F90C3B76C}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{B973129E-33DD-408F-988A-974F90C3B76C}.Release|Any CPU.Build.0 = Release|Any CPU
+		{94AD7598-865A-41A2-A2DE-A866FE7C54F3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{94AD7598-865A-41A2-A2DE-A866FE7C54F3}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{94AD7598-865A-41A2-A2DE-A866FE7C54F3}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{94AD7598-865A-41A2-A2DE-A866FE7C54F3}.Release|Any CPU.Build.0 = Release|Any CPU
+		{D00D836B-6EAD-4E86-8F6A-A0FE10CC8A8C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{D00D836B-6EAD-4E86-8F6A-A0FE10CC8A8C}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{D00D836B-6EAD-4E86-8F6A-A0FE10CC8A8C}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{D00D836B-6EAD-4E86-8F6A-A0FE10CC8A8C}.Release|Any CPU.Build.0 = Release|Any CPU
+		{404E524C-A719-4B3F-981E-98A0EC33E3F2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{404E524C-A719-4B3F-981E-98A0EC33E3F2}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{404E524C-A719-4B3F-981E-98A0EC33E3F2}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{404E524C-A719-4B3F-981E-98A0EC33E3F2}.Release|Any CPU.Build.0 = Release|Any CPU
+		{924CA5E4-F579-435F-B39A-11802F9B1390}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{924CA5E4-F579-435F-B39A-11802F9B1390}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{924CA5E4-F579-435F-B39A-11802F9B1390}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{924CA5E4-F579-435F-B39A-11802F9B1390}.Release|Any CPU.Build.0 = Release|Any CPU
 	EndGlobalSection
 	EndGlobalSection
 	GlobalSection(NestedProjects) = preSolution
 	GlobalSection(NestedProjects) = preSolution
 		{0EF3CAB9-7361-472C-8789-D17D4EA2DEBB} = {D914C08C-5F1A-4E13-AAA6-F25E8C9748E2}
 		{0EF3CAB9-7361-472C-8789-D17D4EA2DEBB} = {D914C08C-5F1A-4E13-AAA6-F25E8C9748E2}
@@ -345,8 +369,12 @@ Global
 		{23A9B33D-118E-4BCE-85FB-0AAC6E4D15B6} = {E118E6FE-67E7-4472-A8D7-E7F470E66131}
 		{23A9B33D-118E-4BCE-85FB-0AAC6E4D15B6} = {E118E6FE-67E7-4472-A8D7-E7F470E66131}
 		{B8DFAB77-3FD1-4FFF-A018-215EFC73D916} = {E118E6FE-67E7-4472-A8D7-E7F470E66131}
 		{B8DFAB77-3FD1-4FFF-A018-215EFC73D916} = {E118E6FE-67E7-4472-A8D7-E7F470E66131}
 		{8044BAB5-5EF5-45FE-B819-18BDCC914C1B} = {E118E6FE-67E7-4472-A8D7-E7F470E66131}
 		{8044BAB5-5EF5-45FE-B819-18BDCC914C1B} = {E118E6FE-67E7-4472-A8D7-E7F470E66131}
-		{B2C312C3-E1D6-4970-BBFF-FA2E47ED505C} = {E118E6FE-67E7-4472-A8D7-E7F470E66131}
 		{54C073D4-88F8-46D2-9EDB-86C0A7819968} = {E118E6FE-67E7-4472-A8D7-E7F470E66131}
 		{54C073D4-88F8-46D2-9EDB-86C0A7819968} = {E118E6FE-67E7-4472-A8D7-E7F470E66131}
 		{A0424CAD-F2F5-4A2A-A638-F5457BD098C6} = {E118E6FE-67E7-4472-A8D7-E7F470E66131}
 		{A0424CAD-F2F5-4A2A-A638-F5457BD098C6} = {E118E6FE-67E7-4472-A8D7-E7F470E66131}
+		{B973129E-33DD-408F-988A-974F90C3B76C} = {E118E6FE-67E7-4472-A8D7-E7F470E66131}
+		{94AD7598-865A-41A2-A2DE-A866FE7C54F3} = {E118E6FE-67E7-4472-A8D7-E7F470E66131}
+		{D00D836B-6EAD-4E86-8F6A-A0FE10CC8A8C} = {E118E6FE-67E7-4472-A8D7-E7F470E66131}
+		{404E524C-A719-4B3F-981E-98A0EC33E3F2} = {E118E6FE-67E7-4472-A8D7-E7F470E66131}
+		{924CA5E4-F579-435F-B39A-11802F9B1390} = {E118E6FE-67E7-4472-A8D7-E7F470E66131}
 	EndGlobalSection
 	EndGlobalSection
 EndGlobal
 EndGlobal