Add WASM Support for Uno Platform (#1333)
Co-authored-by: Jérôme Laban <jerome.laban@nventive.com> Co-authored-by: Geoffrey Huntley <ghuntley@ghuntley.com> Co-authored-by: Martin Zikmund <martin@zikmund.dev>
This commit is contained in:
Родитель
99356f9b7e
Коммит
b84f667eae
|
@ -9,7 +9,7 @@ indent_style = space
|
|||
# (Please don't specify an indent_size here; that has too many unintended consequences.)
|
||||
|
||||
# Code files
|
||||
[*.{cs,csx,vb,vbx}]
|
||||
[*.{cs,csx,vb,vbx,ts}]
|
||||
indent_style = tab
|
||||
indent_size = 4
|
||||
insert_final_newline = true
|
||||
|
|
|
@ -27,6 +27,11 @@ Please visit https://go.microsoft.com/fwlink/?linkid=868517 to view the release
|
|||
<copyright>© Microsoft Corporation. All rights reserved.</copyright>
|
||||
|
||||
<dependencies>
|
||||
<group targetFramework="netstandard2.0">
|
||||
<dependency id="Uno.UI" version="2.0.532" />
|
||||
<dependency id="SkiaSharp" version="1.0.0" />
|
||||
<dependency id="SkiaSharp.NativeAssets.WebAssembly" version="1.0.0" />
|
||||
</group>
|
||||
<group targetFramework="monoandroid1.0">
|
||||
<dependency id="Uno.UI" version="2.0.532" />
|
||||
<dependency id="SkiaSharp" version="1.0.0" />
|
||||
|
@ -50,15 +55,18 @@ Please visit https://go.microsoft.com/fwlink/?linkid=868517 to view the release
|
|||
<files>
|
||||
|
||||
<!-- SkiaSharp.Views.UWP.dll -->
|
||||
<file src="lib/netstandard2.0/SkiaSharp.Views.UWP.dll" />
|
||||
<file src="lib/netstandard2.0/SkiaSharp.Views.UWP.xml" />
|
||||
<file platform="macos,windows" src="lib/monoandroid1.0/SkiaSharp.Views.UWP.dll" />
|
||||
<file platform="macos,windows" src="lib/monoandroid1.0/SkiaSharp.Views.UWP.xml" />
|
||||
<file platform="macos" src="lib/xamarinios1.0/SkiaSharp.Views.UWP.dll" />
|
||||
<file platform="macos" src="lib/xamarinios1.0/SkiaSharp.Views.UWP.xml" />
|
||||
<file platform="macos" src="lib/xamarinmac2.0/SkiaSharp.Views.UWP.dll" />
|
||||
<file platform="macos" src="lib/xamarinmac2.0/SkiaSharp.Views.UWP.xml" />
|
||||
<file src="_._" target="lib/uap10.0/_._" />
|
||||
|
||||
<!-- the build bits -->
|
||||
<file src="_._" target="lib/uap10.0/_._" />
|
||||
<file src="build/netstandard2.0/SkiaSharp.Views.Uno.targets" />
|
||||
|
||||
<!-- legal -->
|
||||
<file src="LICENSE.txt" />
|
||||
|
|
|
@ -5,17 +5,30 @@ VisualStudioVersion = 16.0.30229.9
|
|||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "SkiaSharpSample.Shared", "SkiaSharpSample.Shared\SkiaSharpSample.Shared.shproj", "{6279C845-92F8-4333-AB99-3D213163593C}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SkiaSharpSample.Wasm", "SkiaSharpSample.Wasm\SkiaSharpSample.Wasm.csproj", "{9726301D-8A93-4A06-88DF-92BA01CF80AD}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SkiaSharp.Views.Uno.Wasm", "..\..\..\source\SkiaSharp.Views.Uno\SkiaSharp.Views.Uno.Wasm\SkiaSharp.Views.Uno.Wasm.csproj", "{1787D9BF-9815-4E1D-BDEB-9994859FE91E}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SkiaSharp", "..\..\..\binding\SkiaSharp\SkiaSharp.csproj", "{409AF271-D8B7-4F79-B293-02F562A51955}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SharedMSBuildProjectFiles) = preSolution
|
||||
SkiaSharpSample.Shared\SkiaSharpSample.Shared.projitems*{6279c845-92f8-4333-ab99-3d213163593c}*SharedItemsImports = 13
|
||||
SkiaSharpSample.Shared\SkiaSharpSample.Shared.projitems*{9726301d-8a93-4a06-88df-92ba01cf80ad}*SharedItemsImports = 5
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
Release|Any CPU = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{9726301D-8A93-4A06-88DF-92BA01CF80AD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{9726301D-8A93-4A06-88DF-92BA01CF80AD}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{9726301D-8A93-4A06-88DF-92BA01CF80AD}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{9726301D-8A93-4A06-88DF-92BA01CF80AD}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{1787D9BF-9815-4E1D-BDEB-9994859FE91E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{1787D9BF-9815-4E1D-BDEB-9994859FE91E}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{1787D9BF-9815-4E1D-BDEB-9994859FE91E}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{1787D9BF-9815-4E1D-BDEB-9994859FE91E}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{409AF271-D8B7-4F79-B293-02F562A51955}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{409AF271-D8B7-4F79-B293-02F562A51955}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{409AF271-D8B7-4F79-B293-02F562A51955}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
|
|
Двоичный файл не отображается.
После Ширина: | Высота: | Размер: 31 KiB |
|
@ -0,0 +1,10 @@
|
|||
<linker>
|
||||
<assembly fullname="SkiaSharp" />
|
||||
<assembly fullname="SkiaSharp.Views.UWP" />
|
||||
<assembly fullname="SkiaSharpSample.Wasm" />
|
||||
<assembly fullname="Uno.Foundation" />
|
||||
<assembly fullname="System.Core">
|
||||
<!-- This is required by Json.NET and any expression.Compile caller -->
|
||||
<type fullname="System.Linq.Expressions*" />
|
||||
</assembly>
|
||||
</linker>
|
|
@ -0,0 +1,78 @@
|
|||
using Microsoft.Extensions.Logging;
|
||||
using Uno.Extensions;
|
||||
using Uno.UI;
|
||||
using Windows.UI.Xaml;
|
||||
|
||||
namespace SkiaSharpSample
|
||||
{
|
||||
public class Program
|
||||
{
|
||||
private static App _app;
|
||||
|
||||
static int Main(string[] args)
|
||||
{
|
||||
FeatureConfiguration.UIElement.AssignDOMXamlName = true;
|
||||
|
||||
ConfigureFilters(LogExtensionPoint.AmbientLoggerFactory);
|
||||
|
||||
Application.Start(_ => _app = new App());
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void ConfigureFilters(ILoggerFactory factory)
|
||||
{
|
||||
factory
|
||||
.WithFilter(new FilterLoggerSettings
|
||||
{
|
||||
{ "Uno", LogLevel.Warning },
|
||||
{ "Windows", LogLevel.Warning },
|
||||
{ "nVentive.Umbrella", LogLevel.Warning },
|
||||
{ "SkiaSharp", LogLevel.Warning },
|
||||
|
||||
// View Navigation related messages
|
||||
// { "nVentive.Umbrella.Views.Navigation", LogLevel.Debug },
|
||||
// { "nVentive.Umbrella.Presentation.Light.ViewModelRegistry", LogLevel.Debug },
|
||||
|
||||
// All presentation related messages
|
||||
// { "nVentive.Umbrella.Presentation.Light", LogLevel.Debug },
|
||||
|
||||
// ViewModel related messages
|
||||
// { "nVentive.Umbrella.Presentation.Light.ViewModelBase", LogLevel.Debug },
|
||||
|
||||
// Dynamic properties related messages
|
||||
// { "nVentive.Umbrella.Presentation.Light.DynamicProperties", LogLevel.Debug },
|
||||
|
||||
// AVVM/AVP Related messages
|
||||
// { "nVentive.Umbrella.Presentation.Light.Extensions.AsyncValueViewModel", LogLevel.Debug },
|
||||
// { "nVentive.Umbrella.Views.Controls.AsyncValuePresenter", LogLevel.Debug },
|
||||
// { "nVentive.Umbrella.Views.Controls.IfDataContext", LogLevel.Debug },
|
||||
|
||||
// Layouter specific messages
|
||||
// { "Windows.UI.Xaml.Controls", LogLevel.Debug },
|
||||
// { "Windows.UI.Xaml.Controls.Layouter", LogLevel.Debug },
|
||||
// { "Windows.UI.Xaml.Controls.Panel", LogLevel.Debug },
|
||||
|
||||
// Binding related messages
|
||||
// { "Windows.UI.Xaml.Data", LogLevel.Debug },
|
||||
// { "Windows.UI.Xaml.Data", LogLevel.Debug },
|
||||
|
||||
// Binder memory references tracking
|
||||
// { "ReferenceHolder", LogLevel.Debug },
|
||||
|
||||
// Web Queries related messages
|
||||
// gManager.SetLoggerLevel("nVentive.Umbrella.Web", LogLevel.Debug },
|
||||
|
||||
// Location service messages
|
||||
// { "nVentive.Umbrella.Services.Location", LogLevel.Debug },
|
||||
|
||||
// Map Component messages
|
||||
// { "nVentive.Umbrella.Components.Maps", LogLevel.Debug },
|
||||
|
||||
// ApplicationViewState
|
||||
// { "nVentive.Umbrella.Views.Services.ApplicationViewState.ApplicationViewStateService", LogLevel.Debug },
|
||||
})
|
||||
.AddConsole(LogLevel.Debug);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,27 @@
|
|||
{
|
||||
"iisSettings": {
|
||||
"windowsAuthentication": false,
|
||||
"anonymousAuthentication": true,
|
||||
"iisExpress": {
|
||||
"applicationUrl": "http://localhost:63559/",
|
||||
"sslPort": 0
|
||||
}
|
||||
},
|
||||
"profiles": {
|
||||
"IIS Express": {
|
||||
"commandName": "IISExpress",
|
||||
"launchBrowser": true,
|
||||
"environmentVariables": {
|
||||
"ASPNETCORE_ENVIRONMENT": "Development"
|
||||
}
|
||||
},
|
||||
"SkiaSharpSample.Wasm": {
|
||||
"commandName": "Project",
|
||||
"launchBrowser": true,
|
||||
"environmentVariables": {
|
||||
"ASPNETCORE_ENVIRONMENT": "Development"
|
||||
},
|
||||
"applicationUrl": "http://localhost:5000"
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,44 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project Sdk="Microsoft.NET.Sdk.Web">
|
||||
<Import Project="..\SkiaSharpSample.Shared\SkiaSharpSample.Shared.projitems" Label="Shared" />
|
||||
<Import Project="..\..\..\..\output\SkiaSharp\nuget\build\wasm\SkiaSharp.props" Condition="Exists('..\..\..\..\output\SkiaSharp\nuget\build\wasm\SkiaSharp.props')" />
|
||||
<PropertyGroup>
|
||||
<OutputType>Exe</OutputType>
|
||||
<TargetFramework>netstandard2.0</TargetFramework>
|
||||
<WasmHead>true</WasmHead>
|
||||
<DefineConstants>$(DefineConstants);__WASM__</DefineConstants>
|
||||
<LangVersion>8.0</LangVersion>
|
||||
<WasmShellILLinkerEnabled>true</WasmShellILLinkerEnabled>
|
||||
<WasmShellForceDisableWSL Condition="'$(OS)' != 'Unix' and ('$(CI)' == 'true' or '$(BUILD_BUILDID)' != '')">true</WasmShellForceDisableWSL>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)'=='Debug'">
|
||||
<MonoRuntimeDebuggerEnabled>true</MonoRuntimeDebuggerEnabled>
|
||||
<DebugType>portable</DebugType>
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<WasmShellMonoRuntimeExecutionMode>Interpreter</WasmShellMonoRuntimeExecutionMode>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)'=='Release'">
|
||||
<WasmShellMonoRuntimeExecutionMode>FullAOT</WasmShellMonoRuntimeExecutionMode>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Microsoft.Extensions.Logging.Console" Version="1.1.1" />
|
||||
<PackageReference Include="Microsoft.Extensions.Logging.Filter" Version="1.1.1" />
|
||||
<PackageReference Include="Uno.UI" Version="2.4.4" />
|
||||
</ItemGroup>
|
||||
<!-- workaround for https://github.com/unoplatform/Uno.Wasm.Bootstrap/issues/253 -->
|
||||
<ItemGroup Condition=" '$(WasmShellForceDisableWSL)' != 'true' ">
|
||||
<PackageReference Include="Uno.Wasm.Bootstrap" Version="1.4.0-dev.9" />
|
||||
<PackageReference Include="Uno.Wasm.Bootstrap.DevServer" Version="1.4.0-dev.9" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\..\..\binding\SkiaSharp\SkiaSharp.csproj" />
|
||||
<ProjectReference Include="..\..\..\..\source\SkiaSharp.Views.Uno\SkiaSharp.Views.Uno.Wasm\SkiaSharp.Views.Uno.Wasm.csproj" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Content Include="Assets\**\*" />
|
||||
<EmbeddedResource Include="WasmCSS\*.css" />
|
||||
<EmbeddedResource Include="WasmScripts\*.js" />
|
||||
<LinkerDescriptor Include="LinkerConfig.xml" />
|
||||
</ItemGroup>
|
||||
<Import Project="..\..\..\..\output\SkiaSharp.Views.Uno\nuget\build\netstandard2.0\SkiaSharp.Views.Uno.targets" Condition="Exists('..\..\..\..\output\SkiaSharp.Views.Uno\nuget\build\netstandard2.0\SkiaSharp.Views.Uno.targets')" />
|
||||
</Project>
|
Различия файлов скрыты, потому что одна или несколько строк слишком длинны
|
@ -0,0 +1,5 @@
|
|||
var UnoAppManifest = {
|
||||
splashScreenImage: "Assets/SplashScreen.png",
|
||||
splashScreenColor: "#F8F8F8",
|
||||
displayName: "SkiaSharp for WebAssembly"
|
||||
}
|
|
@ -0,0 +1 @@
|
|||
|
|
@ -0,0 +1,78 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<configuration>
|
||||
<system.web>
|
||||
<customErrors mode="Off"/>
|
||||
</system.web>
|
||||
|
||||
<system.webServer>
|
||||
|
||||
<!-- Disable compression as we're doing it throuh pre-compressed files -->
|
||||
<urlCompression doStaticCompression="false" doDynamicCompression="false" dynamicCompressionBeforeCache="false" />
|
||||
|
||||
<staticContent>
|
||||
<remove fileExtension=".dll" />
|
||||
<remove fileExtension=".wasm" />
|
||||
<remove fileExtension=".woff" />
|
||||
<remove fileExtension=".woff2" />
|
||||
<mimeMap fileExtension=".wasm" mimeType="application/wasm" />
|
||||
<mimeMap fileExtension=".clr" mimeType="application/octet-stream" />
|
||||
<mimeMap fileExtension=".pdb" mimeType="application/octet-stream" />
|
||||
<mimeMap fileExtension=".woff" mimeType="application/font-woff" />
|
||||
<mimeMap fileExtension=".woff2" mimeType="application/font-woff" />
|
||||
|
||||
<!-- Required for PWAs -->
|
||||
<mimeMap fileExtension=".json" mimeType="application/octet-stream" />
|
||||
</staticContent>
|
||||
|
||||
<rewrite>
|
||||
<rules>
|
||||
<rule name="Lookup for pre-compressed brotli file" stopProcessing="true">
|
||||
<match url="(.*)$"/>
|
||||
<conditions>
|
||||
<!-- Match brotli requests -->
|
||||
<add input="{HTTP_ACCEPT_ENCODING}" pattern="br" />
|
||||
|
||||
<!-- Match all but pre-compressed files -->
|
||||
<add input="{REQUEST_URI}" pattern="^(?!/_compressed_br/)(.*)$" />
|
||||
|
||||
<!-- Check if the pre-compressed file exists on the disk -->
|
||||
<add input="{DOCUMENT_ROOT}/_compressed_br/{C:0}" matchType="IsFile" negate="false" />
|
||||
</conditions>
|
||||
<action type="Rewrite" url="/_compressed_br{C:0}" />
|
||||
</rule>
|
||||
|
||||
<rule name="Lookup for pre-compressed gzip file" stopProcessing="true">
|
||||
<match url="(.*)$"/>
|
||||
<conditions>
|
||||
<!-- Match gzip requests -->
|
||||
<add input="{HTTP_ACCEPT_ENCODING}" pattern="gzip" />
|
||||
|
||||
<!-- Match all but pre-compressed files -->
|
||||
<add input="{REQUEST_URI}" pattern="^(?!/_compressed_gz/)(.*)$" />
|
||||
|
||||
<!-- Check if the pre-compressed file exists on the disk -->
|
||||
<add input="{DOCUMENT_ROOT}/_compressed_gz/{C:0}" matchType="IsFile" negate="false" />
|
||||
</conditions>
|
||||
<action type="Rewrite" url="/_compressed_gz{C:0}" />
|
||||
</rule>
|
||||
</rules>
|
||||
|
||||
<outboundRules>
|
||||
<rule name="Adjust content encoding for gzip pre-compressed files" enabled="true" stopProcessing="true">
|
||||
<match serverVariable="RESPONSE_CONTENT_ENCODING" pattern="" />
|
||||
<conditions>
|
||||
<add input="{REQUEST_URI}" pattern="/_compressed_gz/.*$" />
|
||||
</conditions>
|
||||
<action type="Rewrite" value="gzip"/>
|
||||
</rule>
|
||||
<rule name="Adjust content encoding for brotli pre-compressed files" enabled="true" stopProcessing="true">
|
||||
<match serverVariable="RESPONSE_CONTENT_ENCODING" pattern="" />
|
||||
<conditions>
|
||||
<add input="{REQUEST_URI}" pattern="/_compressed_br/.*$" />
|
||||
</conditions>
|
||||
<action type="Rewrite" value="br"/>
|
||||
</rule>
|
||||
</outboundRules>
|
||||
</rewrite>
|
||||
</system.webServer>
|
||||
</configuration>
|
|
@ -17,12 +17,17 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SkiaSharp.Views.UWP", "..\.
|
|||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SkiaSharp.UWP", "..\..\..\binding\SkiaSharp.UWP\SkiaSharp.UWP.csproj", "{6FF6B08F-0A69-41A4-8F53-8FE9B7FB4A67}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SkiaSharpSample.Wasm", "SkiaSharpSample.Wasm\SkiaSharpSample.Wasm.csproj", "{9726301D-8A93-4A06-88DF-92BA01CF80AD}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SkiaSharp.Views.Uno.Wasm", "..\..\..\source\SkiaSharp.Views.Uno\SkiaSharp.Views.Uno.Wasm\SkiaSharp.Views.Uno.Wasm.csproj", "{1787D9BF-9815-4E1D-BDEB-9994859FE91E}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SkiaSharp", "..\..\..\binding\SkiaSharp\SkiaSharp.csproj", "{409AF271-D8B7-4F79-B293-02F562A51955}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SharedMSBuildProjectFiles) = preSolution
|
||||
SkiaSharpSample.Shared\SkiaSharpSample.Shared.projitems*{6279c845-92f8-4333-ab99-3d213163593c}*SharedItemsImports = 13
|
||||
SkiaSharpSample.Shared\SkiaSharpSample.Shared.projitems*{8b8db39e-c0ff-4edc-83a6-0b6a4ab763ee}*SharedItemsImports = 4
|
||||
SkiaSharpSample.Shared\SkiaSharpSample.Shared.projitems*{9726301d-8a93-4a06-88df-92ba01cf80ad}*SharedItemsImports = 5
|
||||
SkiaSharpSample.Shared\SkiaSharpSample.Shared.projitems*{ae39aa1d-32c8-482b-9395-ad5493c98f7e}*SharedItemsImports = 4
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
|
@ -178,6 +183,46 @@ Global
|
|||
{6FF6B08F-0A69-41A4-8F53-8FE9B7FB4A67}.Release|x64.Build.0 = Release|Any CPU
|
||||
{6FF6B08F-0A69-41A4-8F53-8FE9B7FB4A67}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{6FF6B08F-0A69-41A4-8F53-8FE9B7FB4A67}.Release|x86.Build.0 = Release|Any CPU
|
||||
{9726301D-8A93-4A06-88DF-92BA01CF80AD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{9726301D-8A93-4A06-88DF-92BA01CF80AD}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{9726301D-8A93-4A06-88DF-92BA01CF80AD}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{9726301D-8A93-4A06-88DF-92BA01CF80AD}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{9726301D-8A93-4A06-88DF-92BA01CF80AD}.Debug|ARM64.ActiveCfg = Debug|Any CPU
|
||||
{9726301D-8A93-4A06-88DF-92BA01CF80AD}.Debug|ARM64.Build.0 = Debug|Any CPU
|
||||
{9726301D-8A93-4A06-88DF-92BA01CF80AD}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{9726301D-8A93-4A06-88DF-92BA01CF80AD}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{9726301D-8A93-4A06-88DF-92BA01CF80AD}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{9726301D-8A93-4A06-88DF-92BA01CF80AD}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{9726301D-8A93-4A06-88DF-92BA01CF80AD}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{9726301D-8A93-4A06-88DF-92BA01CF80AD}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{9726301D-8A93-4A06-88DF-92BA01CF80AD}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{9726301D-8A93-4A06-88DF-92BA01CF80AD}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{9726301D-8A93-4A06-88DF-92BA01CF80AD}.Release|ARM64.ActiveCfg = Release|Any CPU
|
||||
{9726301D-8A93-4A06-88DF-92BA01CF80AD}.Release|ARM64.Build.0 = Release|Any CPU
|
||||
{9726301D-8A93-4A06-88DF-92BA01CF80AD}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{9726301D-8A93-4A06-88DF-92BA01CF80AD}.Release|x64.Build.0 = Release|Any CPU
|
||||
{9726301D-8A93-4A06-88DF-92BA01CF80AD}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{9726301D-8A93-4A06-88DF-92BA01CF80AD}.Release|x86.Build.0 = Release|Any CPU
|
||||
{1787D9BF-9815-4E1D-BDEB-9994859FE91E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{1787D9BF-9815-4E1D-BDEB-9994859FE91E}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{1787D9BF-9815-4E1D-BDEB-9994859FE91E}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{1787D9BF-9815-4E1D-BDEB-9994859FE91E}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{1787D9BF-9815-4E1D-BDEB-9994859FE91E}.Debug|ARM64.ActiveCfg = Debug|Any CPU
|
||||
{1787D9BF-9815-4E1D-BDEB-9994859FE91E}.Debug|ARM64.Build.0 = Debug|Any CPU
|
||||
{1787D9BF-9815-4E1D-BDEB-9994859FE91E}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{1787D9BF-9815-4E1D-BDEB-9994859FE91E}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{1787D9BF-9815-4E1D-BDEB-9994859FE91E}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{1787D9BF-9815-4E1D-BDEB-9994859FE91E}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{1787D9BF-9815-4E1D-BDEB-9994859FE91E}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{1787D9BF-9815-4E1D-BDEB-9994859FE91E}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{1787D9BF-9815-4E1D-BDEB-9994859FE91E}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{1787D9BF-9815-4E1D-BDEB-9994859FE91E}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{1787D9BF-9815-4E1D-BDEB-9994859FE91E}.Release|ARM64.ActiveCfg = Release|Any CPU
|
||||
{1787D9BF-9815-4E1D-BDEB-9994859FE91E}.Release|ARM64.Build.0 = Release|Any CPU
|
||||
{1787D9BF-9815-4E1D-BDEB-9994859FE91E}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{1787D9BF-9815-4E1D-BDEB-9994859FE91E}.Release|x64.Build.0 = Release|Any CPU
|
||||
{1787D9BF-9815-4E1D-BDEB-9994859FE91E}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{1787D9BF-9815-4E1D-BDEB-9994859FE91E}.Release|x86.Build.0 = Release|Any CPU
|
||||
{409AF271-D8B7-4F79-B293-02F562A51955}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{409AF271-D8B7-4F79-B293-02F562A51955}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{409AF271-D8B7-4F79-B293-02F562A51955}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
|
|
|
@ -29,6 +29,10 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SkiaSharp.Views.UWP", "..\.
|
|||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SkiaSharp.UWP", "..\..\..\binding\SkiaSharp.UWP\SkiaSharp.UWP.csproj", "{6FF6B08F-0A69-41A4-8F53-8FE9B7FB4A67}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SkiaSharpSample.Wasm", "SkiaSharpSample.Wasm\SkiaSharpSample.Wasm.csproj", "{9726301D-8A93-4A06-88DF-92BA01CF80AD}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SkiaSharp.Views.Uno.Wasm", "..\..\..\source\SkiaSharp.Views.Uno\SkiaSharp.Views.Uno.Wasm\SkiaSharp.Views.Uno.Wasm.csproj", "{1787D9BF-9815-4E1D-BDEB-9994859FE91E}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SkiaSharp", "..\..\..\binding\SkiaSharp\SkiaSharp.csproj", "{409AF271-D8B7-4F79-B293-02F562A51955}"
|
||||
EndProject
|
||||
Global
|
||||
|
@ -36,6 +40,7 @@ Global
|
|||
SkiaSharpSample.Shared\SkiaSharpSample.Shared.projitems*{2a19c71c-d1ab-4c70-b821-6a7c7c4abe66}*SharedItemsImports = 4
|
||||
SkiaSharpSample.Shared\SkiaSharpSample.Shared.projitems*{6279c845-92f8-4333-ab99-3d213163593c}*SharedItemsImports = 13
|
||||
SkiaSharpSample.Shared\SkiaSharpSample.Shared.projitems*{8b8db39e-c0ff-4edc-83a6-0b6a4ab763ee}*SharedItemsImports = 4
|
||||
SkiaSharpSample.Shared\SkiaSharpSample.Shared.projitems*{9726301d-8a93-4a06-88df-92ba01cf80ad}*SharedItemsImports = 5
|
||||
SkiaSharpSample.Shared\SkiaSharpSample.Shared.projitems*{ae39aa1d-32c8-482b-9395-ad5493c98f7e}*SharedItemsImports = 4
|
||||
SkiaSharpSample.Shared\SkiaSharpSample.Shared.projitems*{b3a30dc3-0e2d-4f46-97c5-fdc6ab8062e6}*SharedItemsImports = 4
|
||||
EndGlobalSection
|
||||
|
@ -429,6 +434,62 @@ Global
|
|||
{6FF6B08F-0A69-41A4-8F53-8FE9B7FB4A67}.Release|x64.Build.0 = Release|Any CPU
|
||||
{6FF6B08F-0A69-41A4-8F53-8FE9B7FB4A67}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{6FF6B08F-0A69-41A4-8F53-8FE9B7FB4A67}.Release|x86.Build.0 = Release|Any CPU
|
||||
{9726301D-8A93-4A06-88DF-92BA01CF80AD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{9726301D-8A93-4A06-88DF-92BA01CF80AD}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{9726301D-8A93-4A06-88DF-92BA01CF80AD}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{9726301D-8A93-4A06-88DF-92BA01CF80AD}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{9726301D-8A93-4A06-88DF-92BA01CF80AD}.Debug|ARM64.ActiveCfg = Debug|Any CPU
|
||||
{9726301D-8A93-4A06-88DF-92BA01CF80AD}.Debug|ARM64.Build.0 = Debug|Any CPU
|
||||
{9726301D-8A93-4A06-88DF-92BA01CF80AD}.Debug|iPhone.ActiveCfg = Debug|Any CPU
|
||||
{9726301D-8A93-4A06-88DF-92BA01CF80AD}.Debug|iPhone.Build.0 = Debug|Any CPU
|
||||
{9726301D-8A93-4A06-88DF-92BA01CF80AD}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
|
||||
{9726301D-8A93-4A06-88DF-92BA01CF80AD}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
|
||||
{9726301D-8A93-4A06-88DF-92BA01CF80AD}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{9726301D-8A93-4A06-88DF-92BA01CF80AD}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{9726301D-8A93-4A06-88DF-92BA01CF80AD}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{9726301D-8A93-4A06-88DF-92BA01CF80AD}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{9726301D-8A93-4A06-88DF-92BA01CF80AD}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{9726301D-8A93-4A06-88DF-92BA01CF80AD}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{9726301D-8A93-4A06-88DF-92BA01CF80AD}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{9726301D-8A93-4A06-88DF-92BA01CF80AD}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{9726301D-8A93-4A06-88DF-92BA01CF80AD}.Release|ARM64.ActiveCfg = Release|Any CPU
|
||||
{9726301D-8A93-4A06-88DF-92BA01CF80AD}.Release|ARM64.Build.0 = Release|Any CPU
|
||||
{9726301D-8A93-4A06-88DF-92BA01CF80AD}.Release|iPhone.ActiveCfg = Release|Any CPU
|
||||
{9726301D-8A93-4A06-88DF-92BA01CF80AD}.Release|iPhone.Build.0 = Release|Any CPU
|
||||
{9726301D-8A93-4A06-88DF-92BA01CF80AD}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
|
||||
{9726301D-8A93-4A06-88DF-92BA01CF80AD}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
|
||||
{9726301D-8A93-4A06-88DF-92BA01CF80AD}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{9726301D-8A93-4A06-88DF-92BA01CF80AD}.Release|x64.Build.0 = Release|Any CPU
|
||||
{9726301D-8A93-4A06-88DF-92BA01CF80AD}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{9726301D-8A93-4A06-88DF-92BA01CF80AD}.Release|x86.Build.0 = Release|Any CPU
|
||||
{1787D9BF-9815-4E1D-BDEB-9994859FE91E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{1787D9BF-9815-4E1D-BDEB-9994859FE91E}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{1787D9BF-9815-4E1D-BDEB-9994859FE91E}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{1787D9BF-9815-4E1D-BDEB-9994859FE91E}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{1787D9BF-9815-4E1D-BDEB-9994859FE91E}.Debug|ARM64.ActiveCfg = Debug|Any CPU
|
||||
{1787D9BF-9815-4E1D-BDEB-9994859FE91E}.Debug|ARM64.Build.0 = Debug|Any CPU
|
||||
{1787D9BF-9815-4E1D-BDEB-9994859FE91E}.Debug|iPhone.ActiveCfg = Debug|Any CPU
|
||||
{1787D9BF-9815-4E1D-BDEB-9994859FE91E}.Debug|iPhone.Build.0 = Debug|Any CPU
|
||||
{1787D9BF-9815-4E1D-BDEB-9994859FE91E}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
|
||||
{1787D9BF-9815-4E1D-BDEB-9994859FE91E}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
|
||||
{1787D9BF-9815-4E1D-BDEB-9994859FE91E}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{1787D9BF-9815-4E1D-BDEB-9994859FE91E}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{1787D9BF-9815-4E1D-BDEB-9994859FE91E}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{1787D9BF-9815-4E1D-BDEB-9994859FE91E}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{1787D9BF-9815-4E1D-BDEB-9994859FE91E}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{1787D9BF-9815-4E1D-BDEB-9994859FE91E}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{1787D9BF-9815-4E1D-BDEB-9994859FE91E}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{1787D9BF-9815-4E1D-BDEB-9994859FE91E}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{1787D9BF-9815-4E1D-BDEB-9994859FE91E}.Release|ARM64.ActiveCfg = Release|Any CPU
|
||||
{1787D9BF-9815-4E1D-BDEB-9994859FE91E}.Release|ARM64.Build.0 = Release|Any CPU
|
||||
{1787D9BF-9815-4E1D-BDEB-9994859FE91E}.Release|iPhone.ActiveCfg = Release|Any CPU
|
||||
{1787D9BF-9815-4E1D-BDEB-9994859FE91E}.Release|iPhone.Build.0 = Release|Any CPU
|
||||
{1787D9BF-9815-4E1D-BDEB-9994859FE91E}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
|
||||
{1787D9BF-9815-4E1D-BDEB-9994859FE91E}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
|
||||
{1787D9BF-9815-4E1D-BDEB-9994859FE91E}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{1787D9BF-9815-4E1D-BDEB-9994859FE91E}.Release|x64.Build.0 = Release|Any CPU
|
||||
{1787D9BF-9815-4E1D-BDEB-9994859FE91E}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{1787D9BF-9815-4E1D-BDEB-9994859FE91E}.Release|x86.Build.0 = Release|Any CPU
|
||||
{409AF271-D8B7-4F79-B293-02F562A51955}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{409AF271-D8B7-4F79-B293-02F562A51955}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{409AF271-D8B7-4F79-B293-02F562A51955}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
|
|
|
@ -2,11 +2,20 @@
|
|||
using System.IO;
|
||||
using System.Linq;
|
||||
using Xamarin.Essentials;
|
||||
#if __WASM__
|
||||
using System.Runtime.InteropServices;
|
||||
using Windows.ApplicationModel;
|
||||
using Windows.Storage;
|
||||
using Windows.System;
|
||||
using Uno.Foundation;
|
||||
#endif
|
||||
#if WINDOWS_UWP
|
||||
using Windows.ApplicationModel;
|
||||
using Windows.Storage;
|
||||
using Windows.System;
|
||||
#if !__WASM__
|
||||
using Launcher = Xamarin.Essentials.Launcher;
|
||||
#endif
|
||||
#elif __MACOS__
|
||||
using AppKit;
|
||||
using Foundation;
|
||||
|
@ -55,6 +64,20 @@ namespace SkiaSharpSample
|
|||
var path = Path.Combine(root, "Media", fontName);
|
||||
#elif __TIZEN__
|
||||
var path = ResourcePath.GetPath(fontName);
|
||||
#elif __WASM__
|
||||
// WASM does not have an app package, so just use the embedded font
|
||||
string path;
|
||||
using (var stream = SampleMedia.Fonts.EmbeddedFont)
|
||||
{
|
||||
var appData = ApplicationData.Current.LocalFolder.Path;
|
||||
var temp = Path.Combine(appData, "SkiaSharpSample", "Assets", "Media");
|
||||
if (!Directory.Exists(temp))
|
||||
Directory.CreateDirectory(temp);
|
||||
|
||||
path = Path.Combine(temp, fontName);
|
||||
using (var writer = File.OpenWrite(path))
|
||||
stream.CopyTo(writer);
|
||||
}
|
||||
#endif
|
||||
|
||||
#if WINDOWS_UWP || __IOS__ || __TVOS__ || __ANDROID__ || __TIZEN__
|
||||
|
@ -63,6 +86,8 @@ namespace SkiaSharpSample
|
|||
var localStorage = System.Environment.GetFolderPath(System.Environment.SpecialFolder.MyDocuments);
|
||||
#elif __DESKTOP__
|
||||
var localStorage = System.Windows.Forms.Application.LocalUserAppDataPath;
|
||||
#elif __WASM__
|
||||
var localStorage = ApplicationData.Current.LocalFolder.Path;
|
||||
#endif
|
||||
|
||||
SamplesManager.ContentFontPath = path;
|
||||
|
@ -90,6 +115,18 @@ namespace SkiaSharpSample
|
|||
}
|
||||
#elif __DESKTOP__
|
||||
Process.Start(path);
|
||||
#elif __WASM__
|
||||
var data = File.ReadAllBytes(path);
|
||||
var gch = GCHandle.Alloc(data, GCHandleType.Pinned);
|
||||
var pinnedData = gch.AddrOfPinnedObject();
|
||||
try
|
||||
{
|
||||
WebAssemblyRuntime.InvokeJS($"fileSaveAs('{Path.GetFileName(path)}', {pinnedData}, {data.Length})");
|
||||
}
|
||||
finally
|
||||
{
|
||||
gch.Free();
|
||||
}
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
|
|
@ -2,7 +2,6 @@
|
|||
using System.Threading.Tasks;
|
||||
using SkiaSharp;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
|
||||
namespace SkiaSharpSample.Samples
|
||||
{
|
||||
|
@ -25,10 +24,17 @@ namespace SkiaSharpSample.Samples
|
|||
|
||||
protected override Task OnInit()
|
||||
{
|
||||
methods = Enum.GetValues(typeof(SKBitmapResizeMethod)).Cast<SKBitmapResizeMethod>().ToList();
|
||||
methods = new List<SKBitmapResizeMethod>
|
||||
{
|
||||
SKBitmapResizeMethod.Box,
|
||||
SKBitmapResizeMethod.Triangle,
|
||||
SKBitmapResizeMethod.Lanczos3,
|
||||
SKBitmapResizeMethod.Hamming,
|
||||
SKBitmapResizeMethod.Mitchell,
|
||||
};
|
||||
method = methods[0];
|
||||
|
||||
using (var stream = new SKManagedStream(SampleMedia.Images.AdobeDng))
|
||||
using (var stream = new SKManagedStream(SampleMedia.Images.Baboon))
|
||||
{
|
||||
bitmap = SKBitmap.Decode(stream);
|
||||
}
|
||||
|
|
|
@ -5,17 +5,30 @@ VisualStudioVersion = 16.0.30229.9
|
|||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "SkiaSharpSample.Shared", "SkiaSharpSample.Shared\SkiaSharpSample.Shared.shproj", "{6279C845-92F8-4333-AB99-3D213163593C}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SkiaSharpSample.Wasm", "SkiaSharpSample.Wasm\SkiaSharpSample.Wasm.csproj", "{9726301D-8A93-4A06-88DF-92BA01CF80AD}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SkiaSharp.Views.Uno.Wasm", "..\..\..\source\SkiaSharp.Views.Uno\SkiaSharp.Views.Uno.Wasm\SkiaSharp.Views.Uno.Wasm.csproj", "{1787D9BF-9815-4E1D-BDEB-9994859FE91E}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SkiaSharp", "..\..\..\binding\SkiaSharp\SkiaSharp.csproj", "{409AF271-D8B7-4F79-B293-02F562A51955}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SharedMSBuildProjectFiles) = preSolution
|
||||
SkiaSharpSample.Shared\SkiaSharpSample.Shared.projitems*{6279c845-92f8-4333-ab99-3d213163593c}*SharedItemsImports = 13
|
||||
SkiaSharpSample.Shared\SkiaSharpSample.Shared.projitems*{9726301d-8a93-4a06-88df-92ba01cf80ad}*SharedItemsImports = 5
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
Release|Any CPU = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{9726301D-8A93-4A06-88DF-92BA01CF80AD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{9726301D-8A93-4A06-88DF-92BA01CF80AD}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{9726301D-8A93-4A06-88DF-92BA01CF80AD}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{9726301D-8A93-4A06-88DF-92BA01CF80AD}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{1787D9BF-9815-4E1D-BDEB-9994859FE91E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{1787D9BF-9815-4E1D-BDEB-9994859FE91E}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{1787D9BF-9815-4E1D-BDEB-9994859FE91E}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{1787D9BF-9815-4E1D-BDEB-9994859FE91E}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{409AF271-D8B7-4F79-B293-02F562A51955}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{409AF271-D8B7-4F79-B293-02F562A51955}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{409AF271-D8B7-4F79-B293-02F562A51955}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
|
|
|
@ -146,6 +146,10 @@
|
|||
</AppxManifest>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Content Include="..\..\Shared\Media\content-font.ttf">
|
||||
<Link>Assets\Media\content-font.ttf</Link>
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="Assets\*.png" />
|
||||
<Content Include="Properties\Default.rd.xml" />
|
||||
</ItemGroup>
|
||||
|
|
Двоичный файл не отображается.
После Ширина: | Высота: | Размер: 31 KiB |
|
@ -0,0 +1,10 @@
|
|||
<linker>
|
||||
<assembly fullname="SkiaSharp" />
|
||||
<assembly fullname="SkiaSharp.Views.UWP" />
|
||||
<assembly fullname="SkiaSharpSample.Wasm" />
|
||||
<assembly fullname="Uno.Foundation" />
|
||||
<assembly fullname="System.Core">
|
||||
<!-- This is required by Json.NET and any expression.Compile caller -->
|
||||
<type fullname="System.Linq.Expressions*" />
|
||||
</assembly>
|
||||
</linker>
|
|
@ -0,0 +1,78 @@
|
|||
using Microsoft.Extensions.Logging;
|
||||
using Uno.Extensions;
|
||||
using Uno.UI;
|
||||
using Windows.UI.Xaml;
|
||||
|
||||
namespace SkiaSharpSample
|
||||
{
|
||||
public class Program
|
||||
{
|
||||
private static App _app;
|
||||
|
||||
static int Main(string[] args)
|
||||
{
|
||||
FeatureConfiguration.UIElement.AssignDOMXamlName = true;
|
||||
|
||||
ConfigureFilters(LogExtensionPoint.AmbientLoggerFactory);
|
||||
|
||||
Application.Start(_ => _app = new App());
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void ConfigureFilters(ILoggerFactory factory)
|
||||
{
|
||||
factory
|
||||
.WithFilter(new FilterLoggerSettings
|
||||
{
|
||||
{ "Uno", LogLevel.Warning },
|
||||
{ "Windows", LogLevel.Warning },
|
||||
{ "nVentive.Umbrella", LogLevel.Warning },
|
||||
{ "SkiaSharp", LogLevel.Warning },
|
||||
|
||||
// View Navigation related messages
|
||||
// { "nVentive.Umbrella.Views.Navigation", LogLevel.Debug },
|
||||
// { "nVentive.Umbrella.Presentation.Light.ViewModelRegistry", LogLevel.Debug },
|
||||
|
||||
// All presentation related messages
|
||||
// { "nVentive.Umbrella.Presentation.Light", LogLevel.Debug },
|
||||
|
||||
// ViewModel related messages
|
||||
// { "nVentive.Umbrella.Presentation.Light.ViewModelBase", LogLevel.Debug },
|
||||
|
||||
// Dynamic properties related messages
|
||||
// { "nVentive.Umbrella.Presentation.Light.DynamicProperties", LogLevel.Debug },
|
||||
|
||||
// AVVM/AVP Related messages
|
||||
// { "nVentive.Umbrella.Presentation.Light.Extensions.AsyncValueViewModel", LogLevel.Debug },
|
||||
// { "nVentive.Umbrella.Views.Controls.AsyncValuePresenter", LogLevel.Debug },
|
||||
// { "nVentive.Umbrella.Views.Controls.IfDataContext", LogLevel.Debug },
|
||||
|
||||
// Layouter specific messages
|
||||
// { "Windows.UI.Xaml.Controls", LogLevel.Debug },
|
||||
// { "Windows.UI.Xaml.Controls.Layouter", LogLevel.Debug },
|
||||
// { "Windows.UI.Xaml.Controls.Panel", LogLevel.Debug },
|
||||
|
||||
// Binding related messages
|
||||
// { "Windows.UI.Xaml.Data", LogLevel.Debug },
|
||||
// { "Windows.UI.Xaml.Data", LogLevel.Debug },
|
||||
|
||||
// Binder memory references tracking
|
||||
// { "ReferenceHolder", LogLevel.Debug },
|
||||
|
||||
// Web Queries related messages
|
||||
// gManager.SetLoggerLevel("nVentive.Umbrella.Web", LogLevel.Debug },
|
||||
|
||||
// Location service messages
|
||||
// { "nVentive.Umbrella.Services.Location", LogLevel.Debug },
|
||||
|
||||
// Map Component messages
|
||||
// { "nVentive.Umbrella.Components.Maps", LogLevel.Debug },
|
||||
|
||||
// ApplicationViewState
|
||||
// { "nVentive.Umbrella.Views.Services.ApplicationViewState.ApplicationViewStateService", LogLevel.Debug },
|
||||
})
|
||||
.AddConsole(LogLevel.Debug);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,27 @@
|
|||
{
|
||||
"iisSettings": {
|
||||
"windowsAuthentication": false,
|
||||
"anonymousAuthentication": true,
|
||||
"iisExpress": {
|
||||
"applicationUrl": "http://localhost:63559/",
|
||||
"sslPort": 0
|
||||
}
|
||||
},
|
||||
"profiles": {
|
||||
"IIS Express": {
|
||||
"commandName": "IISExpress",
|
||||
"launchBrowser": true,
|
||||
"environmentVariables": {
|
||||
"ASPNETCORE_ENVIRONMENT": "Development"
|
||||
}
|
||||
},
|
||||
"SkiaSharpSample.Wasm": {
|
||||
"commandName": "Project",
|
||||
"launchBrowser": true,
|
||||
"environmentVariables": {
|
||||
"ASPNETCORE_ENVIRONMENT": "Development"
|
||||
},
|
||||
"applicationUrl": "http://localhost:5000"
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,44 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project Sdk="Microsoft.NET.Sdk.Web">
|
||||
<Import Project="..\SkiaSharpSample.Shared\SkiaSharpSample.Shared.projitems" Label="Shared" />
|
||||
<Import Project="..\..\..\..\output\SkiaSharp\nuget\build\wasm\SkiaSharp.props" Condition="Exists('..\..\..\..\output\SkiaSharp\nuget\build\wasm\SkiaSharp.props')" />
|
||||
<PropertyGroup>
|
||||
<OutputType>Exe</OutputType>
|
||||
<TargetFramework>netstandard2.0</TargetFramework>
|
||||
<WasmHead>true</WasmHead>
|
||||
<DefineConstants>$(DefineConstants);__WASM__</DefineConstants>
|
||||
<LangVersion>8.0</LangVersion>
|
||||
<WasmShellILLinkerEnabled>true</WasmShellILLinkerEnabled>
|
||||
<WasmShellForceDisableWSL Condition="'$(OS)' != 'Unix' and ('$(CI)' == 'true' or '$(BUILD_BUILDID)' != '')">true</WasmShellForceDisableWSL>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)'=='Debug'">
|
||||
<MonoRuntimeDebuggerEnabled>true</MonoRuntimeDebuggerEnabled>
|
||||
<DebugType>portable</DebugType>
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<WasmShellMonoRuntimeExecutionMode>Interpreter</WasmShellMonoRuntimeExecutionMode>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)'=='Release'">
|
||||
<WasmShellMonoRuntimeExecutionMode>FullAOT</WasmShellMonoRuntimeExecutionMode>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Microsoft.Extensions.Logging.Console" Version="1.1.1" />
|
||||
<PackageReference Include="Microsoft.Extensions.Logging.Filter" Version="1.1.1" />
|
||||
<PackageReference Include="Uno.UI" Version="2.4.4" />
|
||||
</ItemGroup>
|
||||
<!-- workaround for https://github.com/unoplatform/Uno.Wasm.Bootstrap/issues/253 -->
|
||||
<ItemGroup Condition=" '$(WasmShellForceDisableWSL)' != 'true' ">
|
||||
<PackageReference Include="Uno.Wasm.Bootstrap" Version="1.4.0-dev.9" />
|
||||
<PackageReference Include="Uno.Wasm.Bootstrap.DevServer" Version="1.4.0-dev.9" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\..\..\binding\SkiaSharp\SkiaSharp.csproj" />
|
||||
<ProjectReference Include="..\..\..\..\source\SkiaSharp.Views.Uno\SkiaSharp.Views.Uno.Wasm\SkiaSharp.Views.Uno.Wasm.csproj" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Content Include="Assets\**\*" />
|
||||
<EmbeddedResource Include="WasmCSS\*.css" />
|
||||
<EmbeddedResource Include="WasmScripts\*.js" />
|
||||
<LinkerDescriptor Include="LinkerConfig.xml" />
|
||||
</ItemGroup>
|
||||
<Import Project="..\..\..\..\output\SkiaSharp.Views.Uno\nuget\build\netstandard2.0\SkiaSharp.Views.Uno.targets" Condition="Exists('..\..\..\..\output\SkiaSharp.Views.Uno\nuget\build\netstandard2.0\SkiaSharp.Views.Uno.targets')" />
|
||||
</Project>
|
Различия файлов скрыты, потому что одна или несколько строк слишком длинны
|
@ -0,0 +1,5 @@
|
|||
var UnoAppManifest = {
|
||||
splashScreenImage: "Assets/SplashScreen.png",
|
||||
splashScreenColor: "#F8F8F8",
|
||||
displayName: "SkiaSharp for WebAssembly"
|
||||
}
|
|
@ -0,0 +1,23 @@
|
|||
|
||||
function fileSaveAs(fileName, dataPtr, size) {
|
||||
// copy data into buffer
|
||||
var buffer = new Uint8Array(size);
|
||||
for (var i = 0; i < size; i++) {
|
||||
buffer[i] = Module.getValue(dataPtr + i, "i8");
|
||||
}
|
||||
|
||||
// create the download anchor
|
||||
var a = window.document.createElement('a');
|
||||
var blob = new Blob([buffer]);
|
||||
a.href = window.URL.createObjectURL(blob);
|
||||
a.download = fileName;
|
||||
|
||||
// append anchor to body
|
||||
document.body.appendChild(a);
|
||||
|
||||
// "click" download
|
||||
a.click();
|
||||
|
||||
// remove anchor from body
|
||||
document.body.removeChild(a);
|
||||
}
|
|
@ -0,0 +1,78 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<configuration>
|
||||
<system.web>
|
||||
<customErrors mode="Off"/>
|
||||
</system.web>
|
||||
|
||||
<system.webServer>
|
||||
|
||||
<!-- Disable compression as we're doing it throuh pre-compressed files -->
|
||||
<urlCompression doStaticCompression="false" doDynamicCompression="false" dynamicCompressionBeforeCache="false" />
|
||||
|
||||
<staticContent>
|
||||
<remove fileExtension=".dll" />
|
||||
<remove fileExtension=".wasm" />
|
||||
<remove fileExtension=".woff" />
|
||||
<remove fileExtension=".woff2" />
|
||||
<mimeMap fileExtension=".wasm" mimeType="application/wasm" />
|
||||
<mimeMap fileExtension=".clr" mimeType="application/octet-stream" />
|
||||
<mimeMap fileExtension=".pdb" mimeType="application/octet-stream" />
|
||||
<mimeMap fileExtension=".woff" mimeType="application/font-woff" />
|
||||
<mimeMap fileExtension=".woff2" mimeType="application/font-woff" />
|
||||
|
||||
<!-- Required for PWAs -->
|
||||
<mimeMap fileExtension=".json" mimeType="application/octet-stream" />
|
||||
</staticContent>
|
||||
|
||||
<rewrite>
|
||||
<rules>
|
||||
<rule name="Lookup for pre-compressed brotli file" stopProcessing="true">
|
||||
<match url="(.*)$"/>
|
||||
<conditions>
|
||||
<!-- Match brotli requests -->
|
||||
<add input="{HTTP_ACCEPT_ENCODING}" pattern="br" />
|
||||
|
||||
<!-- Match all but pre-compressed files -->
|
||||
<add input="{REQUEST_URI}" pattern="^(?!/_compressed_br/)(.*)$" />
|
||||
|
||||
<!-- Check if the pre-compressed file exists on the disk -->
|
||||
<add input="{DOCUMENT_ROOT}/_compressed_br/{C:0}" matchType="IsFile" negate="false" />
|
||||
</conditions>
|
||||
<action type="Rewrite" url="/_compressed_br{C:0}" />
|
||||
</rule>
|
||||
|
||||
<rule name="Lookup for pre-compressed gzip file" stopProcessing="true">
|
||||
<match url="(.*)$"/>
|
||||
<conditions>
|
||||
<!-- Match gzip requests -->
|
||||
<add input="{HTTP_ACCEPT_ENCODING}" pattern="gzip" />
|
||||
|
||||
<!-- Match all but pre-compressed files -->
|
||||
<add input="{REQUEST_URI}" pattern="^(?!/_compressed_gz/)(.*)$" />
|
||||
|
||||
<!-- Check if the pre-compressed file exists on the disk -->
|
||||
<add input="{DOCUMENT_ROOT}/_compressed_gz/{C:0}" matchType="IsFile" negate="false" />
|
||||
</conditions>
|
||||
<action type="Rewrite" url="/_compressed_gz{C:0}" />
|
||||
</rule>
|
||||
</rules>
|
||||
|
||||
<outboundRules>
|
||||
<rule name="Adjust content encoding for gzip pre-compressed files" enabled="true" stopProcessing="true">
|
||||
<match serverVariable="RESPONSE_CONTENT_ENCODING" pattern="" />
|
||||
<conditions>
|
||||
<add input="{REQUEST_URI}" pattern="/_compressed_gz/.*$" />
|
||||
</conditions>
|
||||
<action type="Rewrite" value="gzip"/>
|
||||
</rule>
|
||||
<rule name="Adjust content encoding for brotli pre-compressed files" enabled="true" stopProcessing="true">
|
||||
<match serverVariable="RESPONSE_CONTENT_ENCODING" pattern="" />
|
||||
<conditions>
|
||||
<add input="{REQUEST_URI}" pattern="/_compressed_br/.*$" />
|
||||
</conditions>
|
||||
<action type="Rewrite" value="br"/>
|
||||
</rule>
|
||||
</outboundRules>
|
||||
</rewrite>
|
||||
</system.webServer>
|
||||
</configuration>
|
|
@ -17,12 +17,17 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SkiaSharp.Views.UWP", "..\.
|
|||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SkiaSharp.UWP", "..\..\..\binding\SkiaSharp.UWP\SkiaSharp.UWP.csproj", "{6FF6B08F-0A69-41A4-8F53-8FE9B7FB4A67}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SkiaSharpSample.Wasm", "SkiaSharpSample.Wasm\SkiaSharpSample.Wasm.csproj", "{9726301D-8A93-4A06-88DF-92BA01CF80AD}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SkiaSharp.Views.Uno.Wasm", "..\..\..\source\SkiaSharp.Views.Uno\SkiaSharp.Views.Uno.Wasm\SkiaSharp.Views.Uno.Wasm.csproj", "{1787D9BF-9815-4E1D-BDEB-9994859FE91E}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SkiaSharp", "..\..\..\binding\SkiaSharp\SkiaSharp.csproj", "{409AF271-D8B7-4F79-B293-02F562A51955}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SharedMSBuildProjectFiles) = preSolution
|
||||
SkiaSharpSample.Shared\SkiaSharpSample.Shared.projitems*{6279c845-92f8-4333-ab99-3d213163593c}*SharedItemsImports = 13
|
||||
SkiaSharpSample.Shared\SkiaSharpSample.Shared.projitems*{8b8db39e-c0ff-4edc-83a6-0b6a4ab763ee}*SharedItemsImports = 4
|
||||
SkiaSharpSample.Shared\SkiaSharpSample.Shared.projitems*{9726301d-8a93-4a06-88df-92ba01cf80ad}*SharedItemsImports = 5
|
||||
SkiaSharpSample.Shared\SkiaSharpSample.Shared.projitems*{ae39aa1d-32c8-482b-9395-ad5493c98f7e}*SharedItemsImports = 4
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
|
@ -178,6 +183,46 @@ Global
|
|||
{6FF6B08F-0A69-41A4-8F53-8FE9B7FB4A67}.Release|x64.Build.0 = Release|Any CPU
|
||||
{6FF6B08F-0A69-41A4-8F53-8FE9B7FB4A67}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{6FF6B08F-0A69-41A4-8F53-8FE9B7FB4A67}.Release|x86.Build.0 = Release|Any CPU
|
||||
{9726301D-8A93-4A06-88DF-92BA01CF80AD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{9726301D-8A93-4A06-88DF-92BA01CF80AD}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{9726301D-8A93-4A06-88DF-92BA01CF80AD}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{9726301D-8A93-4A06-88DF-92BA01CF80AD}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{9726301D-8A93-4A06-88DF-92BA01CF80AD}.Debug|ARM64.ActiveCfg = Debug|Any CPU
|
||||
{9726301D-8A93-4A06-88DF-92BA01CF80AD}.Debug|ARM64.Build.0 = Debug|Any CPU
|
||||
{9726301D-8A93-4A06-88DF-92BA01CF80AD}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{9726301D-8A93-4A06-88DF-92BA01CF80AD}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{9726301D-8A93-4A06-88DF-92BA01CF80AD}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{9726301D-8A93-4A06-88DF-92BA01CF80AD}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{9726301D-8A93-4A06-88DF-92BA01CF80AD}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{9726301D-8A93-4A06-88DF-92BA01CF80AD}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{9726301D-8A93-4A06-88DF-92BA01CF80AD}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{9726301D-8A93-4A06-88DF-92BA01CF80AD}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{9726301D-8A93-4A06-88DF-92BA01CF80AD}.Release|ARM64.ActiveCfg = Release|Any CPU
|
||||
{9726301D-8A93-4A06-88DF-92BA01CF80AD}.Release|ARM64.Build.0 = Release|Any CPU
|
||||
{9726301D-8A93-4A06-88DF-92BA01CF80AD}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{9726301D-8A93-4A06-88DF-92BA01CF80AD}.Release|x64.Build.0 = Release|Any CPU
|
||||
{9726301D-8A93-4A06-88DF-92BA01CF80AD}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{9726301D-8A93-4A06-88DF-92BA01CF80AD}.Release|x86.Build.0 = Release|Any CPU
|
||||
{1787D9BF-9815-4E1D-BDEB-9994859FE91E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{1787D9BF-9815-4E1D-BDEB-9994859FE91E}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{1787D9BF-9815-4E1D-BDEB-9994859FE91E}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{1787D9BF-9815-4E1D-BDEB-9994859FE91E}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{1787D9BF-9815-4E1D-BDEB-9994859FE91E}.Debug|ARM64.ActiveCfg = Debug|Any CPU
|
||||
{1787D9BF-9815-4E1D-BDEB-9994859FE91E}.Debug|ARM64.Build.0 = Debug|Any CPU
|
||||
{1787D9BF-9815-4E1D-BDEB-9994859FE91E}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{1787D9BF-9815-4E1D-BDEB-9994859FE91E}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{1787D9BF-9815-4E1D-BDEB-9994859FE91E}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{1787D9BF-9815-4E1D-BDEB-9994859FE91E}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{1787D9BF-9815-4E1D-BDEB-9994859FE91E}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{1787D9BF-9815-4E1D-BDEB-9994859FE91E}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{1787D9BF-9815-4E1D-BDEB-9994859FE91E}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{1787D9BF-9815-4E1D-BDEB-9994859FE91E}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{1787D9BF-9815-4E1D-BDEB-9994859FE91E}.Release|ARM64.ActiveCfg = Release|Any CPU
|
||||
{1787D9BF-9815-4E1D-BDEB-9994859FE91E}.Release|ARM64.Build.0 = Release|Any CPU
|
||||
{1787D9BF-9815-4E1D-BDEB-9994859FE91E}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{1787D9BF-9815-4E1D-BDEB-9994859FE91E}.Release|x64.Build.0 = Release|Any CPU
|
||||
{1787D9BF-9815-4E1D-BDEB-9994859FE91E}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{1787D9BF-9815-4E1D-BDEB-9994859FE91E}.Release|x86.Build.0 = Release|Any CPU
|
||||
{409AF271-D8B7-4F79-B293-02F562A51955}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{409AF271-D8B7-4F79-B293-02F562A51955}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{409AF271-D8B7-4F79-B293-02F562A51955}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
|
|
|
@ -29,6 +29,10 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SkiaSharp.Views.UWP", "..\.
|
|||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SkiaSharp.UWP", "..\..\..\binding\SkiaSharp.UWP\SkiaSharp.UWP.csproj", "{6FF6B08F-0A69-41A4-8F53-8FE9B7FB4A67}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SkiaSharpSample.Wasm", "SkiaSharpSample.Wasm\SkiaSharpSample.Wasm.csproj", "{9726301D-8A93-4A06-88DF-92BA01CF80AD}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SkiaSharp.Views.Uno.Wasm", "..\..\..\source\SkiaSharp.Views.Uno\SkiaSharp.Views.Uno.Wasm\SkiaSharp.Views.Uno.Wasm.csproj", "{1787D9BF-9815-4E1D-BDEB-9994859FE91E}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SkiaSharp", "..\..\..\binding\SkiaSharp\SkiaSharp.csproj", "{409AF271-D8B7-4F79-B293-02F562A51955}"
|
||||
EndProject
|
||||
Global
|
||||
|
@ -36,6 +40,7 @@ Global
|
|||
SkiaSharpSample.Shared\SkiaSharpSample.Shared.projitems*{2a19c71c-d1ab-4c70-b821-6a7c7c4abe66}*SharedItemsImports = 4
|
||||
SkiaSharpSample.Shared\SkiaSharpSample.Shared.projitems*{6279c845-92f8-4333-ab99-3d213163593c}*SharedItemsImports = 13
|
||||
SkiaSharpSample.Shared\SkiaSharpSample.Shared.projitems*{8b8db39e-c0ff-4edc-83a6-0b6a4ab763ee}*SharedItemsImports = 4
|
||||
SkiaSharpSample.Shared\SkiaSharpSample.Shared.projitems*{9726301d-8a93-4a06-88df-92ba01cf80ad}*SharedItemsImports = 5
|
||||
SkiaSharpSample.Shared\SkiaSharpSample.Shared.projitems*{ae39aa1d-32c8-482b-9395-ad5493c98f7e}*SharedItemsImports = 4
|
||||
SkiaSharpSample.Shared\SkiaSharpSample.Shared.projitems*{b3a30dc3-0e2d-4f46-97c5-fdc6ab8062e6}*SharedItemsImports = 4
|
||||
EndGlobalSection
|
||||
|
@ -429,6 +434,62 @@ Global
|
|||
{6FF6B08F-0A69-41A4-8F53-8FE9B7FB4A67}.Release|x64.Build.0 = Release|Any CPU
|
||||
{6FF6B08F-0A69-41A4-8F53-8FE9B7FB4A67}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{6FF6B08F-0A69-41A4-8F53-8FE9B7FB4A67}.Release|x86.Build.0 = Release|Any CPU
|
||||
{9726301D-8A93-4A06-88DF-92BA01CF80AD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{9726301D-8A93-4A06-88DF-92BA01CF80AD}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{9726301D-8A93-4A06-88DF-92BA01CF80AD}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{9726301D-8A93-4A06-88DF-92BA01CF80AD}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{9726301D-8A93-4A06-88DF-92BA01CF80AD}.Debug|ARM64.ActiveCfg = Debug|Any CPU
|
||||
{9726301D-8A93-4A06-88DF-92BA01CF80AD}.Debug|ARM64.Build.0 = Debug|Any CPU
|
||||
{9726301D-8A93-4A06-88DF-92BA01CF80AD}.Debug|iPhone.ActiveCfg = Debug|Any CPU
|
||||
{9726301D-8A93-4A06-88DF-92BA01CF80AD}.Debug|iPhone.Build.0 = Debug|Any CPU
|
||||
{9726301D-8A93-4A06-88DF-92BA01CF80AD}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
|
||||
{9726301D-8A93-4A06-88DF-92BA01CF80AD}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
|
||||
{9726301D-8A93-4A06-88DF-92BA01CF80AD}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{9726301D-8A93-4A06-88DF-92BA01CF80AD}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{9726301D-8A93-4A06-88DF-92BA01CF80AD}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{9726301D-8A93-4A06-88DF-92BA01CF80AD}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{9726301D-8A93-4A06-88DF-92BA01CF80AD}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{9726301D-8A93-4A06-88DF-92BA01CF80AD}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{9726301D-8A93-4A06-88DF-92BA01CF80AD}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{9726301D-8A93-4A06-88DF-92BA01CF80AD}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{9726301D-8A93-4A06-88DF-92BA01CF80AD}.Release|ARM64.ActiveCfg = Release|Any CPU
|
||||
{9726301D-8A93-4A06-88DF-92BA01CF80AD}.Release|ARM64.Build.0 = Release|Any CPU
|
||||
{9726301D-8A93-4A06-88DF-92BA01CF80AD}.Release|iPhone.ActiveCfg = Release|Any CPU
|
||||
{9726301D-8A93-4A06-88DF-92BA01CF80AD}.Release|iPhone.Build.0 = Release|Any CPU
|
||||
{9726301D-8A93-4A06-88DF-92BA01CF80AD}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
|
||||
{9726301D-8A93-4A06-88DF-92BA01CF80AD}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
|
||||
{9726301D-8A93-4A06-88DF-92BA01CF80AD}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{9726301D-8A93-4A06-88DF-92BA01CF80AD}.Release|x64.Build.0 = Release|Any CPU
|
||||
{9726301D-8A93-4A06-88DF-92BA01CF80AD}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{9726301D-8A93-4A06-88DF-92BA01CF80AD}.Release|x86.Build.0 = Release|Any CPU
|
||||
{1787D9BF-9815-4E1D-BDEB-9994859FE91E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{1787D9BF-9815-4E1D-BDEB-9994859FE91E}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{1787D9BF-9815-4E1D-BDEB-9994859FE91E}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
{1787D9BF-9815-4E1D-BDEB-9994859FE91E}.Debug|ARM.Build.0 = Debug|Any CPU
|
||||
{1787D9BF-9815-4E1D-BDEB-9994859FE91E}.Debug|ARM64.ActiveCfg = Debug|Any CPU
|
||||
{1787D9BF-9815-4E1D-BDEB-9994859FE91E}.Debug|ARM64.Build.0 = Debug|Any CPU
|
||||
{1787D9BF-9815-4E1D-BDEB-9994859FE91E}.Debug|iPhone.ActiveCfg = Debug|Any CPU
|
||||
{1787D9BF-9815-4E1D-BDEB-9994859FE91E}.Debug|iPhone.Build.0 = Debug|Any CPU
|
||||
{1787D9BF-9815-4E1D-BDEB-9994859FE91E}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
|
||||
{1787D9BF-9815-4E1D-BDEB-9994859FE91E}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
|
||||
{1787D9BF-9815-4E1D-BDEB-9994859FE91E}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{1787D9BF-9815-4E1D-BDEB-9994859FE91E}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{1787D9BF-9815-4E1D-BDEB-9994859FE91E}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{1787D9BF-9815-4E1D-BDEB-9994859FE91E}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{1787D9BF-9815-4E1D-BDEB-9994859FE91E}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{1787D9BF-9815-4E1D-BDEB-9994859FE91E}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{1787D9BF-9815-4E1D-BDEB-9994859FE91E}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{1787D9BF-9815-4E1D-BDEB-9994859FE91E}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{1787D9BF-9815-4E1D-BDEB-9994859FE91E}.Release|ARM64.ActiveCfg = Release|Any CPU
|
||||
{1787D9BF-9815-4E1D-BDEB-9994859FE91E}.Release|ARM64.Build.0 = Release|Any CPU
|
||||
{1787D9BF-9815-4E1D-BDEB-9994859FE91E}.Release|iPhone.ActiveCfg = Release|Any CPU
|
||||
{1787D9BF-9815-4E1D-BDEB-9994859FE91E}.Release|iPhone.Build.0 = Release|Any CPU
|
||||
{1787D9BF-9815-4E1D-BDEB-9994859FE91E}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
|
||||
{1787D9BF-9815-4E1D-BDEB-9994859FE91E}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
|
||||
{1787D9BF-9815-4E1D-BDEB-9994859FE91E}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{1787D9BF-9815-4E1D-BDEB-9994859FE91E}.Release|x64.Build.0 = Release|Any CPU
|
||||
{1787D9BF-9815-4E1D-BDEB-9994859FE91E}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{1787D9BF-9815-4E1D-BDEB-9994859FE91E}.Release|x86.Build.0 = Release|Any CPU
|
||||
{409AF271-D8B7-4F79-B293-02F562A51955}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{409AF271-D8B7-4F79-B293-02F562A51955}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{409AF271-D8B7-4F79-B293-02F562A51955}.Debug|ARM.ActiveCfg = Debug|Any CPU
|
||||
|
|
|
@ -174,12 +174,9 @@
|
|||
<ItemGroup>
|
||||
<Content Include="..\..\Shared\Media\content-font.ttf">
|
||||
<Link>Assets\Media\content-font.ttf</Link>
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="Assets\configure.png" />
|
||||
<Content Include="Assets\more.png" />
|
||||
<Content Include="Assets\slideshow.png" />
|
||||
<Content Include="Assets\*" />
|
||||
<Content Include="Assets\*.png" />
|
||||
<Content Include="Package.StoreAssociation.xml" />
|
||||
<Content Include="Properties\Default.rd.xml" />
|
||||
</ItemGroup>
|
||||
|
|
|
@ -0,0 +1,106 @@
|
|||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using Uno.Foundation;
|
||||
using Windows.UI.Xaml;
|
||||
|
||||
namespace SkiaSharp.Views.UWP
|
||||
{
|
||||
public partial class SKXamlCanvas : FrameworkElement
|
||||
{
|
||||
private IntPtr pixels;
|
||||
private int pixelWidth;
|
||||
private int pixelHeight;
|
||||
|
||||
static SKXamlCanvas()
|
||||
{
|
||||
const string js = @"
|
||||
(window || global).SkiaSharp_Views_UWP_SKXamlCanvas = class SKXamlCanvas {
|
||||
static invalidateCanvas(pData, canvasId, width, height) {
|
||||
var htmlCanvas = document.getElementById(canvasId);
|
||||
htmlCanvas.width = width;
|
||||
htmlCanvas.height = height;
|
||||
|
||||
var ctx = htmlCanvas.getContext('2d');
|
||||
if (!ctx)
|
||||
return false;
|
||||
|
||||
var buffer = new Uint8ClampedArray(Module.HEAPU8.buffer, pData, width * height * 4);
|
||||
var imageData = new ImageData(buffer, width, height);
|
||||
ctx.putImageData(imageData, 0, 0);
|
||||
|
||||
return true;
|
||||
}
|
||||
};";
|
||||
WebAssemblyRuntime.InvokeJS(js);
|
||||
}
|
||||
|
||||
public SKXamlCanvas()
|
||||
: base("canvas")
|
||||
{
|
||||
Initialize();
|
||||
}
|
||||
|
||||
partial void DoUnloaded() =>
|
||||
FreeBitmap();
|
||||
|
||||
private SKSize GetCanvasSize() =>
|
||||
new SKSize(pixelWidth, pixelHeight);
|
||||
|
||||
private void DoInvalidate()
|
||||
{
|
||||
if (designMode)
|
||||
return;
|
||||
|
||||
if (!isVisible)
|
||||
return;
|
||||
|
||||
if (ActualWidth <= 0 || ActualHeight <= 0)
|
||||
return;
|
||||
|
||||
int width, height;
|
||||
if (IgnorePixelScaling)
|
||||
{
|
||||
width = (int)ActualWidth;
|
||||
height = (int)ActualHeight;
|
||||
}
|
||||
else
|
||||
{
|
||||
width = (int)(ActualWidth * Dpi);
|
||||
height = (int)(ActualHeight * Dpi);
|
||||
}
|
||||
|
||||
var info = new SKImageInfo(width, height, SKImageInfo.PlatformColorType, SKAlphaType.Opaque);
|
||||
CreateBitmap(info);
|
||||
|
||||
using (var surface = SKSurface.Create(info, pixels, info.RowBytes))
|
||||
{
|
||||
OnPaintSurface(new SKPaintSurfaceEventArgs(surface, info));
|
||||
}
|
||||
|
||||
WebAssemblyRuntime.InvokeJS($"SkiaSharp_Views_UWP_SKXamlCanvas.invalidateCanvas({pixels}, \"{HtmlId}\", {info.Width}, {pixelHeight});");
|
||||
}
|
||||
|
||||
private unsafe void CreateBitmap(SKImageInfo info)
|
||||
{
|
||||
if (pixels == IntPtr.Zero || pixelWidth != info.Width || pixelHeight != info.Height)
|
||||
{
|
||||
FreeBitmap();
|
||||
|
||||
var ptr = Marshal.AllocHGlobal(info.BytesSize);
|
||||
|
||||
pixels = ptr;
|
||||
pixelWidth = info.Width;
|
||||
pixelHeight = info.Height;
|
||||
}
|
||||
}
|
||||
|
||||
private void FreeBitmap()
|
||||
{
|
||||
if (pixels != IntPtr.Zero)
|
||||
{
|
||||
Marshal.FreeHGlobal(pixels);
|
||||
pixels = IntPtr.Zero;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,27 @@
|
|||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
<PropertyGroup>
|
||||
<TargetFramework>netstandard2.0</TargetFramework>
|
||||
<RootNamespace>SkiaSharp.Views.UWP</RootNamespace>
|
||||
<AssemblyName>SkiaSharp.Views.UWP</AssemblyName>
|
||||
<SignAssembly>false</SignAssembly>
|
||||
<PackagingGroup>SkiaSharp.Views.Uno</PackagingGroup>
|
||||
<DefineConstants>$(DefineConstants);__WASM__</DefineConstants>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Uno.UI" Version="2.0.532" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\..\binding\SkiaSharp\SkiaSharp.csproj" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="nuget\build\netstandard2.0\SkiaSharp.Views.Uno.targets" Link="nuget\build\$(PackagingPlatform)\SkiaSharp.Views.Uno.targets" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="..\..\SkiaSharp.Views\SkiaSharp.Views.Shared\**\*.cs" Link="%(RecursiveDir)%(Filename)%(Extension)" />
|
||||
<Compile Include="..\..\SkiaSharp.Views\SkiaSharp.Views.UWP\UWPExtensions.cs" />
|
||||
<Compile Include="..\SkiaSharp.Views.Uno\**\*.cs" Link="%(RecursiveDir)%(Filename)%(Extension)" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<EmbeddedResource Include="WasmScripts\*.js" />
|
||||
</ItemGroup>
|
||||
</Project>
|
|
@ -0,0 +1,8 @@
|
|||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<Project>
|
||||
|
||||
<ItemGroup>
|
||||
<Content Include="$(SkiaSharpStaticLibraryPath)" Visible="false" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
|
@ -47,6 +47,8 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SkiaSharp.Vulkan.SharpVk",
|
|||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "SkiaSharp.Views.Uno", "SkiaSharp.Views.Uno", "{00C9099A-BE4F-40D0-9401-295618368370}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SkiaSharp.Views.Uno.Wasm", "SkiaSharp.Views.Uno\SkiaSharp.Views.Uno.Wasm\SkiaSharp.Views.Uno.Wasm.csproj", "{08599A28-FADE-43B5-95A0-BDCB22B97D3A}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
|
@ -109,6 +111,10 @@ Global
|
|||
{4606F63B-F0B1-418E-8B45-844361E17EB1}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{4606F63B-F0B1-418E-8B45-844361E17EB1}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{4606F63B-F0B1-418E-8B45-844361E17EB1}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{08599A28-FADE-43B5-95A0-BDCB22B97D3A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{08599A28-FADE-43B5-95A0-BDCB22B97D3A}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{08599A28-FADE-43B5-95A0-BDCB22B97D3A}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{08599A28-FADE-43B5-95A0-BDCB22B97D3A}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
|
@ -128,6 +134,7 @@ Global
|
|||
{6FB08346-1A02-4793-B5E1-4F739C6342D5} = {4F5EBFFB-DD81-43B9-8531-156ED3639C91}
|
||||
{857CB6E9-BA27-4E94-A2D7-68BFF1EE193B} = {B3C4E4EC-68C7-4AFB-A6D4-1B2B0EB8C421}
|
||||
{4606F63B-F0B1-418E-8B45-844361E17EB1} = {66A0800A-CA70-4AC2-88B7-8E7C4CA7C914}
|
||||
{08599A28-FADE-43B5-95A0-BDCB22B97D3A} = {00C9099A-BE4F-40D0-9401-295618368370}
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||
SolutionGuid = {B4229170-607D-4886-9990-8FD5D86220B9}
|
||||
|
|
|
@ -85,6 +85,8 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SkiaSharp.Views.Uno.iOS", "
|
|||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SkiaSharp.Views.Uno.Mac", "SkiaSharp.Views.Uno\SkiaSharp.Views.Uno.Mac\SkiaSharp.Views.Uno.Mac.csproj", "{E0FF9BFF-2253-4486-A8E2-94312D09D056}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SkiaSharp.Views.Uno.Wasm", "SkiaSharp.Views.Uno\SkiaSharp.Views.Uno.Wasm\SkiaSharp.Views.Uno.Wasm.csproj", "{242213FA-1F0E-40BB-A9B2-6FEE82B5D216}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
|
@ -223,6 +225,10 @@ Global
|
|||
{E0FF9BFF-2253-4486-A8E2-94312D09D056}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{E0FF9BFF-2253-4486-A8E2-94312D09D056}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{E0FF9BFF-2253-4486-A8E2-94312D09D056}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{242213FA-1F0E-40BB-A9B2-6FEE82B5D216}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{242213FA-1F0E-40BB-A9B2-6FEE82B5D216}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{242213FA-1F0E-40BB-A9B2-6FEE82B5D216}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{242213FA-1F0E-40BB-A9B2-6FEE82B5D216}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
|
@ -261,6 +267,7 @@ Global
|
|||
{D35B20BC-838A-4C1E-B427-4269F6387CAB} = {E53351EA-FE40-47D2-B388-4A75DA6CCD71}
|
||||
{6F92F6C5-6249-4A42-A028-DE1118D3CF78} = {E53351EA-FE40-47D2-B388-4A75DA6CCD71}
|
||||
{E0FF9BFF-2253-4486-A8E2-94312D09D056} = {E53351EA-FE40-47D2-B388-4A75DA6CCD71}
|
||||
{242213FA-1F0E-40BB-A9B2-6FEE82B5D216} = {E53351EA-FE40-47D2-B388-4A75DA6CCD71}
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||
SolutionGuid = {4B8BED07-EA83-4BC1-B3BB-6B8EBC54C25F}
|
||||
|
|
|
@ -69,6 +69,8 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "SkiaSharp.Views.Uno", "Skia
|
|||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SkiaSharp.Views.Uno.Android", "SkiaSharp.Views.Uno\SkiaSharp.Views.Uno.Android\SkiaSharp.Views.Uno.Android.csproj", "{D35B20BC-838A-4C1E-B427-4269F6387CAB}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SkiaSharp.Views.Uno.Wasm", "SkiaSharp.Views.Uno\SkiaSharp.Views.Uno.Wasm\SkiaSharp.Views.Uno.Wasm.csproj", "{F675A841-ECDB-4571-8AA3-7D4642FD57DB}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
|
@ -175,6 +177,10 @@ Global
|
|||
{D35B20BC-838A-4C1E-B427-4269F6387CAB}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{D35B20BC-838A-4C1E-B427-4269F6387CAB}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{D35B20BC-838A-4C1E-B427-4269F6387CAB}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{F675A841-ECDB-4571-8AA3-7D4642FD57DB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{F675A841-ECDB-4571-8AA3-7D4642FD57DB}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{F675A841-ECDB-4571-8AA3-7D4642FD57DB}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{F675A841-ECDB-4571-8AA3-7D4642FD57DB}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
|
@ -205,6 +211,7 @@ Global
|
|||
{F55B16B3-4427-45EA-A93C-E12A7409E37D} = {D40675E1-610D-4BBB-AA2A-BEF020717431}
|
||||
{4606F63B-F0B1-418E-8B45-844361E17EB1} = {66A0800A-CA70-4AC2-88B7-8E7C4CA7C914}
|
||||
{D35B20BC-838A-4C1E-B427-4269F6387CAB} = {E53351EA-FE40-47D2-B388-4A75DA6CCD71}
|
||||
{F675A841-ECDB-4571-8AA3-7D4642FD57DB} = {E53351EA-FE40-47D2-B388-4A75DA6CCD71}
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||
SolutionGuid = {63A8C36E-4917-46DB-9AAD-522B8EC00C23}
|
||||
|
|
|
@ -105,6 +105,8 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SkiaSharp.Views.Uno.iOS", "
|
|||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SkiaSharp.Views.Uno.Mac", "SkiaSharp.Views.Uno\SkiaSharp.Views.Uno.Mac\SkiaSharp.Views.Uno.Mac.csproj", "{E0FF9BFF-2253-4486-A8E2-94312D09D056}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SkiaSharp.Views.Uno.Wasm", "SkiaSharp.Views.Uno\SkiaSharp.Views.Uno.Wasm\SkiaSharp.Views.Uno.Wasm.csproj", "{047C460D-7470-418C-AF2C-30620A1AF61C}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
|
@ -283,6 +285,10 @@ Global
|
|||
{E0FF9BFF-2253-4486-A8E2-94312D09D056}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{E0FF9BFF-2253-4486-A8E2-94312D09D056}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{E0FF9BFF-2253-4486-A8E2-94312D09D056}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{047C460D-7470-418C-AF2C-30620A1AF61C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{047C460D-7470-418C-AF2C-30620A1AF61C}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{047C460D-7470-418C-AF2C-30620A1AF61C}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{047C460D-7470-418C-AF2C-30620A1AF61C}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
|
@ -331,6 +337,7 @@ Global
|
|||
{D35B20BC-838A-4C1E-B427-4269F6387CAB} = {E53351EA-FE40-47D2-B388-4A75DA6CCD71}
|
||||
{6F92F6C5-6249-4A42-A028-DE1118D3CF78} = {E53351EA-FE40-47D2-B388-4A75DA6CCD71}
|
||||
{E0FF9BFF-2253-4486-A8E2-94312D09D056} = {E53351EA-FE40-47D2-B388-4A75DA6CCD71}
|
||||
{047C460D-7470-418C-AF2C-30620A1AF61C} = {E53351EA-FE40-47D2-B388-4A75DA6CCD71}
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||
SolutionGuid = {67EACD19-0CEA-4127-9842-549AA6FB84C9}
|
||||
|
|
|
@ -16,8 +16,8 @@
|
|||
<LinkerDescriptor Include="LinkerConfig.xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Uno.Wasm.Bootstrap" Version="1.4.0-dev.7" />
|
||||
<PackageReference Include="Uno.Wasm.Bootstrap.DevServer" Version="1.4.0-dev.7" />
|
||||
<PackageReference Include="Uno.Wasm.Bootstrap" Version="1.4.0-dev.9" />
|
||||
<PackageReference Include="Uno.Wasm.Bootstrap.DevServer" Version="1.4.0-dev.9" />
|
||||
<PackageReference Include="xunit" Version="2.4.1" />
|
||||
<PackageReference Include="xunit.extensibility.core" Version="2.4.1" />
|
||||
<PackageReference Include="xunit.runner.utility" Version="2.4.1" />
|
||||
|
|
|
@ -10,8 +10,8 @@
|
|||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Uno.Wasm.Bootstrap" Version="1.4.0-dev.7" />
|
||||
<PackageReference Include="Uno.Wasm.Bootstrap.DevServer" Version="1.4.0-dev.7" />
|
||||
<PackageReference Include="Uno.Wasm.Bootstrap" Version="1.4.0-dev.9" />
|
||||
<PackageReference Include="Uno.Wasm.Bootstrap.DevServer" Version="1.4.0-dev.9" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
|
Загрузка…
Ссылка в новой задаче