Selaa lähdekoodia

[SKIA] One codebase to rule them all

Nikita Tsukanov 8 vuotta sitten
vanhempi
sitoutus
1f91e01293

+ 2 - 0
Avalonia.sln

@@ -182,6 +182,8 @@ Global
 		src\Shared\RenderHelpers\RenderHelpers.projitems*{925dd807-b651-475f-9f7c-cbeb974ce43d}*SharedItemsImports = 4
 		src\Skia\Avalonia.Skia\Avalonia.Skia.projitems*{925dd807-b651-475f-9f7c-cbeb974ce43d}*SharedItemsImports = 4
 		src\Windows\Avalonia.Win32\Avalonia.Win32.Shared.projitems*{9defc6b7-845b-4d8f-afc0-d32bf0032b8c}*SharedItemsImports = 13
+		src\Shared\RenderHelpers\RenderHelpers.projitems*{bd43f7c0-396b-4aa1-bad9-dfde54d51298}*SharedItemsImports = 4
+		src\Skia\Avalonia.Skia\Avalonia.Skia.projitems*{bd43f7c0-396b-4aa1-bad9-dfde54d51298}*SharedItemsImports = 4
 		tests\Avalonia.RenderTests\Avalonia.RenderTests.projitems*{d35a9f3d-8bb0-496e-bf72-444038a7debb}*SharedItemsImports = 4
 		tests\Avalonia.RenderTests\Avalonia.RenderTests.projitems*{dabfd304-d6a4-4752-8123-c2ccf7ac7831}*SharedItemsImports = 4
 		tests\Avalonia.RenderTests\Avalonia.RenderTests.projitems*{e106cf37-4066-4615-b684-172a6d30b058}*SharedItemsImports = 4

+ 0 - 27
src/Skia/Avalonia.Skia.Android/AndroidPlatformRenderInterface.cs

@@ -1,27 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-
-using Android.App;
-using Android.Content;
-using Android.OS;
-using Android.Runtime;
-using Android.Views;
-using Android.Widget;
-using Avalonia.Controls.Platform.Surfaces;
-using Avalonia.Platform;
-
-namespace Avalonia.Skia
-{
-    partial class PlatformRenderInterface
-    {
-        public IRenderTarget CreateRenderTarget(IEnumerable<object> surfaces)
-        {
-            var fb = surfaces?.OfType<IFramebufferPlatformSurface>().FirstOrDefault();
-            if (fb == null)
-                throw new ArgumentException("Avalonia.Skia.Android is only capable of drawing on framebuffer");
-            return new FramebufferRenderTarget(fb);
-        }
-    }
-}

+ 0 - 3
src/Skia/Avalonia.Skia.Android/Avalonia.Skia.Android.csproj

@@ -85,9 +85,6 @@
       <Name>Avalonia.Styling</Name>
     </ProjectReference>
   </ItemGroup>
-  <ItemGroup>
-    <Compile Include="AndroidPlatformRenderInterface.cs" />
-  </ItemGroup>
   <ItemGroup>
     <None Include="packages.config" />
   </ItemGroup>

+ 0 - 3
src/Skia/Avalonia.Skia.Desktop.NetStandard/Avalonia.Skia.Desktop.NetStandard.csproj

@@ -44,9 +44,6 @@
     <Compile Include="..\..\Shared\SharedAssemblyInfo.cs">
       <Link>Properties\SharedAssemblyInfo.cs</Link>
     </Compile>
-    <Compile Include="..\Avalonia.Skia.Desktop\PlatformRenderInterfaceDesktop.cs">
-      <Link>PlatformRenderInterfaceDesktop.cs</Link>
-    </Compile>
   </ItemGroup>
   <ItemGroup>
     <ProjectReference Include="..\..\Avalonia.Base\Avalonia.Base.csproj">

+ 0 - 1
src/Skia/Avalonia.Skia.Desktop/Avalonia.Skia.Desktop.csproj

@@ -71,7 +71,6 @@
     <Reference Include="System.Xml" />
   </ItemGroup>
   <ItemGroup>
-    <Compile Include="PlatformRenderInterfaceDesktop.cs" />
     <Compile Include="Properties\AssemblyInfo.cs" />
   </ItemGroup>
   <ItemGroup>

+ 0 - 21
src/Skia/Avalonia.Skia.Desktop/PlatformRenderInterfaceDesktop.cs

@@ -1,21 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using Avalonia.Controls.Platform.Surfaces;
-using Avalonia.Platform;
-
-namespace Avalonia.Skia
-{
-    partial class PlatformRenderInterface
-    {
-        public IRenderTarget CreateRenderTarget(IEnumerable<object> surfaces)
-        {
-            var fb = surfaces?.OfType<IFramebufferPlatformSurface>().FirstOrDefault();
-            if (fb == null)
-                throw new Exception("Avalonia.Skia.Deskop currently only supports framebuffer render target");
-            return new FramebufferRenderTarget(fb);
-        }
-    }
-}

+ 0 - 1
src/Skia/Avalonia.Skia.iOS/Avalonia.Skia.iOS.csproj

@@ -37,7 +37,6 @@
     <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
   </PropertyGroup>
   <ItemGroup>
-    <Compile Include="PlatformRenderingInterfaceIos.cs" />
     <Compile Include="RenderTarget.cs" />
     <Compile Include="SkiaView.cs" />
     <Compile Include="Properties\AssemblyInfo.cs" />

+ 0 - 22
src/Skia/Avalonia.Skia.iOS/PlatformRenderingInterfaceIos.cs

@@ -1,22 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using Avalonia.Controls.Platform.Surfaces;
-using Avalonia.Platform;
-using Foundation;
-using UIKit;
-
-namespace Avalonia.Skia
-{
-    partial class PlatformRenderInterface
-    {
-        public IRenderTarget CreateRenderTarget(IEnumerable<object> surfaces)
-        {
-            var fb = surfaces?.OfType<IFramebufferPlatformSurface>().FirstOrDefault();
-            if (fb == null)
-                throw new Exception("Avalonia.Skia.Deskop currently only supports framebuffer render target");
-            return new FramebufferRenderTarget(fb);
-        }
-    }
-}

+ 10 - 0
src/Skia/Avalonia.Skia/PlatformRenderInterface.cs

@@ -1,6 +1,8 @@
 using System;
 using System.Collections.Generic;
 using System.IO;
+using System.Linq;
+using Avalonia.Controls.Platform.Surfaces;
 using Avalonia.Media;
 using Avalonia.Platform;
 using Avalonia.Rendering;
@@ -64,5 +66,13 @@ namespace Avalonia.Skia
 
             return new BitmapImpl(width, height);
         }
+
+        public virtual IRenderTarget CreateRenderTarget(IEnumerable<object> surfaces)
+        {
+            var fb = surfaces?.OfType<IFramebufferPlatformSurface>().FirstOrDefault();
+            if (fb == null)
+                throw new Exception("Skia backend currently only supports framebuffer render target");
+            return new FramebufferRenderTarget(fb);
+        }
     }
 }