Merge remote-tracking branch 'origin/main' into develop
|
@ -1,5 +1,5 @@
|
|||
# dependencies
|
||||
mdoc release 5.7.4.10
|
||||
mdoc release 5.8.2
|
||||
harfbuzz release 2.6.1
|
||||
skia release m88
|
||||
xunit release 2.4.1
|
||||
|
@ -19,8 +19,13 @@ GLibSharp release 3.22.24.37
|
|||
AtkSharp release 3.22.24.37
|
||||
System.Memory release 4.5.3
|
||||
System.IO.UnmanagedMemoryStream release 4.3.0
|
||||
System.Drawing.Common release 4.5.1
|
||||
SharpVk release 0.4.2
|
||||
Uno.UI release 2.4.4
|
||||
Microsoft.ProjectReunion release 0.5.0
|
||||
Microsoft.ProjectReunion.Foundation release 0.5.0
|
||||
Microsoft.ProjectReunion.WinUI release 0.5.0
|
||||
Microsoft.Windows.SDK.NET.Ref release 10.0.18362.15
|
||||
|
||||
# additional references used by the tooling
|
||||
OpenTK.GLControl reference 1.1.2349.61993
|
||||
|
@ -61,6 +66,7 @@ SkiaSharp.Views.Forms nuget 2.88.0
|
|||
SkiaSharp.Views.Forms.WPF nuget 2.88.0
|
||||
SkiaSharp.Views.Forms.GTK nuget 2.88.0
|
||||
SkiaSharp.Views.Uno nuget 2.88.0
|
||||
SkiaSharp.Views.WinUI nuget 2.88.0
|
||||
SkiaSharp.HarfBuzz nuget 2.88.0
|
||||
SkiaSharp.Vulkan.SharpVk nuget 2.88.0
|
||||
HarfBuzzSharp nuget 2.6.1.8
|
||||
|
|
|
@ -4,20 +4,8 @@ namespace SkiaSharp
|
|||
{
|
||||
internal partial class SkiaApi
|
||||
{
|
||||
#if __TVOS__ && __UNIFIED__
|
||||
#if __IOS__ || __TVOS__ || __WATCHOS__
|
||||
private const string SKIA = "@rpath/libSkiaSharp.framework/libSkiaSharp";
|
||||
#elif __WATCHOS__ && __UNIFIED__
|
||||
private const string SKIA = "@rpath/libSkiaSharp.framework/libSkiaSharp";
|
||||
#elif __IOS__ && __UNIFIED__
|
||||
private const string SKIA = "@rpath/libSkiaSharp.framework/libSkiaSharp";
|
||||
#elif __ANDROID__
|
||||
private const string SKIA = "libSkiaSharp.so";
|
||||
#elif __MACOS__
|
||||
private const string SKIA = "libSkiaSharp.dylib";
|
||||
#elif WINDOWS_UWP
|
||||
private const string SKIA = "libSkiaSharp.dll";
|
||||
#elif __TIZEN__
|
||||
private const string SKIA = "libSkiaSharp.so";
|
||||
#else
|
||||
private const string SKIA = "libSkiaSharp";
|
||||
#endif
|
||||
|
|
|
@ -4,22 +4,8 @@ namespace HarfBuzzSharp
|
|||
{
|
||||
internal unsafe partial class HarfBuzzApi
|
||||
{
|
||||
#if __TVOS__ && __UNIFIED__
|
||||
#if __IOS__ || __TVOS__ || __WATCHOS__
|
||||
private const string HARFBUZZ = "@rpath/libHarfBuzzSharp.framework/libHarfBuzzSharp";
|
||||
#elif __WATCHOS__ && __UNIFIED__
|
||||
private const string HARFBUZZ = "@rpath/libHarfBuzzSharp.framework/libHarfBuzzSharp";
|
||||
#elif __IOS__ && __UNIFIED__
|
||||
private const string HARFBUZZ = "@rpath/libHarfBuzzSharp.framework/libHarfBuzzSharp";
|
||||
#elif __ANDROID__
|
||||
private const string HARFBUZZ = "libHarfBuzzSharp.so";
|
||||
#elif __MACOS__
|
||||
private const string HARFBUZZ = "libHarfBuzzSharp.dylib";
|
||||
#elif __DESKTOP__
|
||||
private const string HARFBUZZ = "libHarfBuzzSharp";
|
||||
#elif WINDOWS_UWP
|
||||
private const string HARFBUZZ = "libHarfBuzzSharp.dll";
|
||||
#elif NET_STANDARD
|
||||
private const string HARFBUZZ = "libHarfBuzzSharp";
|
||||
#else
|
||||
private const string HARFBUZZ = "libHarfBuzzSharp";
|
||||
#endif
|
||||
|
|
|
@ -5494,8 +5494,6 @@ namespace HarfBuzzSharp
|
|||
IdeoEmboxTopOrRight = 1768191088,
|
||||
// HB_OT_LAYOUT_BASELINE_TAG_MATH = 1835103336
|
||||
Math = 1835103336,
|
||||
// _HB_OT_LAYOUT_BASELINE_TAG_MAX_VALUE = 2147483647
|
||||
HbOtLayoutBaselineTagMaxValue = 2147483647,
|
||||
}
|
||||
|
||||
// hb_ot_layout_glyph_class_t
|
||||
|
|
|
@ -62,7 +62,7 @@ namespace HarfBuzzSharp
|
|||
|
||||
internal static int SizeOf<T> ()
|
||||
{
|
||||
#if WINDOWS_UWP || NET_STANDARD
|
||||
#if WINDOWS_UWP || NETSTANDARD || NET5_0_OR_GREATER
|
||||
return Marshal.SizeOf<T> ();
|
||||
#else
|
||||
return Marshal.SizeOf (typeof (T));
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
<RootNamespace>HarfBuzzSharp</RootNamespace>
|
||||
<AssemblyName>HarfBuzzSharp</AssemblyName>
|
||||
<PackagingGroup>HarfBuzzSharp</PackagingGroup>
|
||||
<DefineConstants>$(DefineConstants);NET_STANDARD;HARFBUZZ</DefineConstants>
|
||||
<DefineConstants>$(DefineConstants);HARFBUZZ</DefineConstants>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<PackageReference Include="System.Memory" Version="4.5.3" />
|
||||
|
|
|
@ -6,11 +6,8 @@
|
|||
<PackagingGroup>HarfBuzzSharp</PackagingGroup>
|
||||
<DefineConstants>$(DefineConstants);HARFBUZZ</DefineConstants>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="$(TargetFramework.StartsWith('netstandard'))">
|
||||
<DefineConstants>$(DefineConstants);NET_STANDARD</DefineConstants>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="$(TargetFramework.StartsWith('net4'))">
|
||||
<DefineConstants>$(DefineConstants);USE_DELEGATES;__DESKTOP__</DefineConstants>
|
||||
<DefineConstants>$(DefineConstants);USE_DELEGATES</DefineConstants>
|
||||
</PropertyGroup>
|
||||
<ItemGroup Condition="'$(TargetFramework)' == 'netstandard1.3'">
|
||||
<PackageReference Include="System.IO.UnmanagedMemoryStream" Version="4.3.0" />
|
||||
|
|
|
@ -4,7 +4,6 @@
|
|||
<RootNamespace>SkiaSharp</RootNamespace>
|
||||
<AssemblyName>SkiaSharp</AssemblyName>
|
||||
<PackagingGroup>SkiaSharp</PackagingGroup>
|
||||
<DefineConstants>$(DefineConstants);NET_STANDARD</DefineConstants>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<PackageReference Include="System.Memory" Version="4.5.3" />
|
||||
|
|
|
@ -5,11 +5,8 @@
|
|||
<AssemblyName>SkiaSharp</AssemblyName>
|
||||
<PackagingGroup>SkiaSharp</PackagingGroup>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="$(TargetFramework.StartsWith('netstandard'))">
|
||||
<DefineConstants>$(DefineConstants);NET_STANDARD</DefineConstants>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="$(TargetFramework.StartsWith('net4'))">
|
||||
<DefineConstants>$(DefineConstants);USE_DELEGATES;__DESKTOP__</DefineConstants>
|
||||
<DefineConstants>$(DefineConstants);USE_DELEGATES</DefineConstants>
|
||||
</PropertyGroup>
|
||||
<ItemGroup Condition="'$(TargetFramework)' == 'netstandard1.3'">
|
||||
<PackageReference Include="System.IO.UnmanagedMemoryStream" Version="4.3.0" />
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
#addin nuget:?package=Mono.ApiTools.NuGetDiff&version=1.3.2&loaddependencies=true
|
||||
#addin nuget:?package=Xamarin.Nuget.Validator&version=1.1.1
|
||||
|
||||
#tool nuget:?package=mdoc&version=5.7.4.10
|
||||
#tool nuget:?package=mdoc&version=5.8.2
|
||||
#tool nuget:?package=xunit.runner.console&version=2.4.1
|
||||
#tool nuget:?package=vswhere&version=2.7.1
|
||||
|
||||
|
@ -72,6 +72,7 @@ var TRACKED_NUGETS = new Dictionary<string, Version> {
|
|||
{ "SkiaSharp.Views.Forms.WPF", new Version (1, 57, 0) },
|
||||
{ "SkiaSharp.Views.Forms.GTK", new Version (1, 57, 0) },
|
||||
{ "SkiaSharp.Views.Uno", new Version (1, 57, 0) },
|
||||
{ "SkiaSharp.Views.WinUI", new Version (1, 57, 0) },
|
||||
{ "HarfBuzzSharp", new Version (1, 0, 0) },
|
||||
{ "HarfBuzzSharp.NativeAssets.Linux", new Version (1, 0, 0) },
|
||||
{ "HarfBuzzSharp.NativeAssets.WebAssembly", new Version (1, 0, 0) },
|
||||
|
@ -203,7 +204,6 @@ Task ("tests-netcore")
|
|||
CleanDirectories ($"{PACKAGE_CACHE_PATH}/harfbuzzsharp*");
|
||||
|
||||
// SkiaSharp.NetCore.Tests.csproj
|
||||
RunMSBuild ("./tests/SkiaSharp.NetCore.Tests.sln");
|
||||
try {
|
||||
RunNetCoreTests ("./tests/SkiaSharp.NetCore.Tests/SkiaSharp.NetCore.Tests.csproj");
|
||||
} catch {
|
||||
|
@ -386,6 +386,7 @@ Task ("samples")
|
|||
{ "macos", isMac },
|
||||
{ "tvos", isMac },
|
||||
{ "uwp", isWin },
|
||||
{ "winui", isWin },
|
||||
{ "watchos", isMac },
|
||||
{ "wpf", isWin },
|
||||
};
|
||||
|
@ -394,6 +395,7 @@ Task ("samples")
|
|||
{ "ios", "iPhone" },
|
||||
{ "tvos", "iPhoneSimulator" },
|
||||
{ "uwp", "x86" },
|
||||
{ "winui", "x64" },
|
||||
{ "watchos", "iPhoneSimulator" },
|
||||
{ "xamarin.forms.mac", "iPhone" },
|
||||
{ "xamarin.forms.windows", "x86" },
|
||||
|
|
|
@ -147,22 +147,26 @@ IEnumerable<(DirectoryPath path, string platform)> GetPlatformDirectories(Direct
|
|||
// there were no cross-platform libraries, so process each platform
|
||||
foreach (var dir in platformDirs) {
|
||||
var d = dir.GetDirectoryName().ToLower();
|
||||
if (d.StartsWith("monoandroid"))
|
||||
if (d.StartsWith("monoandroid") || (d.StartsWith("net") && d.Contains("-android")))
|
||||
yield return (dir, "android");
|
||||
else if (d.StartsWith("net4"))
|
||||
yield return (dir, "net");
|
||||
else if (d.StartsWith("uap"))
|
||||
yield return (dir, "uwp");
|
||||
else if (d.StartsWith("xamarinios") || d.StartsWith("xamarin.ios"))
|
||||
else if (d.StartsWith("xamarinios") || d.StartsWith("xamarin.ios") || (d.StartsWith("net") && d.Contains("-ios")))
|
||||
yield return (dir, "ios");
|
||||
else if (d.StartsWith("xamarinmac") || d.StartsWith("xamarin.mac"))
|
||||
else if (d.StartsWith("xamarinmac") || d.StartsWith("xamarin.mac") || (d.StartsWith("net") && d.Contains("-macos")))
|
||||
yield return (dir, "macos");
|
||||
else if (d.StartsWith("xamarintvos") || d.StartsWith("xamarin.tvos"))
|
||||
else if (d.StartsWith("xamarintvos") || d.StartsWith("xamarin.tvos") || (d.StartsWith("net") && d.Contains("-tvos")))
|
||||
yield return (dir, "tvos");
|
||||
else if (d.StartsWith("xamarinwatchos") || d.StartsWith("xamarin.watchos"))
|
||||
else if (d.StartsWith("xamarinwatchos") || d.StartsWith("xamarin.watchos") || (d.StartsWith("net") && d.Contains("-watchos")))
|
||||
yield return (dir, "watchos");
|
||||
else if (d.StartsWith("tizen"))
|
||||
else if (d.StartsWith("tizen") || (d.StartsWith("net") && d.Contains("-tizen")))
|
||||
yield return (dir, "tizen");
|
||||
else if (d.StartsWith("net") && d.Contains("-windows"))
|
||||
yield return (dir, "windows");
|
||||
else if (d.StartsWith("net") && d.Contains("-maccatalyst"))
|
||||
yield return (dir, "maccatalyst");
|
||||
else if (d.StartsWith("netcoreapp"))
|
||||
; // skip this one for now
|
||||
else
|
||||
|
@ -225,6 +229,9 @@ async Task<NuGetDiff> CreateNuGetDiffAsync()
|
|||
await AddDep("Uno.UI", "xamarinios10");
|
||||
await AddDep("Uno.UI", "xamarinmac20");
|
||||
await AddDep("Uno.UI", "UAP");
|
||||
await AddDep("Microsoft.ProjectReunion.Foundation", "net5.0-windows");
|
||||
await AddDep("Microsoft.ProjectReunion.WinUI", "net5.0-windows10.0.18362.0");
|
||||
await AddDep("Microsoft.Windows.SDK.NET.Ref", "");
|
||||
|
||||
await AddDep("OpenTK.GLControl", "NET40", "reference");
|
||||
await AddDep("Xamarin.Forms", "Xamarin.iOS10", "reference");
|
||||
|
@ -271,7 +278,7 @@ async Task DownloadPackageAsync(string id, DirectoryPath outputDirectory)
|
|||
{
|
||||
currentId = currentId.ToLower();
|
||||
|
||||
Information($"Downloading: {currentId}...");
|
||||
Information($"Downloading '{currentId}' version '{currentVersion}'...");
|
||||
|
||||
var root = await comparer.ExtractCachedPackageAsync(currentId, currentVersion);
|
||||
var toolsDir = $"{root}/tools/";
|
||||
|
|
|
@ -0,0 +1,23 @@
|
|||
# API diff: HarfBuzzSharp.dll
|
||||
|
||||
## HarfBuzzSharp.dll
|
||||
|
||||
### Namespace HarfBuzzSharp
|
||||
|
||||
#### Type Changed: HarfBuzzSharp.OpenTypeMetrics
|
||||
|
||||
Modified base type:
|
||||
|
||||
```diff
|
||||
-System.ValueType
|
||||
+System.Object
|
||||
```
|
||||
|
||||
Removed constructor:
|
||||
|
||||
```csharp
|
||||
public OpenTypeMetrics (IntPtr font);
|
||||
```
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,442 @@
|
|||
# API diff: HarfBuzzSharp.dll
|
||||
|
||||
## HarfBuzzSharp.dll
|
||||
|
||||
### Namespace HarfBuzzSharp
|
||||
|
||||
#### Type Changed: HarfBuzzSharp.Feature
|
||||
|
||||
Added interface:
|
||||
|
||||
```csharp
|
||||
System.IEquatable<Feature>
|
||||
```
|
||||
|
||||
Added methods:
|
||||
|
||||
```csharp
|
||||
public virtual bool Equals (Feature obj);
|
||||
public override bool Equals (object obj);
|
||||
public override int GetHashCode ();
|
||||
public static bool op_Equality (Feature left, Feature right);
|
||||
public static bool op_Inequality (Feature left, Feature right);
|
||||
```
|
||||
|
||||
|
||||
#### Type Changed: HarfBuzzSharp.FontExtents
|
||||
|
||||
Added interface:
|
||||
|
||||
```csharp
|
||||
System.IEquatable<FontExtents>
|
||||
```
|
||||
|
||||
Added methods:
|
||||
|
||||
```csharp
|
||||
public virtual bool Equals (FontExtents obj);
|
||||
public override bool Equals (object obj);
|
||||
public override int GetHashCode ();
|
||||
public static bool op_Equality (FontExtents left, FontExtents right);
|
||||
public static bool op_Inequality (FontExtents left, FontExtents right);
|
||||
```
|
||||
|
||||
|
||||
#### Type Changed: HarfBuzzSharp.GlyphExtents
|
||||
|
||||
Added interface:
|
||||
|
||||
```csharp
|
||||
System.IEquatable<GlyphExtents>
|
||||
```
|
||||
|
||||
Added methods:
|
||||
|
||||
```csharp
|
||||
public virtual bool Equals (GlyphExtents obj);
|
||||
public override bool Equals (object obj);
|
||||
public override int GetHashCode ();
|
||||
public static bool op_Equality (GlyphExtents left, GlyphExtents right);
|
||||
public static bool op_Inequality (GlyphExtents left, GlyphExtents right);
|
||||
```
|
||||
|
||||
|
||||
#### Type Changed: HarfBuzzSharp.GlyphInfo
|
||||
|
||||
Added interface:
|
||||
|
||||
```csharp
|
||||
System.IEquatable<GlyphInfo>
|
||||
```
|
||||
|
||||
Added methods:
|
||||
|
||||
```csharp
|
||||
public virtual bool Equals (GlyphInfo obj);
|
||||
public override bool Equals (object obj);
|
||||
public override int GetHashCode ();
|
||||
public static bool op_Equality (GlyphInfo left, GlyphInfo right);
|
||||
public static bool op_Inequality (GlyphInfo left, GlyphInfo right);
|
||||
```
|
||||
|
||||
|
||||
#### Type Changed: HarfBuzzSharp.GlyphPosition
|
||||
|
||||
Added interface:
|
||||
|
||||
```csharp
|
||||
System.IEquatable<GlyphPosition>
|
||||
```
|
||||
|
||||
Added methods:
|
||||
|
||||
```csharp
|
||||
public virtual bool Equals (GlyphPosition obj);
|
||||
public override bool Equals (object obj);
|
||||
public override int GetHashCode ();
|
||||
public static bool op_Equality (GlyphPosition left, GlyphPosition right);
|
||||
public static bool op_Inequality (GlyphPosition left, GlyphPosition right);
|
||||
```
|
||||
|
||||
|
||||
#### Type Changed: HarfBuzzSharp.OpenTypeMetrics
|
||||
|
||||
Modified base type:
|
||||
|
||||
```diff
|
||||
-System.ValueType
|
||||
+System.Object
|
||||
```
|
||||
|
||||
Removed constructor:
|
||||
|
||||
```csharp
|
||||
public OpenTypeMetrics (IntPtr font);
|
||||
```
|
||||
|
||||
Added constructor:
|
||||
|
||||
```csharp
|
||||
public OpenTypeMetrics (Font font);
|
||||
```
|
||||
|
||||
|
||||
#### New Type: HarfBuzzSharp.BufferDiffFlags
|
||||
|
||||
```csharp
|
||||
[Serializable]
|
||||
public enum BufferDiffFlags {
|
||||
ClusterMismatch = 32,
|
||||
CodepointMismatch = 16,
|
||||
ContentTypeMismatch = 1,
|
||||
DottedCirclePresent = 8,
|
||||
Equal = 0,
|
||||
GlyphFlagsMismatch = 64,
|
||||
LengthMismatch = 2,
|
||||
NotdefPresent = 4,
|
||||
PositionMismatch = 128,
|
||||
}
|
||||
```
|
||||
|
||||
#### New Type: HarfBuzzSharp.OpenTypeColorLayer
|
||||
|
||||
```csharp
|
||||
public struct OpenTypeColorLayer, System.IEquatable<OpenTypeColorLayer> {
|
||||
// properties
|
||||
public uint ColorIndex { get; set; }
|
||||
public uint Glyph { get; set; }
|
||||
// methods
|
||||
public virtual bool Equals (OpenTypeColorLayer obj);
|
||||
public override bool Equals (object obj);
|
||||
public override int GetHashCode ();
|
||||
public static bool op_Equality (OpenTypeColorLayer left, OpenTypeColorLayer right);
|
||||
public static bool op_Inequality (OpenTypeColorLayer left, OpenTypeColorLayer right);
|
||||
}
|
||||
```
|
||||
|
||||
#### New Type: HarfBuzzSharp.OpenTypeColorPaletteFlags
|
||||
|
||||
```csharp
|
||||
[Serializable]
|
||||
public enum OpenTypeColorPaletteFlags {
|
||||
Default = 0,
|
||||
UsableWithDarkBackground = 2,
|
||||
UsableWithLightBackground = 1,
|
||||
}
|
||||
```
|
||||
|
||||
#### New Type: HarfBuzzSharp.OpenTypeLayoutBaselineTag
|
||||
|
||||
```csharp
|
||||
[Serializable]
|
||||
public enum OpenTypeLayoutBaselineTag {
|
||||
Hanging = 1751215719,
|
||||
IdeoEmboxBottomOrLeft = 1768187247,
|
||||
IdeoEmboxTopOrRight = 1768191088,
|
||||
IdeoFaceBottomOrLeft = 1768121954,
|
||||
IdeoFaceTopOrRight = 1768121972,
|
||||
Math = 1835103336,
|
||||
Roman = 1919905134,
|
||||
}
|
||||
```
|
||||
|
||||
#### New Type: HarfBuzzSharp.OpenTypeLayoutGlyphClass
|
||||
|
||||
```csharp
|
||||
[Serializable]
|
||||
public enum OpenTypeLayoutGlyphClass {
|
||||
BaseGlyph = 1,
|
||||
Component = 4,
|
||||
Ligature = 2,
|
||||
Mark = 3,
|
||||
Unclassified = 0,
|
||||
}
|
||||
```
|
||||
|
||||
#### New Type: HarfBuzzSharp.OpenTypeMathConstant
|
||||
|
||||
```csharp
|
||||
[Serializable]
|
||||
public enum OpenTypeMathConstant {
|
||||
AccentBaseHeight = 6,
|
||||
AxisHeight = 5,
|
||||
DelimitedSubFormulaMinHeight = 2,
|
||||
DisplayOperatorMinHeight = 3,
|
||||
FlattenedAccentBaseHeight = 7,
|
||||
FractionDenomDisplayStyleGapMin = 40,
|
||||
FractionDenominatorDisplayStyleShiftDown = 35,
|
||||
FractionDenominatorGapMin = 39,
|
||||
FractionDenominatorShiftDown = 34,
|
||||
FractionNumDisplayStyleGapMin = 37,
|
||||
FractionNumeratorDisplayStyleShiftUp = 33,
|
||||
FractionNumeratorGapMin = 36,
|
||||
FractionNumeratorShiftUp = 32,
|
||||
FractionRuleThickness = 38,
|
||||
LowerLimitBaselineDropMin = 21,
|
||||
LowerLimitGapMin = 20,
|
||||
MathLeading = 4,
|
||||
OverbarExtraAscender = 45,
|
||||
OverbarRuleThickness = 44,
|
||||
OverbarVerticalGap = 43,
|
||||
RadicalDegreeBottomRaisePercent = 55,
|
||||
RadicalDisplayStyleVerticalGap = 50,
|
||||
RadicalExtraAscender = 52,
|
||||
RadicalKernAfterDegree = 54,
|
||||
RadicalKernBeforeDegree = 53,
|
||||
RadicalRuleThickness = 51,
|
||||
RadicalVerticalGap = 49,
|
||||
ScriptPercentScaleDown = 0,
|
||||
ScriptScriptPercentScaleDown = 1,
|
||||
SkewedFractionHorizontalGap = 41,
|
||||
SkewedFractionVerticalGap = 42,
|
||||
SpaceAfterScript = 17,
|
||||
StackBottomDisplayStyleShiftDown = 25,
|
||||
StackBottomShiftDown = 24,
|
||||
StackDisplayStyleGapMin = 27,
|
||||
StackGapMin = 26,
|
||||
StackTopDisplayStyleShiftUp = 23,
|
||||
StackTopShiftUp = 22,
|
||||
StretchStackBottomShiftDown = 29,
|
||||
StretchStackGapAboveMin = 30,
|
||||
StretchStackGapBelowMin = 31,
|
||||
StretchStackTopShiftUp = 28,
|
||||
SubSuperscriptGapMin = 15,
|
||||
SubscriptBaselineDropMin = 10,
|
||||
SubscriptShiftDown = 8,
|
||||
SubscriptTopMax = 9,
|
||||
SuperscriptBaselineDropMax = 14,
|
||||
SuperscriptBottomMaxWithSubscript = 16,
|
||||
SuperscriptBottomMin = 13,
|
||||
SuperscriptShiftUp = 11,
|
||||
SuperscriptShiftUpCramped = 12,
|
||||
UnderbarExtraDescender = 48,
|
||||
UnderbarRuleThickness = 47,
|
||||
UnderbarVerticalGap = 46,
|
||||
UpperLimitBaselineRiseMin = 19,
|
||||
UpperLimitGapMin = 18,
|
||||
}
|
||||
```
|
||||
|
||||
#### New Type: HarfBuzzSharp.OpenTypeMathGlyphPart
|
||||
|
||||
```csharp
|
||||
public struct OpenTypeMathGlyphPart, System.IEquatable<OpenTypeMathGlyphPart> {
|
||||
// properties
|
||||
public int EndConnectorLength { get; set; }
|
||||
public OpenTypeMathGlyphPartFlags Flags { get; set; }
|
||||
public int FullAdvance { get; set; }
|
||||
public uint Glyph { get; set; }
|
||||
public int StartConnectorLength { get; set; }
|
||||
// methods
|
||||
public virtual bool Equals (OpenTypeMathGlyphPart obj);
|
||||
public override bool Equals (object obj);
|
||||
public override int GetHashCode ();
|
||||
public static bool op_Equality (OpenTypeMathGlyphPart left, OpenTypeMathGlyphPart right);
|
||||
public static bool op_Inequality (OpenTypeMathGlyphPart left, OpenTypeMathGlyphPart right);
|
||||
}
|
||||
```
|
||||
|
||||
#### New Type: HarfBuzzSharp.OpenTypeMathGlyphPartFlags
|
||||
|
||||
```csharp
|
||||
[Serializable]
|
||||
public enum OpenTypeMathGlyphPartFlags {
|
||||
Extender = 1,
|
||||
}
|
||||
```
|
||||
|
||||
#### New Type: HarfBuzzSharp.OpenTypeMathGlyphVariant
|
||||
|
||||
```csharp
|
||||
public struct OpenTypeMathGlyphVariant, System.IEquatable<OpenTypeMathGlyphVariant> {
|
||||
// properties
|
||||
public int Advance { get; set; }
|
||||
public uint Glyph { get; set; }
|
||||
// methods
|
||||
public virtual bool Equals (OpenTypeMathGlyphVariant obj);
|
||||
public override bool Equals (object obj);
|
||||
public override int GetHashCode ();
|
||||
public static bool op_Equality (OpenTypeMathGlyphVariant left, OpenTypeMathGlyphVariant right);
|
||||
public static bool op_Inequality (OpenTypeMathGlyphVariant left, OpenTypeMathGlyphVariant right);
|
||||
}
|
||||
```
|
||||
|
||||
#### New Type: HarfBuzzSharp.OpenTypeMathKern
|
||||
|
||||
```csharp
|
||||
[Serializable]
|
||||
public enum OpenTypeMathKern {
|
||||
BottomLeft = 3,
|
||||
BottomRight = 2,
|
||||
TopLeft = 1,
|
||||
TopRight = 0,
|
||||
}
|
||||
```
|
||||
|
||||
#### New Type: HarfBuzzSharp.OpenTypeMetaTag
|
||||
|
||||
```csharp
|
||||
[Serializable]
|
||||
public enum OpenTypeMetaTag {
|
||||
DesignLanguages = 1684827751,
|
||||
SupportedLanguages = 1936485991,
|
||||
}
|
||||
```
|
||||
|
||||
#### New Type: HarfBuzzSharp.OpenTypeNameEntry
|
||||
|
||||
```csharp
|
||||
public struct OpenTypeNameEntry, System.IEquatable<OpenTypeNameEntry> {
|
||||
// properties
|
||||
public IntPtr Language { get; set; }
|
||||
public OpenTypeNameId NameId { get; set; }
|
||||
public int Var { get; set; }
|
||||
// methods
|
||||
public virtual bool Equals (OpenTypeNameEntry obj);
|
||||
public override bool Equals (object obj);
|
||||
public override int GetHashCode ();
|
||||
public static bool op_Equality (OpenTypeNameEntry left, OpenTypeNameEntry right);
|
||||
public static bool op_Inequality (OpenTypeNameEntry left, OpenTypeNameEntry right);
|
||||
}
|
||||
```
|
||||
|
||||
#### New Type: HarfBuzzSharp.OpenTypeNameId
|
||||
|
||||
```csharp
|
||||
[Serializable]
|
||||
public enum OpenTypeNameId {
|
||||
CidFindFontName = 20,
|
||||
Copyright = 0,
|
||||
DarkBackground = 24,
|
||||
Description = 10,
|
||||
Designer = 9,
|
||||
DesignerUrl = 12,
|
||||
FontFamily = 1,
|
||||
FontSubfamily = 2,
|
||||
FullName = 4,
|
||||
Invalid = 65535,
|
||||
License = 13,
|
||||
LicenseUrl = 14,
|
||||
LightBackground = 23,
|
||||
MacFullName = 18,
|
||||
Manufacturer = 8,
|
||||
PostscriptName = 6,
|
||||
SampleText = 19,
|
||||
Trademark = 7,
|
||||
TypographicFamily = 16,
|
||||
TypographicSubfamily = 17,
|
||||
UniqueId = 3,
|
||||
VariationsPostscriptPrefix = 25,
|
||||
VendorUrl = 11,
|
||||
VersionString = 5,
|
||||
WwsFamily = 21,
|
||||
WwsSubfamily = 22,
|
||||
}
|
||||
```
|
||||
|
||||
#### New Type: HarfBuzzSharp.OpenTypeVarAxis
|
||||
|
||||
```csharp
|
||||
public struct OpenTypeVarAxis, System.IEquatable<OpenTypeVarAxis> {
|
||||
// properties
|
||||
public float DefaultValue { get; set; }
|
||||
public float MaxValue { get; set; }
|
||||
public float MinValue { get; set; }
|
||||
public OpenTypeNameId NameId { get; set; }
|
||||
public uint Tag { get; set; }
|
||||
// methods
|
||||
public virtual bool Equals (OpenTypeVarAxis obj);
|
||||
public override bool Equals (object obj);
|
||||
public override int GetHashCode ();
|
||||
public static bool op_Equality (OpenTypeVarAxis left, OpenTypeVarAxis right);
|
||||
public static bool op_Inequality (OpenTypeVarAxis left, OpenTypeVarAxis right);
|
||||
}
|
||||
```
|
||||
|
||||
#### New Type: HarfBuzzSharp.OpenTypeVarAxisFlags
|
||||
|
||||
```csharp
|
||||
[Serializable]
|
||||
public enum OpenTypeVarAxisFlags {
|
||||
Hidden = 1,
|
||||
}
|
||||
```
|
||||
|
||||
#### New Type: HarfBuzzSharp.OpenTypeVarAxisInfo
|
||||
|
||||
```csharp
|
||||
public struct OpenTypeVarAxisInfo, System.IEquatable<OpenTypeVarAxisInfo> {
|
||||
// properties
|
||||
public uint AxisIndex { get; set; }
|
||||
public float DefaultValue { get; set; }
|
||||
public OpenTypeVarAxisFlags Flags { get; set; }
|
||||
public float MaxValue { get; set; }
|
||||
public float MinValue { get; set; }
|
||||
public OpenTypeNameId NameId { get; set; }
|
||||
public uint Tag { get; set; }
|
||||
// methods
|
||||
public virtual bool Equals (OpenTypeVarAxisInfo obj);
|
||||
public override bool Equals (object obj);
|
||||
public override int GetHashCode ();
|
||||
public static bool op_Equality (OpenTypeVarAxisInfo left, OpenTypeVarAxisInfo right);
|
||||
public static bool op_Inequality (OpenTypeVarAxisInfo left, OpenTypeVarAxisInfo right);
|
||||
}
|
||||
```
|
||||
|
||||
#### New Type: HarfBuzzSharp.Variation
|
||||
|
||||
```csharp
|
||||
public struct Variation, System.IEquatable<Variation> {
|
||||
// properties
|
||||
public uint Tag { get; set; }
|
||||
public float Value { get; set; }
|
||||
// methods
|
||||
public virtual bool Equals (Variation obj);
|
||||
public override bool Equals (object obj);
|
||||
public override int GetHashCode ();
|
||||
public static bool op_Equality (Variation left, Variation right);
|
||||
public static bool op_Inequality (Variation left, Variation right);
|
||||
}
|
||||
```
|
||||
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
# API diff: SkiaSharp.HarfBuzz.dll
|
||||
|
||||
## SkiaSharp.HarfBuzz.dll
|
||||
|
||||
> No changes.
|
|
@ -0,0 +1,22 @@
|
|||
# API diff: SkiaSharp.Views.Desktop.Common.dll
|
||||
|
||||
## SkiaSharp.Views.Desktop.Common.dll
|
||||
|
||||
### Namespace SkiaSharp.Views.Desktop
|
||||
|
||||
#### Type Changed: SkiaSharp.Views.Desktop.Extensions
|
||||
|
||||
Added methods:
|
||||
|
||||
```csharp
|
||||
public static System.Drawing.Bitmap ToBitmap (this SkiaSharp.SKBitmap skiaBitmap);
|
||||
public static System.Drawing.Bitmap ToBitmap (this SkiaSharp.SKImage skiaImage);
|
||||
public static System.Drawing.Bitmap ToBitmap (this SkiaSharp.SKPixmap pixmap);
|
||||
public static System.Drawing.Bitmap ToBitmap (this SkiaSharp.SKPicture picture, SkiaSharp.SKSizeI dimensions);
|
||||
public static SkiaSharp.SKBitmap ToSKBitmap (this System.Drawing.Bitmap bitmap);
|
||||
public static SkiaSharp.SKImage ToSKImage (this System.Drawing.Bitmap bitmap);
|
||||
public static void ToSKPixmap (this System.Drawing.Bitmap bitmap, SkiaSharp.SKPixmap pixmap);
|
||||
```
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
# API diff: SkiaSharp.Views.Forms.dll
|
||||
|
||||
## SkiaSharp.Views.Forms.dll
|
||||
|
||||
> No changes.
|
|
@ -0,0 +1,5 @@
|
|||
# API diff: SkiaSharp.Views.Forms.dll
|
||||
|
||||
## SkiaSharp.Views.Forms.dll
|
||||
|
||||
> No changes.
|
|
@ -0,0 +1,5 @@
|
|||
# API diff: SkiaSharp.Views.Forms.dll
|
||||
|
||||
## SkiaSharp.Views.Forms.dll
|
||||
|
||||
> No changes.
|
|
@ -0,0 +1,5 @@
|
|||
# API diff: SkiaSharp.Views.Gtk.dll
|
||||
|
||||
## SkiaSharp.Views.Gtk.dll
|
||||
|
||||
> No changes.
|
|
@ -0,0 +1,5 @@
|
|||
# API diff: SkiaSharp.Views.Gtk3.dll
|
||||
|
||||
## SkiaSharp.Views.Gtk3.dll
|
||||
|
||||
> No changes.
|
|
@ -0,0 +1,24 @@
|
|||
# API diff: SkiaSharp.Views.UWP.dll
|
||||
|
||||
## SkiaSharp.Views.UWP.dll
|
||||
|
||||
### Namespace SkiaSharp.Views.UWP
|
||||
|
||||
#### Type Changed: SkiaSharp.Views.UWP.GlobalStaticResources
|
||||
|
||||
Obsoleted methods:
|
||||
|
||||
```diff
|
||||
[Obsolete ("This method is provided for binary backward compatibility. It will always return null.")]
|
||||
public static object FindResource (string name);
|
||||
```
|
||||
|
||||
Added methods:
|
||||
|
||||
```csharp
|
||||
public static void RegisterDefaultStyles ();
|
||||
public static void RegisterResourceDictionariesBySource ();
|
||||
```
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
# API diff: SkiaSharp.Views.WPF.dll
|
||||
|
||||
## SkiaSharp.Views.WPF.dll
|
||||
|
||||
> No changes.
|
|
@ -0,0 +1,103 @@
|
|||
# API diff: SkiaSharp.Views.Windows.dll
|
||||
|
||||
## SkiaSharp.Views.Windows.dll
|
||||
|
||||
> Assembly Version Changed: 2.80.0.0 vs 0.0.0.0
|
||||
|
||||
### New Namespace SkiaSharp.Views.Windows
|
||||
|
||||
#### New Type: SkiaSharp.Views.Windows.Extensions
|
||||
|
||||
```csharp
|
||||
public static class Extensions {
|
||||
// methods
|
||||
public static System.Drawing.PointF ToDrawingPoint (this SkiaSharp.SKPoint point);
|
||||
public static System.Drawing.Point ToDrawingPoint (this SkiaSharp.SKPointI point);
|
||||
public static System.Drawing.RectangleF ToDrawingRect (this SkiaSharp.SKRect rect);
|
||||
public static System.Drawing.Rectangle ToDrawingRect (this SkiaSharp.SKRectI rect);
|
||||
public static System.Drawing.SizeF ToDrawingSize (this SkiaSharp.SKSize size);
|
||||
public static System.Drawing.Size ToDrawingSize (this SkiaSharp.SKSizeI size);
|
||||
public static SkiaSharp.SKPointI ToSKPoint (this System.Drawing.Point point);
|
||||
public static SkiaSharp.SKPoint ToSKPoint (this System.Drawing.PointF point);
|
||||
public static SkiaSharp.SKRectI ToSKRect (this System.Drawing.Rectangle rect);
|
||||
public static SkiaSharp.SKRect ToSKRect (this System.Drawing.RectangleF rect);
|
||||
public static SkiaSharp.SKSizeI ToSKSize (this System.Drawing.Size size);
|
||||
public static SkiaSharp.SKSize ToSKSize (this System.Drawing.SizeF size);
|
||||
}
|
||||
```
|
||||
|
||||
#### New Type: SkiaSharp.Views.Windows.SKPaintGLSurfaceEventArgs
|
||||
|
||||
```csharp
|
||||
public class SKPaintGLSurfaceEventArgs : System.EventArgs {
|
||||
// constructors
|
||||
public SKPaintGLSurfaceEventArgs (SkiaSharp.SKSurface surface, SkiaSharp.GRBackendRenderTarget renderTarget);
|
||||
|
||||
[Obsolete ("Use SKPaintGLSurfaceEventArgs(SKSurface, GRBackendRenderTarget, SKColorType, GRSurfaceOrigin) instead.")]
|
||||
public SKPaintGLSurfaceEventArgs (SkiaSharp.SKSurface surface, SkiaSharp.GRBackendRenderTargetDesc renderTarget);
|
||||
public SKPaintGLSurfaceEventArgs (SkiaSharp.SKSurface surface, SkiaSharp.GRBackendRenderTarget renderTarget, SkiaSharp.GRSurfaceOrigin origin, SkiaSharp.SKColorType colorType);
|
||||
public SKPaintGLSurfaceEventArgs (SkiaSharp.SKSurface surface, SkiaSharp.GRBackendRenderTarget renderTarget, SkiaSharp.GRSurfaceOrigin origin, SkiaSharp.SKColorType colorType, SkiaSharp.GRGlFramebufferInfo glInfo);
|
||||
// properties
|
||||
public SkiaSharp.GRBackendRenderTarget BackendRenderTarget { get; }
|
||||
public SkiaSharp.SKColorType ColorType { get; }
|
||||
public SkiaSharp.GRSurfaceOrigin Origin { get; }
|
||||
|
||||
[Obsolete ("Use BackendRenderTarget instead.")]
|
||||
public SkiaSharp.GRBackendRenderTargetDesc RenderTarget { get; }
|
||||
public SkiaSharp.SKSurface Surface { get; }
|
||||
}
|
||||
```
|
||||
|
||||
#### New Type: SkiaSharp.Views.Windows.SKPaintSurfaceEventArgs
|
||||
|
||||
```csharp
|
||||
public class SKPaintSurfaceEventArgs : System.EventArgs {
|
||||
// constructors
|
||||
public SKPaintSurfaceEventArgs (SkiaSharp.SKSurface surface, SkiaSharp.SKImageInfo info);
|
||||
// properties
|
||||
public SkiaSharp.SKImageInfo Info { get; }
|
||||
public SkiaSharp.SKSurface Surface { get; }
|
||||
}
|
||||
```
|
||||
|
||||
#### New Type: SkiaSharp.Views.Windows.SKXamlCanvas
|
||||
|
||||
```csharp
|
||||
public class SKXamlCanvas : Microsoft.UI.Xaml.Controls.Canvas, Microsoft.UI.Composition.IAnimationObject, Microsoft.UI.Composition.IVisualElement, Microsoft.UI.Composition.IVisualElement2, System.IEquatable<Microsoft.UI.Xaml.Controls.Canvas>, System.IEquatable<Microsoft.UI.Xaml.Controls.Panel>, System.IEquatable<Microsoft.UI.Xaml.DependencyObject>, System.IEquatable<Microsoft.UI.Xaml.FrameworkElement>, System.IEquatable<Microsoft.UI.Xaml.UIElement>, System.Runtime.InteropServices.ICustomQueryInterface, WinRT.IWinRTObject {
|
||||
// constructors
|
||||
public SKXamlCanvas ();
|
||||
// properties
|
||||
public SkiaSharp.SKSize CanvasSize { get; }
|
||||
public double Dpi { get; }
|
||||
public bool IgnorePixelScaling { get; set; }
|
||||
// events
|
||||
public event System.EventHandler<SKPaintSurfaceEventArgs> PaintSurface;
|
||||
// methods
|
||||
public void Invalidate ();
|
||||
protected virtual void OnPaintSurface (SKPaintSurfaceEventArgs e);
|
||||
}
|
||||
```
|
||||
|
||||
#### New Type: SkiaSharp.Views.Windows.WindowsExtensions
|
||||
|
||||
```csharp
|
||||
public static class WindowsExtensions {
|
||||
// methods
|
||||
public static Windows.UI.Color ToColor (this SkiaSharp.SKColor color);
|
||||
public static Windows.Foundation.Point ToPoint (this SkiaSharp.SKPoint point);
|
||||
public static Windows.Foundation.Rect ToRect (this SkiaSharp.SKRect rect);
|
||||
public static SkiaSharp.SKBitmap ToSKBitmap (this Microsoft.UI.Xaml.Media.Imaging.WriteableBitmap bitmap);
|
||||
public static SkiaSharp.SKColor ToSKColor (this Windows.UI.Color color);
|
||||
public static SkiaSharp.SKImage ToSKImage (this Microsoft.UI.Xaml.Media.Imaging.WriteableBitmap bitmap);
|
||||
public static bool ToSKPixmap (this Microsoft.UI.Xaml.Media.Imaging.WriteableBitmap bitmap, SkiaSharp.SKPixmap pixmap);
|
||||
public static SkiaSharp.SKPoint ToSKPoint (this Windows.Foundation.Point point);
|
||||
public static SkiaSharp.SKRect ToSKRect (this Windows.Foundation.Rect rect);
|
||||
public static SkiaSharp.SKSize ToSKSize (this Windows.Foundation.Size size);
|
||||
public static Windows.Foundation.Size ToSize (this SkiaSharp.SKSize size);
|
||||
public static Microsoft.UI.Xaml.Media.Imaging.WriteableBitmap ToWriteableBitmap (this SkiaSharp.SKBitmap skiaBitmap);
|
||||
public static Microsoft.UI.Xaml.Media.Imaging.WriteableBitmap ToWriteableBitmap (this SkiaSharp.SKImage skiaImage);
|
||||
public static Microsoft.UI.Xaml.Media.Imaging.WriteableBitmap ToWriteableBitmap (this SkiaSharp.SKPixmap pixmap);
|
||||
public static Microsoft.UI.Xaml.Media.Imaging.WriteableBitmap ToWriteableBitmap (this SkiaSharp.SKPicture picture, SkiaSharp.SKSizeI dimensions);
|
||||
}
|
||||
```
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
# API diff: SkiaSharp.Views.WindowsForms.dll
|
||||
|
||||
## SkiaSharp.Views.WindowsForms.dll
|
||||
|
||||
> No changes.
|
|
@ -0,0 +1,16 @@
|
|||
# API diff: SkiaSharp.Views.Android.dll
|
||||
|
||||
## SkiaSharp.Views.Android.dll
|
||||
|
||||
### Namespace SkiaSharp.Views.Android
|
||||
|
||||
#### Type Changed: SkiaSharp.Views.Android.SKCanvasView
|
||||
|
||||
Added method:
|
||||
|
||||
```csharp
|
||||
protected override void OnAttachedToWindow ();
|
||||
```
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
# API diff: SkiaSharp.Views.Desktop.dll
|
||||
|
||||
## SkiaSharp.Views.Desktop.dll
|
||||
|
||||
> No changes.
|
|
@ -0,0 +1,42 @@
|
|||
# API diff: SkiaSharp.Views.Mac.dll
|
||||
|
||||
## SkiaSharp.Views.Mac.dll
|
||||
|
||||
### Namespace SkiaSharp.Views.Mac
|
||||
|
||||
#### New Type: SkiaSharp.Views.Mac.SKMetalView
|
||||
|
||||
```csharp
|
||||
public class SKMetalView : MetalKit.MTKView, AppKit.INSAccessibility, AppKit.INSAccessibilityElementProtocol, AppKit.INSAppearanceCustomization, AppKit.INSDraggingDestination, AppKit.INSTouchBarProvider, AppKit.INSUserInterfaceItemIdentification, CoreAnimation.ICALayerDelegate, Foundation.INSCoding, Foundation.INSObjectProtocol, MetalKit.IMTKViewDelegate, ObjCRuntime.INativeObject, System.ComponentModel.IComponent, System.IDisposable, System.IEquatable<Foundation.NSObject> {
|
||||
// constructors
|
||||
public SKMetalView ();
|
||||
public SKMetalView (CoreGraphics.CGRect frame);
|
||||
public SKMetalView (IntPtr p);
|
||||
public SKMetalView (CoreGraphics.CGRect frame, Metal.IMTLDevice device);
|
||||
// properties
|
||||
public SkiaSharp.SKSize CanvasSize { get; }
|
||||
public SkiaSharp.GRContext GRContext { get; }
|
||||
// events
|
||||
public event System.EventHandler<SKPaintMetalSurfaceEventArgs> PaintSurface;
|
||||
// methods
|
||||
public override void AwakeFromNib ();
|
||||
protected virtual void OnPaintSurface (SKPaintMetalSurfaceEventArgs e);
|
||||
}
|
||||
```
|
||||
|
||||
#### New Type: SkiaSharp.Views.Mac.SKPaintMetalSurfaceEventArgs
|
||||
|
||||
```csharp
|
||||
public class SKPaintMetalSurfaceEventArgs : System.EventArgs {
|
||||
// constructors
|
||||
public SKPaintMetalSurfaceEventArgs (SkiaSharp.SKSurface surface, SkiaSharp.GRBackendRenderTarget renderTarget);
|
||||
public SKPaintMetalSurfaceEventArgs (SkiaSharp.SKSurface surface, SkiaSharp.GRBackendRenderTarget renderTarget, SkiaSharp.GRSurfaceOrigin origin, SkiaSharp.SKColorType colorType);
|
||||
// properties
|
||||
public SkiaSharp.GRBackendRenderTarget BackendRenderTarget { get; }
|
||||
public SkiaSharp.SKColorType ColorType { get; }
|
||||
public SkiaSharp.GRSurfaceOrigin Origin { get; }
|
||||
public SkiaSharp.SKSurface Surface { get; }
|
||||
}
|
||||
```
|
||||
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
# API diff: SkiaSharp.Views.Tizen.dll
|
||||
|
||||
## SkiaSharp.Views.Tizen.dll
|
||||
|
||||
> No changes.
|
|
@ -0,0 +1,5 @@
|
|||
# API diff: SkiaSharp.Views.UWP.dll
|
||||
|
||||
## SkiaSharp.Views.UWP.dll
|
||||
|
||||
> No changes.
|
|
@ -0,0 +1,42 @@
|
|||
# API diff: SkiaSharp.Views.iOS.dll
|
||||
|
||||
## SkiaSharp.Views.iOS.dll
|
||||
|
||||
### Namespace SkiaSharp.Views.iOS
|
||||
|
||||
#### New Type: SkiaSharp.Views.iOS.SKMetalView
|
||||
|
||||
```csharp
|
||||
public class SKMetalView : MetalKit.MTKView, CoreAnimation.ICALayerDelegate, Foundation.INSCoding, Foundation.INSObjectProtocol, MetalKit.IMTKViewDelegate, ObjCRuntime.INativeObject, System.Collections.IEnumerable, System.ComponentModel.IComponent, System.IDisposable, System.IEquatable<Foundation.NSObject>, UIKit.IUIAccessibilityIdentification, UIKit.IUIAppearance, UIKit.IUIAppearanceContainer, UIKit.IUICoordinateSpace, UIKit.IUIDynamicItem, UIKit.IUIFocusEnvironment, UIKit.IUIFocusItem, UIKit.IUIFocusItemContainer, UIKit.IUILargeContentViewerItem, UIKit.IUIPasteConfigurationSupporting, UIKit.IUITraitEnvironment, UIKit.IUIUserActivityRestoring {
|
||||
// constructors
|
||||
public SKMetalView ();
|
||||
public SKMetalView (CoreGraphics.CGRect frame);
|
||||
public SKMetalView (IntPtr p);
|
||||
public SKMetalView (CoreGraphics.CGRect frame, Metal.IMTLDevice device);
|
||||
// properties
|
||||
public SkiaSharp.SKSize CanvasSize { get; }
|
||||
public SkiaSharp.GRContext GRContext { get; }
|
||||
// events
|
||||
public event System.EventHandler<SKPaintMetalSurfaceEventArgs> PaintSurface;
|
||||
// methods
|
||||
public override void AwakeFromNib ();
|
||||
protected virtual void OnPaintSurface (SKPaintMetalSurfaceEventArgs e);
|
||||
}
|
||||
```
|
||||
|
||||
#### New Type: SkiaSharp.Views.iOS.SKPaintMetalSurfaceEventArgs
|
||||
|
||||
```csharp
|
||||
public class SKPaintMetalSurfaceEventArgs : System.EventArgs {
|
||||
// constructors
|
||||
public SKPaintMetalSurfaceEventArgs (SkiaSharp.SKSurface surface, SkiaSharp.GRBackendRenderTarget renderTarget);
|
||||
public SKPaintMetalSurfaceEventArgs (SkiaSharp.SKSurface surface, SkiaSharp.GRBackendRenderTarget renderTarget, SkiaSharp.GRSurfaceOrigin origin, SkiaSharp.SKColorType colorType);
|
||||
// properties
|
||||
public SkiaSharp.GRBackendRenderTarget BackendRenderTarget { get; }
|
||||
public SkiaSharp.SKColorType ColorType { get; }
|
||||
public SkiaSharp.GRSurfaceOrigin Origin { get; }
|
||||
public SkiaSharp.SKSurface Surface { get; }
|
||||
}
|
||||
```
|
||||
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
# API diff: SkiaSharp.Views.tvOS.dll
|
||||
|
||||
## SkiaSharp.Views.tvOS.dll
|
||||
|
||||
> No changes.
|
|
@ -0,0 +1,5 @@
|
|||
# API diff: SkiaSharp.Views.watchOS.dll
|
||||
|
||||
## SkiaSharp.Views.watchOS.dll
|
||||
|
||||
> No changes.
|
|
@ -0,0 +1,5 @@
|
|||
# API diff: SkiaSharp.Vulkan.SharpVk.dll
|
||||
|
||||
## SkiaSharp.Vulkan.SharpVk.dll
|
||||
|
||||
> No changes.
|
|
@ -0,0 +1,100 @@
|
|||
# API diff: SkiaSharp.dll
|
||||
|
||||
## SkiaSharp.dll
|
||||
|
||||
### Namespace SkiaSharp
|
||||
|
||||
#### Type Changed: SkiaSharp.GRContext
|
||||
|
||||
Added property:
|
||||
|
||||
```csharp
|
||||
public bool IsAbandoned { get; }
|
||||
```
|
||||
|
||||
Added methods:
|
||||
|
||||
```csharp
|
||||
public static GRContext CreateGl (GRContextOptions options);
|
||||
public static GRContext CreateGl (GRGlInterface backendContext, GRContextOptions options);
|
||||
public static GRContext CreateVulkan (GRVkBackendContext backendContext, GRContextOptions options);
|
||||
```
|
||||
|
||||
|
||||
#### Type Changed: SkiaSharp.GRGlInterface
|
||||
|
||||
Added method:
|
||||
|
||||
```csharp
|
||||
public static GRGlInterface CreateAngle ();
|
||||
```
|
||||
|
||||
|
||||
#### Type Changed: SkiaSharp.SKData
|
||||
|
||||
Added property:
|
||||
|
||||
```csharp
|
||||
public System.Span<byte> Span { get; }
|
||||
```
|
||||
|
||||
Added methods:
|
||||
|
||||
```csharp
|
||||
public static SKData Create (long size);
|
||||
public static SKData CreateCopy (IntPtr bytes, int length);
|
||||
public static SKData CreateCopy (IntPtr bytes, long length);
|
||||
```
|
||||
|
||||
|
||||
#### Type Changed: SkiaSharp.SKImage
|
||||
|
||||
Added property:
|
||||
|
||||
```csharp
|
||||
public SKImageInfo Info { get; }
|
||||
```
|
||||
|
||||
|
||||
#### Type Changed: SkiaSharp.SKPicture
|
||||
|
||||
Added methods:
|
||||
|
||||
```csharp
|
||||
public static SKPicture Deserialize (SKData data);
|
||||
public static SKPicture Deserialize (SKStream stream);
|
||||
public static SKPicture Deserialize (System.IO.Stream stream);
|
||||
public static SKPicture Deserialize (System.ReadOnlySpan<byte> data);
|
||||
public static SKPicture Deserialize (IntPtr data, int length);
|
||||
public SKData Serialize ();
|
||||
public void Serialize (SKWStream stream);
|
||||
public void Serialize (System.IO.Stream stream);
|
||||
```
|
||||
|
||||
|
||||
#### Type Changed: SkiaSharp.SKSurface
|
||||
|
||||
Added method:
|
||||
|
||||
```csharp
|
||||
public void Flush ();
|
||||
```
|
||||
|
||||
|
||||
#### New Type: SkiaSharp.GRContextOptions
|
||||
|
||||
```csharp
|
||||
public class GRContextOptions {
|
||||
// constructors
|
||||
public GRContextOptions ();
|
||||
// properties
|
||||
public bool AllowPathMaskCaching { get; set; }
|
||||
public bool AvoidStencilBuffers { get; set; }
|
||||
public int BufferMapThreshold { get; set; }
|
||||
public bool DoManualMipmapping { get; set; }
|
||||
public int GlyphCacheTextureMaximumBytes { get; set; }
|
||||
public int RuntimeProgramCacheSize { get; set; }
|
||||
}
|
||||
```
|
||||
|
||||
|
|
@ -29,12 +29,15 @@ Please visit https://go.microsoft.com/fwlink/?linkid=868517 to view the release
|
|||
<dependencies>
|
||||
<group targetFramework="net462">
|
||||
<dependency id="SkiaSharp" version="1.0.0" />
|
||||
<dependency id="System.Drawing.Common" version="4.5.1" />
|
||||
</group>
|
||||
<group targetFramework="netcoreapp3.0">
|
||||
<group targetFramework="netcoreapp3.1">
|
||||
<dependency id="SkiaSharp" version="1.0.0" />
|
||||
<dependency id="System.Drawing.Common" version="4.5.1" />
|
||||
</group>
|
||||
<group targetFramework="netstandard2.0">
|
||||
<dependency id="SkiaSharp" version="1.0.0" />
|
||||
<dependency id="System.Drawing.Common" version="4.5.1" />
|
||||
</group>
|
||||
</dependencies>
|
||||
|
||||
|
@ -44,8 +47,8 @@ Please visit https://go.microsoft.com/fwlink/?linkid=868517 to view the release
|
|||
<!-- SkiaSharp.Views.*.dll -->
|
||||
<file src="lib/net462/SkiaSharp.Views.Desktop.Common.dll" />
|
||||
<file src="lib/net462/SkiaSharp.Views.Desktop.Common.xml" />
|
||||
<file src="lib/netcoreapp3.0/SkiaSharp.Views.Desktop.Common.dll" />
|
||||
<file src="lib/netcoreapp3.0/SkiaSharp.Views.Desktop.Common.xml" />
|
||||
<file src="lib/netcoreapp3.1/SkiaSharp.Views.Desktop.Common.dll" />
|
||||
<file src="lib/netcoreapp3.1/SkiaSharp.Views.Desktop.Common.xml" />
|
||||
<file src="lib/netstandard2.0/SkiaSharp.Views.Desktop.Common.dll" />
|
||||
<file src="lib/netstandard2.0/SkiaSharp.Views.Desktop.Common.xml" />
|
||||
|
||||
|
|
|
@ -31,7 +31,7 @@ Please visit https://go.microsoft.com/fwlink/?linkid=868517 to view the release
|
|||
<dependency id="SkiaSharp" version="1.0.0" />
|
||||
<dependency id="SkiaSharp.Views.Desktop.Common" version="1.0.0" />
|
||||
</group>
|
||||
<group targetFramework="netcoreapp3.0">
|
||||
<group targetFramework="netcoreapp3.1">
|
||||
<dependency id="SkiaSharp" version="1.0.0" />
|
||||
<dependency id="SkiaSharp.Views.Desktop.Common" version="1.0.0" />
|
||||
</group>
|
||||
|
@ -41,8 +41,8 @@ Please visit https://go.microsoft.com/fwlink/?linkid=868517 to view the release
|
|||
<files>
|
||||
|
||||
<!-- SkiaSharp.Views.*.dll -->
|
||||
<file platform="windows" src="lib/netcoreapp3.0/SkiaSharp.Views.WPF.dll" />
|
||||
<file platform="windows" src="lib/netcoreapp3.0/SkiaSharp.Views.WPF.xml" />
|
||||
<file platform="windows" src="lib/netcoreapp3.1/SkiaSharp.Views.WPF.dll" />
|
||||
<file platform="windows" src="lib/netcoreapp3.1/SkiaSharp.Views.WPF.xml" />
|
||||
<file platform="windows" src="lib/net462/SkiaSharp.Views.WPF.dll" />
|
||||
<file platform="windows" src="lib/net462/SkiaSharp.Views.WPF.xml" />
|
||||
|
||||
|
|
|
@ -0,0 +1,47 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<package>
|
||||
<metadata>
|
||||
|
||||
<!-- package -->
|
||||
<id>SkiaSharp.Views.WinUI</id>
|
||||
<title>SkiaSharp Views & Layers for Windows (WinUI)</title>
|
||||
<version>1.0.0</version>
|
||||
<description>
|
||||
SkiaSharp Views & Layers are a set of platform-specific views and containers that can be used to draw on the screen.
|
||||
</description>
|
||||
<summary>
|
||||
SkiaSharp Views & Layers are a set of platform-specific views and containers that can be used to draw on the screen.
|
||||
</summary>
|
||||
<releaseNotes>
|
||||
Please visit https://go.microsoft.com/fwlink/?linkid=868517 to view the release notes.
|
||||
</releaseNotes>
|
||||
<projectUrl>https://go.microsoft.com/fwlink/?linkid=868515</projectUrl>
|
||||
<iconUrl>https://go.microsoft.com/fwlink/?linkid=2130524</iconUrl>
|
||||
<tags>ui xamarin graphics ios android linux windows uwp tvos watchos macos tizen cross-platform skiasharp</tags>
|
||||
|
||||
<!-- legal -->
|
||||
<licenseUrl>https://go.microsoft.com/fwlink/?linkid=868514</licenseUrl>
|
||||
<authors>Microsoft</authors>
|
||||
<owners>Microsoft</owners>
|
||||
<requireLicenseAcceptance>true</requireLicenseAcceptance>
|
||||
<copyright>© Microsoft Corporation. All rights reserved.</copyright>
|
||||
|
||||
<dependencies>
|
||||
<group targetFramework="net5.0-windows10.0.18362">
|
||||
<dependency id="SkiaSharp" version="1.0.0" />
|
||||
<dependency id="Microsoft.ProjectReunion" version="0.5.0" />
|
||||
</group>
|
||||
</dependencies>
|
||||
|
||||
</metadata>
|
||||
<files>
|
||||
|
||||
<!-- SkiaSharp.Views.*.dll -->
|
||||
<file platform="windows" src="lib/net5.0-windows10.0.18362/SkiaSharp.Views.Windows.dll" />
|
||||
<file platform="windows" src="lib/net5.0-windows10.0.18362/SkiaSharp.Views.Windows.xml" />
|
||||
|
||||
<!-- legal -->
|
||||
<file src="LICENSE.txt" />
|
||||
|
||||
</files>
|
||||
</package>
|
|
@ -33,7 +33,7 @@ Please visit https://go.microsoft.com/fwlink/?linkid=868517 to view the release
|
|||
<dependency id="OpenTK" version="3.1.0" />
|
||||
<dependency id="OpenTK.GLControl" version="3.1.0" />
|
||||
</group>
|
||||
<group targetFramework="netcoreapp3.0">
|
||||
<group targetFramework="netcoreapp3.1">
|
||||
<dependency id="SkiaSharp" version="1.0.0" />
|
||||
<dependency id="SkiaSharp.Views.Desktop.Common" version="1.0.0" />
|
||||
<dependency id="OpenTK" version="3.1.0" />
|
||||
|
@ -47,8 +47,8 @@ Please visit https://go.microsoft.com/fwlink/?linkid=868517 to view the release
|
|||
<!-- SkiaSharp.Views.*.dll -->
|
||||
<file platform="windows" src="lib/net462/SkiaSharp.Views.WindowsForms.dll" />
|
||||
<file platform="windows" src="lib/net462/SkiaSharp.Views.WindowsForms.xml" />
|
||||
<file platform="windows" src="lib/netcoreapp3.0/SkiaSharp.Views.WindowsForms.dll" />
|
||||
<file platform="windows" src="lib/netcoreapp3.0/SkiaSharp.Views.WindowsForms.xml" />
|
||||
<file platform="windows" src="lib/netcoreapp3.1/SkiaSharp.Views.WindowsForms.dll" />
|
||||
<file platform="windows" src="lib/netcoreapp3.1/SkiaSharp.Views.WindowsForms.xml" />
|
||||
|
||||
<!-- legal -->
|
||||
<file src="LICENSE.txt" />
|
||||
|
|
|
@ -46,7 +46,6 @@
|
|||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Deployment" />
|
||||
<Reference Include="System.Drawing" />
|
||||
<Reference Include="System.Net.Http" />
|
||||
<Reference Include="System.Windows.Forms" />
|
||||
<Reference Include="System.Xml" />
|
||||
</ItemGroup>
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
<PropertyGroup>
|
||||
<OutputType>WinExe</OutputType>
|
||||
<TargetFramework>netcoreapp3.0</TargetFramework>
|
||||
<TargetFramework>netcoreapp3.1</TargetFramework>
|
||||
<LangVersion>8.0</LangVersion>
|
||||
</PropertyGroup>
|
||||
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
<PropertyGroup>
|
||||
<OutputType>Exe</OutputType>
|
||||
<TargetFramework>netcoreapp3.0</TargetFramework>
|
||||
<TargetFramework>netcoreapp3.1</TargetFramework>
|
||||
<LangVersion>8.0</LangVersion>
|
||||
</PropertyGroup>
|
||||
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
<PropertyGroup>
|
||||
<OutputType>WinExe</OutputType>
|
||||
<TargetFramework>netcoreapp3.0</TargetFramework>
|
||||
<TargetFramework>netcoreapp3.1</TargetFramework>
|
||||
<UseWPF>true</UseWPF>
|
||||
<LangVersion>8.0</LangVersion>
|
||||
<ApplicationIcon>icon.ico</ApplicationIcon>
|
||||
|
|
Двоичные данные
samples/Basic/WinUI/Desktop/SkiaSharpSample.Package/Images/LockScreenLogo.scale-200.png
Normal file
После Ширина: | Высота: | Размер: 1.4 KiB |
Двоичные данные
samples/Basic/WinUI/Desktop/SkiaSharpSample.Package/Images/SplashScreen.scale-200.png
Normal file
После Ширина: | Высота: | Размер: 7.5 KiB |
Двоичные данные
samples/Basic/WinUI/Desktop/SkiaSharpSample.Package/Images/Square150x150Logo.scale-200.png
Normal file
После Ширина: | Высота: | Размер: 2.9 KiB |
Двоичные данные
samples/Basic/WinUI/Desktop/SkiaSharpSample.Package/Images/Square44x44Logo.scale-200.png
Normal file
После Ширина: | Высота: | Размер: 1.6 KiB |
Двоичные данные
samples/Basic/WinUI/Desktop/SkiaSharpSample.Package/Images/Square44x44Logo.targetsize-24_altform-unplated.png
Normal file
После Ширина: | Высота: | Размер: 1.2 KiB |
Двоичные данные
samples/Basic/WinUI/Desktop/SkiaSharpSample.Package/Images/StoreLogo.png
Normal file
После Ширина: | Высота: | Размер: 1.4 KiB |
Двоичные данные
samples/Basic/WinUI/Desktop/SkiaSharpSample.Package/Images/Wide310x150Logo.scale-200.png
Normal file
После Ширина: | Высота: | Размер: 3.1 KiB |
|
@ -0,0 +1,48 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
|
||||
<Package
|
||||
xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10"
|
||||
xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10"
|
||||
xmlns:rescap="http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities"
|
||||
IgnorableNamespaces="uap rescap">
|
||||
|
||||
<Identity
|
||||
Name="479d1110-d6ad-48a8-ac62-4af987a884d0"
|
||||
Publisher="CN=matthew"
|
||||
Version="1.0.0.0" />
|
||||
|
||||
<Properties>
|
||||
<DisplayName>SkiaSharpSample</DisplayName>
|
||||
<PublisherDisplayName>matthew</PublisherDisplayName>
|
||||
<Logo>Images\StoreLogo.png</Logo>
|
||||
</Properties>
|
||||
|
||||
<Dependencies>
|
||||
<TargetDeviceFamily Name="Windows.Universal" MinVersion="10.0.17763.0" MaxVersionTested="10.0.19041.0" />
|
||||
<TargetDeviceFamily Name="Windows.Desktop" MinVersion="10.0.17763.0" MaxVersionTested="10.0.19041.0" />
|
||||
</Dependencies>
|
||||
|
||||
<Resources>
|
||||
<Resource Language="x-generate"/>
|
||||
</Resources>
|
||||
|
||||
<Applications>
|
||||
<Application Id="App"
|
||||
Executable="$targetnametoken$.exe"
|
||||
EntryPoint="$targetentrypoint$">
|
||||
<uap:VisualElements
|
||||
DisplayName="SkiaSharpSample"
|
||||
Description="SkiaSharpSample"
|
||||
BackgroundColor="transparent"
|
||||
Square150x150Logo="Images\Square150x150Logo.png"
|
||||
Square44x44Logo="Images\Square44x44Logo.png">
|
||||
<uap:DefaultTile Wide310x150Logo="Images\Wide310x150Logo.png" />
|
||||
<uap:SplashScreen Image="Images\SplashScreen.png" />
|
||||
</uap:VisualElements>
|
||||
</Application>
|
||||
</Applications>
|
||||
|
||||
<Capabilities>
|
||||
<rescap:Capability Name="runFullTrust" />
|
||||
</Capabilities>
|
||||
</Package>
|
|
@ -0,0 +1,75 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="15.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup Condition="'$(VisualStudioVersion)' == '' or '$(VisualStudioVersion)' < '15.0'">
|
||||
<VisualStudioVersion>15.0</VisualStudioVersion>
|
||||
</PropertyGroup>
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|x86">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x86</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|x86">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x86</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|x64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|x64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|arm64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>arm64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|arm64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>arm64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup>
|
||||
<WapProjPath Condition="'$(WapProjPath)'==''">$(MSBuildExtensionsPath)\Microsoft\DesktopBridge\</WapProjPath>
|
||||
<PathToXAMLWinRTImplementations>SkiaSharpSample\</PathToXAMLWinRTImplementations>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(WapProjPath)\Microsoft.DesktopBridge.props" />
|
||||
<PropertyGroup>
|
||||
<ProjectGuid>bf0aea36-d579-49ee-a589-705d3d81feb1</ProjectGuid>
|
||||
<TargetPlatformVersion>10.0.19041.0</TargetPlatformVersion>
|
||||
<TargetPlatformMinVersion>10.0.17763.0</TargetPlatformMinVersion>
|
||||
<DefaultLanguage>en-US</DefaultLanguage>
|
||||
<AppxPackageSigningEnabled>false</AppxPackageSigningEnabled>
|
||||
<EntryPointProjectUniqueName>..\SkiaSharpSample\SkiaSharpSample.csproj</EntryPointProjectUniqueName>
|
||||
<AssetTargetFallback>net5.0-windows$(TargetPlatformVersion);$(AssetTargetFallback)</AssetTargetFallback>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<AppxManifest Include="Package.appxmanifest">
|
||||
<SubType>Designer</SubType>
|
||||
</AppxManifest>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Content Include="Images\SplashScreen.scale-200.png" />
|
||||
<Content Include="Images\LockScreenLogo.scale-200.png" />
|
||||
<Content Include="Images\Square150x150Logo.scale-200.png" />
|
||||
<Content Include="Images\Square44x44Logo.scale-200.png" />
|
||||
<Content Include="Images\Square44x44Logo.targetsize-24_altform-unplated.png" />
|
||||
<Content Include="Images\StoreLogo.png" />
|
||||
<Content Include="Images\Wide310x150Logo.scale-200.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\SkiaSharpSample\SkiaSharpSample.csproj">
|
||||
<SkipGetTargetFrameworkProperties>True</SkipGetTargetFrameworkProperties>
|
||||
<PublishProfile>Properties\PublishProfiles\win10-$(Platform).pubxml</PublishProfile>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Microsoft.ProjectReunion" Version="[0.5.0]">
|
||||
<IncludeAssets>build</IncludeAssets>
|
||||
</PackageReference>
|
||||
<PackageReference Include="Microsoft.ProjectReunion.WinUI" Version="[0.5.0]">
|
||||
<IncludeAssets>build</IncludeAssets>
|
||||
</PackageReference>
|
||||
</ItemGroup>
|
||||
<Import Project="$(WapProjPath)\Microsoft.DesktopBridge.targets" />
|
||||
</Project>
|
|
@ -0,0 +1,107 @@
|
|||
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio Version 16
|
||||
VisualStudioVersion = 16.0.31025.218
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{C7167F0D-BC9F-4E6E-AFE1-012C56B48DB5}") = "SkiaSharpSample.Package", "SkiaSharpSample.Package\SkiaSharpSample.Package.wapproj", "{8287A10F-D119-4EBF-9CD7-1D697A476D6F}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SkiaSharpSample", "SkiaSharpSample\SkiaSharpSample.csproj", "{71668276-ECDD-49EC-9406-27A9D2676139}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SkiaSharp", "..\..\..\..\binding\SkiaSharp\SkiaSharp.csproj", "{EA2AC287-6FEF-415D-BD33-01287DD11574}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SkiaSharp.Views.WinUI", "..\..\..\..\source\SkiaSharp.Views.WinUI\SkiaSharp.Views.WinUI\SkiaSharp.Views.WinUI.csproj", "{B9E319D8-0A0E-471C-BD01-8015655FBD99}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
Debug|arm64 = Debug|arm64
|
||||
Debug|x64 = Debug|x64
|
||||
Debug|x86 = Debug|x86
|
||||
Release|Any CPU = Release|Any CPU
|
||||
Release|arm64 = Release|arm64
|
||||
Release|x64 = Release|x64
|
||||
Release|x86 = Release|x86
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{8287A10F-D119-4EBF-9CD7-1D697A476D6F}.Debug|Any CPU.ActiveCfg = Debug|x86
|
||||
{8287A10F-D119-4EBF-9CD7-1D697A476D6F}.Debug|arm64.ActiveCfg = Debug|arm64
|
||||
{8287A10F-D119-4EBF-9CD7-1D697A476D6F}.Debug|arm64.Build.0 = Debug|arm64
|
||||
{8287A10F-D119-4EBF-9CD7-1D697A476D6F}.Debug|arm64.Deploy.0 = Debug|arm64
|
||||
{8287A10F-D119-4EBF-9CD7-1D697A476D6F}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{8287A10F-D119-4EBF-9CD7-1D697A476D6F}.Debug|x64.Build.0 = Debug|x64
|
||||
{8287A10F-D119-4EBF-9CD7-1D697A476D6F}.Debug|x64.Deploy.0 = Debug|x64
|
||||
{8287A10F-D119-4EBF-9CD7-1D697A476D6F}.Debug|x86.ActiveCfg = Debug|x86
|
||||
{8287A10F-D119-4EBF-9CD7-1D697A476D6F}.Debug|x86.Build.0 = Debug|x86
|
||||
{8287A10F-D119-4EBF-9CD7-1D697A476D6F}.Debug|x86.Deploy.0 = Debug|x86
|
||||
{8287A10F-D119-4EBF-9CD7-1D697A476D6F}.Release|Any CPU.ActiveCfg = Release|x86
|
||||
{8287A10F-D119-4EBF-9CD7-1D697A476D6F}.Release|arm64.ActiveCfg = Release|arm64
|
||||
{8287A10F-D119-4EBF-9CD7-1D697A476D6F}.Release|arm64.Build.0 = Release|arm64
|
||||
{8287A10F-D119-4EBF-9CD7-1D697A476D6F}.Release|arm64.Deploy.0 = Release|arm64
|
||||
{8287A10F-D119-4EBF-9CD7-1D697A476D6F}.Release|x64.ActiveCfg = Release|x64
|
||||
{8287A10F-D119-4EBF-9CD7-1D697A476D6F}.Release|x64.Build.0 = Release|x64
|
||||
{8287A10F-D119-4EBF-9CD7-1D697A476D6F}.Release|x64.Deploy.0 = Release|x64
|
||||
{8287A10F-D119-4EBF-9CD7-1D697A476D6F}.Release|x86.ActiveCfg = Release|x86
|
||||
{8287A10F-D119-4EBF-9CD7-1D697A476D6F}.Release|x86.Build.0 = Release|x86
|
||||
{8287A10F-D119-4EBF-9CD7-1D697A476D6F}.Release|x86.Deploy.0 = Release|x86
|
||||
{71668276-ECDD-49EC-9406-27A9D2676139}.Debug|Any CPU.ActiveCfg = Debug|x86
|
||||
{71668276-ECDD-49EC-9406-27A9D2676139}.Debug|arm64.ActiveCfg = Debug|arm64
|
||||
{71668276-ECDD-49EC-9406-27A9D2676139}.Debug|arm64.Build.0 = Debug|arm64
|
||||
{71668276-ECDD-49EC-9406-27A9D2676139}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{71668276-ECDD-49EC-9406-27A9D2676139}.Debug|x64.Build.0 = Debug|x64
|
||||
{71668276-ECDD-49EC-9406-27A9D2676139}.Debug|x86.ActiveCfg = Debug|x86
|
||||
{71668276-ECDD-49EC-9406-27A9D2676139}.Debug|x86.Build.0 = Debug|x86
|
||||
{71668276-ECDD-49EC-9406-27A9D2676139}.Release|Any CPU.ActiveCfg = Release|x86
|
||||
{71668276-ECDD-49EC-9406-27A9D2676139}.Release|arm64.ActiveCfg = Release|arm64
|
||||
{71668276-ECDD-49EC-9406-27A9D2676139}.Release|arm64.Build.0 = Release|arm64
|
||||
{71668276-ECDD-49EC-9406-27A9D2676139}.Release|x64.ActiveCfg = Release|x64
|
||||
{71668276-ECDD-49EC-9406-27A9D2676139}.Release|x64.Build.0 = Release|x64
|
||||
{71668276-ECDD-49EC-9406-27A9D2676139}.Release|x86.ActiveCfg = Release|x86
|
||||
{71668276-ECDD-49EC-9406-27A9D2676139}.Release|x86.Build.0 = Release|x86
|
||||
{EA2AC287-6FEF-415D-BD33-01287DD11574}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{EA2AC287-6FEF-415D-BD33-01287DD11574}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{EA2AC287-6FEF-415D-BD33-01287DD11574}.Debug|arm64.ActiveCfg = Debug|Any CPU
|
||||
{EA2AC287-6FEF-415D-BD33-01287DD11574}.Debug|arm64.Build.0 = Debug|Any CPU
|
||||
{EA2AC287-6FEF-415D-BD33-01287DD11574}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{EA2AC287-6FEF-415D-BD33-01287DD11574}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{EA2AC287-6FEF-415D-BD33-01287DD11574}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{EA2AC287-6FEF-415D-BD33-01287DD11574}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{EA2AC287-6FEF-415D-BD33-01287DD11574}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{EA2AC287-6FEF-415D-BD33-01287DD11574}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{EA2AC287-6FEF-415D-BD33-01287DD11574}.Release|arm64.ActiveCfg = Release|Any CPU
|
||||
{EA2AC287-6FEF-415D-BD33-01287DD11574}.Release|arm64.Build.0 = Release|Any CPU
|
||||
{EA2AC287-6FEF-415D-BD33-01287DD11574}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{EA2AC287-6FEF-415D-BD33-01287DD11574}.Release|x64.Build.0 = Release|Any CPU
|
||||
{EA2AC287-6FEF-415D-BD33-01287DD11574}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{EA2AC287-6FEF-415D-BD33-01287DD11574}.Release|x86.Build.0 = Release|Any CPU
|
||||
{B9E319D8-0A0E-471C-BD01-8015655FBD99}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{B9E319D8-0A0E-471C-BD01-8015655FBD99}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{B9E319D8-0A0E-471C-BD01-8015655FBD99}.Debug|Any CPU.Deploy.0 = Debug|Any CPU
|
||||
{B9E319D8-0A0E-471C-BD01-8015655FBD99}.Debug|arm64.ActiveCfg = Debug|Any CPU
|
||||
{B9E319D8-0A0E-471C-BD01-8015655FBD99}.Debug|arm64.Build.0 = Debug|Any CPU
|
||||
{B9E319D8-0A0E-471C-BD01-8015655FBD99}.Debug|arm64.Deploy.0 = Debug|Any CPU
|
||||
{B9E319D8-0A0E-471C-BD01-8015655FBD99}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{B9E319D8-0A0E-471C-BD01-8015655FBD99}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{B9E319D8-0A0E-471C-BD01-8015655FBD99}.Debug|x64.Deploy.0 = Debug|Any CPU
|
||||
{B9E319D8-0A0E-471C-BD01-8015655FBD99}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{B9E319D8-0A0E-471C-BD01-8015655FBD99}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{B9E319D8-0A0E-471C-BD01-8015655FBD99}.Debug|x86.Deploy.0 = Debug|Any CPU
|
||||
{B9E319D8-0A0E-471C-BD01-8015655FBD99}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{B9E319D8-0A0E-471C-BD01-8015655FBD99}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{B9E319D8-0A0E-471C-BD01-8015655FBD99}.Release|Any CPU.Deploy.0 = Release|Any CPU
|
||||
{B9E319D8-0A0E-471C-BD01-8015655FBD99}.Release|arm64.ActiveCfg = Release|Any CPU
|
||||
{B9E319D8-0A0E-471C-BD01-8015655FBD99}.Release|arm64.Build.0 = Release|Any CPU
|
||||
{B9E319D8-0A0E-471C-BD01-8015655FBD99}.Release|arm64.Deploy.0 = Release|Any CPU
|
||||
{B9E319D8-0A0E-471C-BD01-8015655FBD99}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{B9E319D8-0A0E-471C-BD01-8015655FBD99}.Release|x64.Build.0 = Release|Any CPU
|
||||
{B9E319D8-0A0E-471C-BD01-8015655FBD99}.Release|x64.Deploy.0 = Release|Any CPU
|
||||
{B9E319D8-0A0E-471C-BD01-8015655FBD99}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{B9E319D8-0A0E-471C-BD01-8015655FBD99}.Release|x86.Build.0 = Release|Any CPU
|
||||
{B9E319D8-0A0E-471C-BD01-8015655FBD99}.Release|x86.Deploy.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||
SolutionGuid = {F5AABA3E-0272-4E88-A2B4-BD422E83400E}
|
||||
EndGlobalSection
|
||||
EndGlobal
|
|
@ -0,0 +1,15 @@
|
|||
<Application
|
||||
x:Class="SkiaSharpSample.App"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:local="using:SkiaSharpSample">
|
||||
<Application.Resources>
|
||||
<ResourceDictionary>
|
||||
<ResourceDictionary.MergedDictionaries>
|
||||
<XamlControlsResources xmlns="using:Microsoft.UI.Xaml.Controls" />
|
||||
<!-- Other merged dictionaries here -->
|
||||
</ResourceDictionary.MergedDictionaries>
|
||||
<!-- Other app resources here -->
|
||||
</ResourceDictionary>
|
||||
</Application.Resources>
|
||||
</Application>
|
|
@ -0,0 +1,20 @@
|
|||
using Microsoft.UI.Xaml;
|
||||
|
||||
namespace SkiaSharpSample
|
||||
{
|
||||
public partial class App : Application
|
||||
{
|
||||
private Window window;
|
||||
|
||||
public App()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
protected override void OnLaunched(LaunchActivatedEventArgs args)
|
||||
{
|
||||
window = new MainWindow();
|
||||
window.Activate();
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,13 @@
|
|||
<Window
|
||||
x:Class="SkiaSharpSample.MainWindow"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:local="using:SkiaSharpSample"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:skia="using:SkiaSharp.Views.Windows"
|
||||
mc:Ignorable="d">
|
||||
|
||||
<skia:SKXamlCanvas PaintSurface="OnPaintSurface" />
|
||||
|
||||
</Window>
|
|
@ -0,0 +1,42 @@
|
|||
using Microsoft.UI.Xaml;
|
||||
using SkiaSharp;
|
||||
using SkiaSharp.Views.Windows;
|
||||
|
||||
namespace SkiaSharpSample
|
||||
{
|
||||
public sealed partial class MainWindow : Window
|
||||
{
|
||||
public MainWindow()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
private void OnPaintSurface(object sender, SKPaintSurfaceEventArgs e)
|
||||
{
|
||||
// the the canvas and properties
|
||||
var canvas = e.Surface.Canvas;
|
||||
|
||||
// get the screen density for scaling
|
||||
var scale = (float)((SKXamlCanvas)sender).XamlRoot.RasterizationScale;
|
||||
var scaledSize = new SKSize(e.Info.Width / scale, e.Info.Height / scale);
|
||||
|
||||
// handle the device screen density
|
||||
canvas.Scale(scale);
|
||||
|
||||
// make sure the canvas is blank
|
||||
canvas.Clear(SKColors.White);
|
||||
|
||||
// draw some text
|
||||
var paint = new SKPaint
|
||||
{
|
||||
Color = SKColors.Black,
|
||||
IsAntialias = true,
|
||||
Style = SKPaintStyle.Fill,
|
||||
TextAlign = SKTextAlign.Center,
|
||||
TextSize = 24
|
||||
};
|
||||
var coord = new SKPoint(scaledSize.Width / 2, (scaledSize.Height + paint.TextSize) / 2);
|
||||
canvas.DrawText("SkiaSharp", coord, paint);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,29 @@
|
|||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<OutputType>WinExe</OutputType>
|
||||
<TargetFramework>net5.0-windows10.0.19041.0</TargetFramework>
|
||||
<TargetPlatformMinVersion>10.0.17763.0</TargetPlatformMinVersion>
|
||||
<RootNamespace>SkiaSharpSample</RootNamespace>
|
||||
<ApplicationManifest>app.manifest</ApplicationManifest>
|
||||
<Platforms>x86;x64;arm64</Platforms>
|
||||
<RuntimeIdentifiers>win10-x86;win10-x64;win10-arm64</RuntimeIdentifiers>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Microsoft.ProjectReunion" Version="0.5.0" />
|
||||
<PackageReference Include="Microsoft.ProjectReunion.Foundation" Version="0.5.0" />
|
||||
<PackageReference Include="Microsoft.ProjectReunion.WinUI" Version="0.5.0" />
|
||||
<Manifest Include="$(ApplicationManifest)" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\..\..\..\binding\SkiaSharp\SkiaSharp.csproj" />
|
||||
<ProjectReference Include="..\..\..\..\..\source\SkiaSharp.Views.WinUI\SkiaSharp.Views.WinUI\SkiaSharp.Views.WinUI.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Content Include="..\..\..\..\..\output\native\windows\$(Platform)\libSkiaSharp.dll" Condition="Exists('..\..\..\..\..\output\native\windows\$(Platform)\libSkiaSharp.dll')" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
|
@ -0,0 +1,15 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<assemblyIdentity version="1.0.0.0" name="SkiaSharpSample.app"/>
|
||||
|
||||
<application xmlns="urn:schemas-microsoft-com:asm.v3">
|
||||
<windowsSettings>
|
||||
<!-- The combination of below two tags have the following effect:
|
||||
1) Per-Monitor for >= Windows 10 Anniversary Update
|
||||
2) System < Windows 10 Anniversary Update
|
||||
-->
|
||||
<dpiAware xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">true/PM</dpiAware>
|
||||
<dpiAwareness xmlns="http://schemas.microsoft.com/SMI/2016/WindowsSettings">PerMonitorV2, PerMonitor</dpiAwareness>
|
||||
</windowsSettings>
|
||||
</application>
|
||||
</assembly>
|
|
@ -0,0 +1,8 @@
|
|||
<Project>
|
||||
|
||||
<!-- workaround for conflict between WinUI and net6 https://devdiv.visualstudio.com/DevDiv/_workitems/edit/1307712 -->
|
||||
<PropertyGroup Condition="$(MSBuildProjectFile.EndsWith('.wapproj'))">
|
||||
<SkipImportNetSdk>true</SkipImportNetSdk>
|
||||
</PropertyGroup>
|
||||
|
||||
</Project>
|
|
@ -0,0 +1,12 @@
|
|||
<Project>
|
||||
|
||||
<!-- workaround for https://github.com/microsoft/ProjectReunion/pull/707 -->
|
||||
<Target Name="Net6WinUIWorkaround"
|
||||
BeforeTargets="_GetSdkToolsPathsFromSdk"
|
||||
Condition="$(TargetFramework.Contains('-windows')) == true ">
|
||||
<PropertyGroup>
|
||||
<TargetPlatformIdentifierAdjusted>UAP</TargetPlatformIdentifierAdjusted>
|
||||
</PropertyGroup>
|
||||
</Target>
|
||||
|
||||
</Project>
|
|
@ -2,7 +2,6 @@
|
|||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>netstandard2.0</TargetFramework>
|
||||
<DefineConstants>$(DefineConstants);NET_STANDARD</DefineConstants>
|
||||
<LangVersion>8.0</LangVersion>
|
||||
</PropertyGroup>
|
||||
|
||||
|
|
|
@ -20,10 +20,11 @@ variables:
|
|||
BUILD_NUMBER: $[counter(format('{0}_{1}_{2}', variables['SKIASHARP_VERSION'], variables['Build.SourceBranch'], variables['PREVIEW_LABEL']), 1)]
|
||||
TIZEN_LINUX_PACKAGES: libxcb-xfixes0 libxcb-render-util0 libwebkitgtk-1.0-0 libxcb-image0 acl libsdl1.2debian libv4l-0 libxcb-randr0 libxcb-shape0 libxcb-icccm4 libsm6 gettext rpm2cpio cpio bridge-utils openvpn
|
||||
MANAGED_LINUX_PACKAGES: ttf-ancient-fonts ninja-build
|
||||
MONO_VERSION_MACOS: 'Latest'
|
||||
MONO_VERSION_MACOS: '6_12_7'
|
||||
MONO_VERSION_LINUX: ''
|
||||
XCODE_VERSION: 12.4
|
||||
DOTNET_VERSION: 3.1.405
|
||||
DOTNET_VERSION_PREVIOUS: 3.1.408
|
||||
DOTNET_VERSION: 5.0.202
|
||||
CONFIGURATION: 'Release'
|
||||
VM_IMAGE_WINDOWS: windows-2019
|
||||
VM_IMAGE_WINDOWS_PREVIOUS: vs2017-win2016
|
||||
|
|
|
@ -99,6 +99,12 @@ jobs:
|
|||
|
||||
# install extra bits for the manged builds
|
||||
- ${{ if not(startsWith(parameters.name, 'native_')) }}:
|
||||
- task: UseDotNet@2
|
||||
inputs:
|
||||
packageType: 'sdk'
|
||||
version: $(DOTNET_VERSION_PREVIOUS)
|
||||
performMultiLevelLookup: true
|
||||
displayName: Install the previous version of .NET Core
|
||||
- task: UseDotNet@2
|
||||
inputs:
|
||||
packageType: 'sdk'
|
||||
|
@ -189,7 +195,7 @@ jobs:
|
|||
# publish artifacts
|
||||
- task: PublishBuildArtifacts@1
|
||||
displayName: Publish the ${{ parameters.name }} artifacts
|
||||
condition: ${{ parameters.shouldPublish }}
|
||||
condition: or(${{ parameters.shouldPublish }}, failed())
|
||||
inputs:
|
||||
artifactName: ${{ parameters.name }}
|
||||
pathToPublish: 'output'
|
||||
|
|
|
@ -13,7 +13,6 @@
|
|||
<SignAssembly>true</SignAssembly>
|
||||
<SkiaSharpBuildPropsImported>true</SkiaSharpBuildPropsImported>
|
||||
<MDocDocumentationDirectory>$(MSBuildThisFileDirectory)..\docs\SkiaSharpAPI</MDocDocumentationDirectory>
|
||||
<GenerateAssemblyInfo>False</GenerateAssemblyInfo>
|
||||
<LangVersion>8.0</LangVersion>
|
||||
</PropertyGroup>
|
||||
|
||||
|
@ -31,10 +30,15 @@
|
|||
<DependsOnNETStandard>true</DependsOnNETStandard>
|
||||
</PropertyGroup>
|
||||
|
||||
<!-- workaround for conflict between WinUI and net6 https://devdiv.visualstudio.com/DevDiv/_workitems/edit/1307712 -->
|
||||
<PropertyGroup Condition="$(MSBuildProjectFile.EndsWith('.wapproj'))">
|
||||
<SkipImportNetSdk>true</SkipImportNetSdk>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup>
|
||||
<IsWindows Condition="'$([System.Runtime.InteropServices.RuntimeInformation]::IsOSPlatform($([System.Runtime.InteropServices.OSPlatform]::Windows)))' == 'true'">true</IsWindows>
|
||||
<IsMacOS Condition="'$([System.Runtime.InteropServices.RuntimeInformation]::IsOSPlatform($([System.Runtime.InteropServices.OSPlatform]::OSX)))' == 'true'">true</IsMacOS>
|
||||
<IsLinux Condition="'$([System.Runtime.InteropServices.RuntimeInformation]::IsOSPlatform($([System.Runtime.InteropServices.OSPlatform]::Linux)))' == 'true'">true</IsLinux>
|
||||
<IsWindows>$([System.Runtime.InteropServices.RuntimeInformation]::IsOSPlatform($([System.Runtime.InteropServices.OSPlatform]::Windows)))</IsWindows>
|
||||
<IsMacOS>$([System.Runtime.InteropServices.RuntimeInformation]::IsOSPlatform($([System.Runtime.InteropServices.OSPlatform]::OSX)))</IsMacOS>
|
||||
<IsLinux>$([System.Runtime.InteropServices.RuntimeInformation]::IsOSPlatform($([System.Runtime.InteropServices.OSPlatform]::Linux)))</IsLinux>
|
||||
</PropertyGroup>
|
||||
|
||||
<Target Name="PrintRID"
|
||||
|
@ -47,7 +51,7 @@
|
|||
Condition=" '$(IsLinux)' == 'true' " />
|
||||
|
||||
<Error Text="There appears to be a problem selecting the operating system. IsWindows='$(IsWindows)', IsMacOS='$(IsMacOS)', IsLinux='$(IsLinux)'"
|
||||
Condition=" '$(IsWindows)$(IsMacOS)$(IsLinux)' != 'true' " />
|
||||
Condition=" !$(IsWindows) and !$(IsMacOS) and !$(IsLinux) " />
|
||||
</Target>
|
||||
|
||||
</Project>
|
|
@ -14,7 +14,6 @@
|
|||
<KeyFileName Condition=" '$(KeyFileName)' == '' ">mono.snk</KeyFileName>
|
||||
<AssemblyOriginatorKeyFile>$(MSBuildThisFileDirectory)..\$(KeyFileName)</AssemblyOriginatorKeyFile>
|
||||
|
||||
<GenerateAssemblyVersionInfo Condition=" '$(GenerateAssemblyVersionInfo)' == '' ">true</GenerateAssemblyVersionInfo>
|
||||
<AssemblyVersionGitSha Condition=" '$(AssemblyVersionGitSha)' == '' ">$(GIT_SHA)</AssemblyVersionGitSha>
|
||||
<AssemblyVersionGitSha Condition=" '$(AssemblyVersionGitSha)' == '' ">$(GIT_COMMIT)</AssemblyVersionGitSha>
|
||||
|
||||
|
@ -25,6 +24,10 @@
|
|||
<GenerateAssemblyInformationalVersionAttribute>false</GenerateAssemblyInformationalVersionAttribute>
|
||||
<GenerateAssemblyVersionAttribute>false</GenerateAssemblyVersionAttribute>
|
||||
<GenerateAssemblyFileVersionAttribute>false</GenerateAssemblyFileVersionAttribute>
|
||||
<GenerateAssemblyCompanyAttribute>false</GenerateAssemblyCompanyAttribute>
|
||||
<GenerateAssemblyConfigurationAttribute>false</GenerateAssemblyConfigurationAttribute>
|
||||
<GenerateAssemblyTitleAttribute>false</GenerateAssemblyTitleAttribute>
|
||||
<GenerateAssemblyProductAttribute>false</GenerateAssemblyProductAttribute>
|
||||
|
||||
<!--
|
||||
Ignore this message:
|
||||
|
@ -33,25 +36,33 @@
|
|||
assembly was compiled for project '<project name>'. Connect to a Mac Server and try again to build the full
|
||||
application.
|
||||
-->
|
||||
<MSBuildWarningsAsMessages>VSX1000</MSBuildWarningsAsMessages>
|
||||
<MSBuildWarningsAsMessages>$(MSBuildWarningsAsMessages);VSX1000</MSBuildWarningsAsMessages>
|
||||
<!--
|
||||
Ignore this message:
|
||||
Warning MSB9004
|
||||
ManifestResourceWithNoCulture item type is deprecated. Emit EmbeddedResource items instead, with metadata
|
||||
WithCulture='false', Type='Resx', and optional LogicalName.
|
||||
-->
|
||||
<MSBuildWarningsAsMessages>MSB9004</MSBuildWarningsAsMessages>
|
||||
<MSBuildWarningsAsMessages>$(MSBuildWarningsAsMessages);MSB9004</MSBuildWarningsAsMessages>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup>
|
||||
<PackagingPlatform Condition=" '$(PackagingPlatform)' == '' ">$(TargetFramework)</PackagingPlatform>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="mdoc" Version="5.7.4.10" PrivateAssets="All" />
|
||||
<PackageReference Include="Xamarin.Build.TypeRedirector" Version="0.1.2-preview" PrivateAssets="All" />
|
||||
<ItemGroup Condition=" '$(Configuration)' == 'Release' ">
|
||||
<PackageReference Include="mdoc" Version="5.8.2" PrivateAssets="All" GeneratePathProperty="true" />
|
||||
</ItemGroup>
|
||||
|
||||
<!-- workaround for https://github.com/microsoft/ProjectReunion/pull/707 -->
|
||||
<Target Name="Net6WinUIWorkaround"
|
||||
BeforeTargets="_GetSdkToolsPathsFromSdk"
|
||||
Condition="$(TargetFramework.Contains('-windows')) == true ">
|
||||
<PropertyGroup>
|
||||
<TargetPlatformIdentifierAdjusted>UAP</TargetPlatformIdentifierAdjusted>
|
||||
</PropertyGroup>
|
||||
</Target>
|
||||
|
||||
<!--
|
||||
===================================================================================================================
|
||||
_GenerateAssemblyVersionInfo
|
||||
|
@ -111,15 +122,14 @@ internal partial class VersionConstants {
|
|||
Sign the assembly using sn.
|
||||
===================================================================================================================
|
||||
-->
|
||||
<PropertyGroup Condition=" '$(SignAssembly)' == 'true' and '$(TargetPath)' != '' ">
|
||||
<_SignAssemblyDependsOn Condition=" '$(TypeRedirectorSkip)' == 'false'">
|
||||
_RedirectMovedTypes
|
||||
</_SignAssemblyDependsOn>
|
||||
<PropertyGroup Condition=" '$(SignAssembly)' == 'true' and '$(TargetPath)' != '' and Exists('$(TargetPath)') ">
|
||||
<_SignAssemblyAfterTargets>
|
||||
CoreCompile
|
||||
</_SignAssemblyAfterTargets>
|
||||
</PropertyGroup>
|
||||
<Target Name="_SignAssembly" AfterTargets="$(_SignAssemblyAfterTargets)" DependsOnTargets="$(_SignAssemblyDependsOn)" Condition=" '$(SignAssembly)' == 'true' and '$(TargetPath)' != '' ">
|
||||
<Target Name="_SignAssembly"
|
||||
AfterTargets="$(_SignAssemblyAfterTargets)"
|
||||
Condition=" '$(SignAssembly)' == 'true' and '$(TargetPath)' != '' and Exists('$(TargetPath)') ">
|
||||
<Exec Command=""$(_SnExePath)" -q -R @(IntermediateAssembly -> '"%(Identity)"') "$(AssemblyOriginatorKeyFile)"" />
|
||||
</Target>
|
||||
|
||||
|
@ -130,12 +140,14 @@ internal partial class VersionConstants {
|
|||
Verify that the output assembly is signed correctly for release.
|
||||
===================================================================================================================
|
||||
-->
|
||||
<PropertyGroup Condition=" '$(SignAssembly)' == 'true' and '$(Configuration)' == 'Release' and '$(TargetPath)' != '' ">
|
||||
<PropertyGroup Condition=" '$(SignAssembly)' == 'true' and '$(Configuration)' == 'Release' and '$(TargetPath)' != '' and Exists('$(TargetPath)') ">
|
||||
<_SignAssemblyVerifyAfterTargets>
|
||||
Build
|
||||
</_SignAssemblyVerifyAfterTargets>
|
||||
</PropertyGroup>
|
||||
<Target Name="_SignAssemblyVerify" AfterTargets="$(_SignAssemblyVerifyAfterTargets)" Condition=" '$(SignAssembly)' == 'true' and '$(Configuration)' == 'Release' and '$(TargetPath)' != '' ">
|
||||
<Target Name="_SignAssemblyVerify"
|
||||
AfterTargets="$(_SignAssemblyVerifyAfterTargets)"
|
||||
Condition=" '$(SignAssembly)' == 'true' and '$(Configuration)' == 'Release' and '$(TargetPath)' != '' and Exists('$(TargetPath)') ">
|
||||
<Exec Command=""$(_SnExePath)" -vf "$(TargetPath)"" />
|
||||
</Target>
|
||||
|
||||
|
@ -195,17 +207,14 @@ internal partial class VersionConstants {
|
|||
This runs during the build phase.
|
||||
===================================================================================================================
|
||||
-->
|
||||
<PropertyGroup Condition=" '$(SkipMDocGenerateDocs)' != 'true' ">
|
||||
<PropertyGroup Condition=" '$(SkipMDocGenerateDocs)' != 'true' and '$(Configuration)' == 'Release' ">
|
||||
<MDocGenerateDocsAfterTargets>
|
||||
CoreCompile
|
||||
</MDocGenerateDocsAfterTargets>
|
||||
</PropertyGroup>
|
||||
<Target Name="_MDocGenerateDocsDep">
|
||||
<PropertyGroup>
|
||||
<MDocVersion Condition=" '%(Identity)' == 'mdoc' ">@(PackageReference -> '%(Version)')</MDocVersion>
|
||||
<MDocPackagePath Condition=" '%(Name)' == 'mdoc' ">@(PackageDefinitions -> '%(ResolvedPath)')</MDocPackagePath>
|
||||
<MDocPackagePath Condition=" '$(MDocPackagePath)' == '' ">$(NuGetPackageRoot)\mdoc\$(MDocVersion)</MDocPackagePath>
|
||||
<MDocToolPath>$(MDocPackagePath)\tools\mdoc.exe</MDocToolPath>
|
||||
<MDocToolPath>$(Pkgmdoc)\tools\mdoc.exe</MDocToolPath>
|
||||
<MDocOutputName>$(TargetName).xml</MDocOutputName>
|
||||
<MDocOutputPath>$(TargetDir)$(MDocOutputName)</MDocOutputPath>
|
||||
<MDocIntermediateOutputPath>$(IntermediateOutputPath)mdoc\</MDocIntermediateOutputPath>
|
||||
|
@ -215,7 +224,7 @@ internal partial class VersionConstants {
|
|||
<_MDocInputs Include="$(MDocDocumentationDirectory)\**\*" />
|
||||
</ItemGroup>
|
||||
</Target>
|
||||
<Target Name="MDocGenerateDocs" Condition=" '$(SkipMDocGenerateDocs)' != 'true' "
|
||||
<Target Name="MDocGenerateDocs" Condition=" '$(SkipMDocGenerateDocs)' != 'true' and '$(Configuration)' == 'Release' "
|
||||
AfterTargets="$(MDocGenerateDocsAfterTargets)" DependsOnTargets="_MDocGenerateDocsDep"
|
||||
Inputs="@(_MDocInputs)" Outputs="$(MDocOutputPath)">
|
||||
<MakeDir Directories="$(MDocIntermediateOutputPath)" />
|
||||
|
|
|
@ -5,12 +5,6 @@
|
|||
<AssemblyName>SkiaSharp.HarfBuzz</AssemblyName>
|
||||
<PackagingGroup>SkiaSharp.HarfBuzz</PackagingGroup>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="$(TargetFramework.StartsWith('netstandard'))">
|
||||
<DefineConstants>$(DefineConstants);NET_STANDARD</DefineConstants>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="$(TargetFramework.StartsWith('net4'))">
|
||||
<DefineConstants>$(DefineConstants);__DESKTOP__</DefineConstants>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\..\binding\SkiaSharp\SkiaSharp.csproj" />
|
||||
<ProjectReference Include="..\..\..\binding\HarfBuzzSharp\HarfBuzzSharp.csproj" />
|
||||
|
|
|
@ -5,7 +5,6 @@
|
|||
<RootNamespace>SkiaSharp.Views.Forms</RootNamespace>
|
||||
<SignAssembly>false</SignAssembly>
|
||||
<PackagingGroup>SkiaSharp.Views.Forms</PackagingGroup>
|
||||
<DefineConstants>$(DefineConstants);NET_STANDARD</DefineConstants>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Xamarin.Forms" Version="4.5.0.725" />
|
||||
|
|
|
@ -0,0 +1,101 @@
|
|||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using Windows.Storage.Streams;
|
||||
using WinRT;
|
||||
using WinRT.Interop;
|
||||
|
||||
namespace SkiaSharp.Views.Windows
|
||||
{
|
||||
[WindowsRuntimeType("Windows.Foundation.UniversalApiContract")]
|
||||
[Guid("905a0fef-bc53-11df-8c49-001e4fc686da")]
|
||||
internal interface IBufferByteAccess
|
||||
{
|
||||
IntPtr Buffer { get; }
|
||||
}
|
||||
|
||||
internal static class Utils
|
||||
{
|
||||
internal static IntPtr GetByteBuffer(this IBuffer buffer)
|
||||
{
|
||||
var byteBuffer = buffer.As<IBufferByteAccess>();
|
||||
if (byteBuffer == null)
|
||||
throw new InvalidCastException("Unable to convert WriteableBitmap.PixelBuffer to IBufferByteAccess.");
|
||||
|
||||
return byteBuffer.Buffer;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
namespace ABI.SkiaSharp.Views.Windows
|
||||
{
|
||||
[DynamicInterfaceCastableImplementation]
|
||||
[Guid("905a0fef-bc53-11df-8c49-001e4fc686da")]
|
||||
internal interface IBufferByteAccess : global::SkiaSharp.Views.Windows.IBufferByteAccess
|
||||
{
|
||||
public struct VftblPtr
|
||||
{
|
||||
public IntPtr Vftbl;
|
||||
}
|
||||
|
||||
[Guid("905a0fef-bc53-11df-8c49-001e4fc686da")]
|
||||
public struct Vftbl
|
||||
{
|
||||
public delegate int GetBufferDelegate(IntPtr thisPtr, out IntPtr buffer);
|
||||
|
||||
internal IUnknownVftbl IUnknownVftbl;
|
||||
public GetBufferDelegate getBuffer;
|
||||
|
||||
static unsafe Vftbl()
|
||||
{
|
||||
AbiToProjectionVftable = new Vftbl
|
||||
{
|
||||
IUnknownVftbl = IUnknownVftbl.AbiToProjectionVftbl,
|
||||
getBuffer = DoAbiGetBuffer
|
||||
};
|
||||
var nativeVftbl = (IntPtr*)Marshal.AllocCoTaskMem(Marshal.SizeOf<IUnknownVftbl>() + sizeof(IntPtr) * 12);
|
||||
Marshal.StructureToPtr(AbiToProjectionVftable.IUnknownVftbl, (IntPtr)nativeVftbl, false);
|
||||
nativeVftbl[3] = Marshal.GetFunctionPointerForDelegate(AbiToProjectionVftable.getBuffer);
|
||||
AbiToProjectionVftablePtr = (IntPtr)nativeVftbl;
|
||||
}
|
||||
|
||||
public static readonly Vftbl AbiToProjectionVftable;
|
||||
public static readonly IntPtr AbiToProjectionVftablePtr;
|
||||
|
||||
internal unsafe Vftbl(IntPtr ptr)
|
||||
{
|
||||
var vftblPtr = Marshal.PtrToStructure<VftblPtr>(ptr);
|
||||
var vftbl = (IntPtr*)vftblPtr.Vftbl;
|
||||
IUnknownVftbl = Marshal.PtrToStructure<IUnknownVftbl>(vftblPtr.Vftbl);
|
||||
getBuffer = Marshal.GetDelegateForFunctionPointer<GetBufferDelegate>(vftbl[3]);
|
||||
}
|
||||
|
||||
private static int DoAbiGetBuffer(IntPtr thisPtr, out IntPtr buffer)
|
||||
{
|
||||
buffer = default;
|
||||
try
|
||||
{
|
||||
buffer = ComWrappersSupport.FindObject<global::SkiaSharp.Views.Windows.IBufferByteAccess>(thisPtr).Buffer;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
return Marshal.GetHRForException(ex);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
IntPtr global::SkiaSharp.Views.Windows.IBufferByteAccess.Buffer
|
||||
{
|
||||
get
|
||||
{
|
||||
var obj = (ObjectReference<Vftbl>)((IWinRTObject)this).GetObjectReferenceForType(typeof(global::SkiaSharp.Views.Windows.IBufferByteAccess).TypeHandle);
|
||||
var ThisPtr = obj.ThisPtr;
|
||||
Marshal.ThrowExceptionForHR(obj.Vftbl.getBuffer(ThisPtr, out IntPtr buffer));
|
||||
return buffer;
|
||||
}
|
||||
}
|
||||
|
||||
internal static ObjectReference<Vftbl> FromAbi(IntPtr thisPtr) =>
|
||||
ObjectReference<Vftbl>.FromAbi(thisPtr);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,20 @@
|
|||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net5.0-windows10.0.18362</TargetFramework>
|
||||
<TargetPlatformMinVersion>10.0.17763.0</TargetPlatformMinVersion>
|
||||
<RootNamespace>SkiaSharp.Views.Windows</RootNamespace>
|
||||
<AssemblyName>SkiaSharp.Views.Windows</AssemblyName>
|
||||
<PackagingGroup>SkiaSharp.Views.WinUI</PackagingGroup>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Microsoft.ProjectReunion" Version="0.5.0" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\..\binding\SkiaSharp\SkiaSharp.csproj" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="..\..\SkiaSharp.Views\SkiaSharp.Views.Shared\**\*.cs" Link="%(RecursiveDir)%(Filename)%(Extension)" />
|
||||
<Compile Include="..\..\SkiaSharp.Views\SkiaSharp.Views.UWP\**\*.cs" Link="%(RecursiveDir)%(Filename)%(Extension)" Exclude="..\..\SkiaSharp.Views\SkiaSharp.Views.UWP\bin\**;..\..\SkiaSharp.Views\SkiaSharp.Views.UWP\obj\**" />
|
||||
<Compile Remove="..\..\SkiaSharp.Views\SkiaSharp.Views.UWP\Interop\IBufferByteAccess.cs" />
|
||||
</ItemGroup>
|
||||
</Project>
|
|
@ -187,9 +187,9 @@ namespace SkiaSharp.Views.Android
|
|||
return bmp;
|
||||
}
|
||||
|
||||
public static Bitmap ToBitmap(this SKPixmap skiaPixamp)
|
||||
public static Bitmap ToBitmap(this SKPixmap skiaPixmap)
|
||||
{
|
||||
using (var image = SKImage.FromPixels(skiaPixamp))
|
||||
using (var image = SKImage.FromPixels(skiaPixmap))
|
||||
{
|
||||
var bmp = image.ToBitmap();
|
||||
return bmp;
|
||||
|
|
|
@ -1,4 +1,6 @@
|
|||
using System;
|
||||
#pragma warning disable CS0618
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Diagnostics;
|
||||
using System.Threading;
|
||||
|
@ -31,7 +33,7 @@ namespace SkiaSharp.Views.Android
|
|||
#endif
|
||||
partial class GLTextureView : TextureView, TextureView.ISurfaceTextureListener, View.IOnLayoutChangeListener
|
||||
{
|
||||
private const bool EnableLogging = false;
|
||||
internal static bool EnableLogging = false;
|
||||
|
||||
private WeakReference<GLTextureView> thisWeakRef;
|
||||
private GLThread glThread;
|
||||
|
@ -911,10 +913,10 @@ namespace SkiaSharp.Views.Android
|
|||
{
|
||||
eglHelper.Start();
|
||||
}
|
||||
catch (Exception t)
|
||||
catch (Exception)
|
||||
{
|
||||
threadManager.ReleaseEglContextLocked(this);
|
||||
throw t;
|
||||
throw;
|
||||
}
|
||||
haveEglContext = true;
|
||||
createEglContext = true;
|
||||
|
|
|
@ -1,14 +1,9 @@
|
|||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
<PropertyGroup>
|
||||
<TargetFrameworks>netstandard2.0;net462;netcoreapp3.0</TargetFrameworks>
|
||||
<TargetFrameworks>netstandard2.0;net462;netcoreapp3.1</TargetFrameworks>
|
||||
<RootNamespace>SkiaSharp.Views.Desktop</RootNamespace>
|
||||
<AssemblyName>SkiaSharp.Views.Desktop.Common</AssemblyName>
|
||||
<PackagingGroup>SkiaSharp.Views.Desktop.Common</PackagingGroup>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(TargetFramework)' == 'netstandard2.0'">
|
||||
<DefineConstants>$(DefineConstants);__DESKTOP__;NET_STANDARD</DefineConstants>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(TargetFramework)' != 'netstandard2.0'">
|
||||
<DefineConstants>$(DefineConstants);__DESKTOP__</DefineConstants>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
|
@ -17,7 +12,7 @@
|
|||
<ItemGroup>
|
||||
<Compile Include="..\SkiaSharp.Views.Shared\**\*.cs" Link="%(RecursiveDir)%(Filename)%(Extension)" />
|
||||
</ItemGroup>
|
||||
<ItemGroup Condition="'$(TargetFramework)' == 'netcoreapp3.0'">
|
||||
<ItemGroup>
|
||||
<PackageReference Include="System.Drawing.Common" Version="4.5.1" />
|
||||
</ItemGroup>
|
||||
</Project>
|
|
@ -1,4 +1,5 @@
|
|||
using System;
|
||||
|
||||
#if WINDOWS_UWP || HAS_UNO
|
||||
namespace SkiaSharp.Views.UWP
|
||||
#elif __ANDROID__
|
||||
|
@ -15,6 +16,8 @@ namespace SkiaSharp.Views.Desktop
|
|||
namespace SkiaSharp.Views.Mac
|
||||
#elif __TIZEN__
|
||||
namespace SkiaSharp.Views.Tizen
|
||||
#elif WINDOWS
|
||||
namespace SkiaSharp.Views.Windows
|
||||
#endif
|
||||
{
|
||||
public static class Extensions
|
||||
|
@ -106,7 +109,7 @@ namespace SkiaSharp.Views.Tizen
|
|||
return new System.Drawing.Size(size.Width, size.Height);
|
||||
}
|
||||
|
||||
#if __DESKTOP__ && !NET_STANDARD
|
||||
#if __DESKTOP__
|
||||
|
||||
// System.Drawing.Bitmap
|
||||
|
||||
|
|
|
@ -13,7 +13,7 @@ namespace SkiaSharp.Views.GlesInterop
|
|||
private const string libGLESv2 = "opengl32.dll";
|
||||
#elif __ANDROID__
|
||||
private const string libGLESv2 = "libGLESv2.so";
|
||||
#elif WINDOWS_UWP
|
||||
#elif WINDOWS_UWP || WINDOWS
|
||||
private const string libGLESv2 = "libGLESv2.dll";
|
||||
#elif __TIZEN__
|
||||
private const string libGLESv2 = "libGLESv2.so";
|
||||
|
|
|
@ -16,6 +16,8 @@ namespace SkiaSharp.Views.Desktop
|
|||
namespace SkiaSharp.Views.Mac
|
||||
#elif __TIZEN__
|
||||
namespace SkiaSharp.Views.Tizen
|
||||
#elif WINDOWS
|
||||
namespace SkiaSharp.Views.Windows
|
||||
#endif
|
||||
{
|
||||
public class SKPaintGLSurfaceEventArgs : EventArgs
|
||||
|
|
|
@ -16,6 +16,8 @@ namespace SkiaSharp.Views.Desktop
|
|||
namespace SkiaSharp.Views.Mac
|
||||
#elif __TIZEN__
|
||||
namespace SkiaSharp.Views.Tizen
|
||||
#elif WINDOWS
|
||||
namespace SkiaSharp.Views.Windows
|
||||
#endif
|
||||
{
|
||||
public class SKPaintSurfaceEventArgs : EventArgs
|
||||
|
|
|
@ -1,4 +1,6 @@
|
|||
using System;
|
||||
#if !WINDOWS
|
||||
|
||||
using System;
|
||||
using SkiaSharp.Views.GlesInterop;
|
||||
using Windows.ApplicationModel;
|
||||
using Windows.Foundation;
|
||||
|
@ -8,7 +10,11 @@ using Windows.UI.Xaml;
|
|||
using Windows.UI.Xaml.Controls;
|
||||
using Windows.UI.Xaml.Data;
|
||||
|
||||
#if WINDOWS
|
||||
namespace SkiaSharp.Views.Windows
|
||||
#else
|
||||
namespace SkiaSharp.Views.UWP
|
||||
#endif
|
||||
{
|
||||
public class AngleSwapChainPanel : SwapChainPanel
|
||||
{
|
||||
|
@ -293,3 +299,5 @@ namespace SkiaSharp.Views.UWP
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
||||
|
|
|
@ -1,10 +1,19 @@
|
|||
using System;
|
||||
using Windows.Foundation;
|
||||
using Windows.Foundation.Collections;
|
||||
using Windows.UI.Xaml.Controls;
|
||||
using System.Collections.Generic;
|
||||
|
||||
using SkiaSharp.Views.UWP.Interop;
|
||||
#if WINDOWS
|
||||
using Microsoft.UI.Xaml.Controls;
|
||||
#else
|
||||
using Windows.UI.Xaml.Controls;
|
||||
#endif
|
||||
|
||||
#if WINDOWS
|
||||
using SkiaSharp.Views.Windows;
|
||||
#else
|
||||
using SkiaSharp.Views.UWP;
|
||||
#endif
|
||||
|
||||
using EGLDisplay = System.IntPtr;
|
||||
using EGLContext = System.IntPtr;
|
||||
|
|
|
@ -1,7 +1,8 @@
|
|||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
using Windows.Storage.Streams;
|
||||
|
||||
namespace SkiaSharp.Views.UWP.Interop
|
||||
namespace SkiaSharp.Views.UWP
|
||||
{
|
||||
[ComImport]
|
||||
[Guid("905a0fef-bc53-11df-8c49-001e4fc686da")]
|
||||
|
@ -10,4 +11,20 @@ namespace SkiaSharp.Views.UWP.Interop
|
|||
{
|
||||
long Buffer([Out] out IntPtr value);
|
||||
}
|
||||
|
||||
internal static class Utils
|
||||
{
|
||||
internal static IntPtr GetByteBuffer(this IBuffer buffer)
|
||||
{
|
||||
var byteBuffer = buffer as IBufferByteAccess;
|
||||
if (byteBuffer == null)
|
||||
throw new InvalidCastException("Unable to convert WriteableBitmap.PixelBuffer to IBufferByteAccess.");
|
||||
|
||||
var hr = byteBuffer.Buffer(out var ptr);
|
||||
if (hr < 0)
|
||||
throw new InvalidCastException("Unable to retrieve pixel address from WriteableBitmap.PixelBuffer.");
|
||||
|
||||
return ptr;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -2,7 +2,11 @@
|
|||
using Windows.Foundation;
|
||||
using Windows.Foundation.Collections;
|
||||
|
||||
namespace SkiaSharp.Views.UWP.Interop
|
||||
#if WINDOWS
|
||||
namespace SkiaSharp.Views.Windows
|
||||
#else
|
||||
namespace SkiaSharp.Views.UWP
|
||||
#endif
|
||||
{
|
||||
internal static class PropertySetExtensions
|
||||
{
|
||||
|
|
|
@ -1,8 +1,14 @@
|
|||
using System;
|
||||
#if !WINDOWS
|
||||
|
||||
using System;
|
||||
using SkiaSharp.Views.GlesInterop;
|
||||
using Windows.Foundation;
|
||||
|
||||
#if WINDOWS
|
||||
namespace SkiaSharp.Views.Windows
|
||||
#else
|
||||
namespace SkiaSharp.Views.UWP
|
||||
#endif
|
||||
{
|
||||
public class SKSwapChainPanel : AngleSwapChainPanel
|
||||
{
|
||||
|
@ -119,3 +125,5 @@ namespace SkiaSharp.Views.UWP
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
||||
|
|
|
@ -1,14 +1,28 @@
|
|||
using System;
|
||||
using Windows.ApplicationModel;
|
||||
using Windows.Graphics.Display;
|
||||
|
||||
#if WINDOWS
|
||||
using Microsoft.System;
|
||||
using Microsoft.UI.Xaml;
|
||||
using Microsoft.UI.Xaml.Controls;
|
||||
using Microsoft.UI.Xaml.Data;
|
||||
using Microsoft.UI.Xaml.Media;
|
||||
using Microsoft.UI.Xaml.Media.Imaging;
|
||||
#else
|
||||
using Windows.UI.Core;
|
||||
using Windows.UI.Xaml;
|
||||
using Windows.UI.Xaml.Controls;
|
||||
using Windows.UI.Xaml.Data;
|
||||
using Windows.UI.Xaml.Media;
|
||||
using Windows.UI.Xaml.Media.Imaging;
|
||||
#endif
|
||||
|
||||
#if WINDOWS
|
||||
namespace SkiaSharp.Views.Windows
|
||||
#else
|
||||
namespace SkiaSharp.Views.UWP
|
||||
#endif
|
||||
{
|
||||
public partial class SKXamlCanvas : Canvas
|
||||
{
|
||||
|
@ -34,8 +48,10 @@ namespace SkiaSharp.Views.UWP
|
|||
if (designMode)
|
||||
return;
|
||||
|
||||
#if !WINDOWS
|
||||
var display = DisplayInformation.GetForCurrentView();
|
||||
OnDpiChanged(display);
|
||||
#endif
|
||||
|
||||
Loaded += OnLoaded;
|
||||
Unloaded += OnUnloaded;
|
||||
|
@ -79,11 +95,20 @@ namespace SkiaSharp.Views.UWP
|
|||
}
|
||||
}
|
||||
|
||||
#if WINDOWS
|
||||
private void OnXamlRootChanged(XamlRoot xamlRoot = null, XamlRootChangedEventArgs e = null)
|
||||
{
|
||||
var root = xamlRoot ?? XamlRoot;
|
||||
Dpi = root.RasterizationScale;
|
||||
Invalidate();
|
||||
}
|
||||
#else
|
||||
private void OnDpiChanged(DisplayInformation sender, object args = null)
|
||||
{
|
||||
Dpi = sender.LogicalDpi / 96.0f;
|
||||
Invalidate();
|
||||
}
|
||||
#endif
|
||||
|
||||
private void OnSizeChanged(object sender, SizeChangedEventArgs e)
|
||||
{
|
||||
|
@ -96,10 +121,15 @@ namespace SkiaSharp.Views.UWP
|
|||
if (loadUnloadCounter != 1)
|
||||
return;
|
||||
|
||||
#if WINDOWS
|
||||
XamlRoot.Changed += OnXamlRootChanged;
|
||||
OnXamlRootChanged();
|
||||
#else
|
||||
var display = DisplayInformation.GetForCurrentView();
|
||||
display.DpiChanged += OnDpiChanged;
|
||||
|
||||
OnDpiChanged(display);
|
||||
#endif
|
||||
}
|
||||
|
||||
private void OnUnloaded(object sender, RoutedEventArgs e)
|
||||
|
@ -108,15 +138,23 @@ namespace SkiaSharp.Views.UWP
|
|||
if (loadUnloadCounter != 0)
|
||||
return;
|
||||
|
||||
#if WINDOWS
|
||||
XamlRoot.Changed -= OnXamlRootChanged;
|
||||
#else
|
||||
var display = DisplayInformation.GetForCurrentView();
|
||||
display.DpiChanged -= OnDpiChanged;
|
||||
#endif
|
||||
|
||||
FreeBitmap();
|
||||
}
|
||||
|
||||
public void Invalidate()
|
||||
{
|
||||
#if WINDOWS
|
||||
DispatcherQueue.TryEnqueue(DispatcherQueuePriority.Normal, DoInvalidate);
|
||||
#else
|
||||
Dispatcher.RunAsync(CoreDispatcherPriority.Normal, DoInvalidate);
|
||||
#endif
|
||||
}
|
||||
|
||||
private void DoInvalidate()
|
||||
|
|
|
@ -1,15 +1,24 @@
|
|||
using System;
|
||||
using Windows.Foundation;
|
||||
using Windows.UI;
|
||||
using Windows.UI.Xaml.Media.Imaging;
|
||||
|
||||
#if !HAS_UNO
|
||||
using SkiaSharp.Views.UWP.Interop;
|
||||
#if WINDOWS
|
||||
using Microsoft.UI.Xaml.Media.Imaging;
|
||||
#else
|
||||
using Windows.UI.Xaml.Media.Imaging;
|
||||
#endif
|
||||
|
||||
#if WINDOWS
|
||||
namespace SkiaSharp.Views.Windows
|
||||
#else
|
||||
namespace SkiaSharp.Views.UWP
|
||||
#endif
|
||||
{
|
||||
#if WINDOWS
|
||||
public static class WindowsExtensions
|
||||
#else
|
||||
public static class UWPExtensions
|
||||
#endif
|
||||
{
|
||||
// Point
|
||||
|
||||
|
@ -164,19 +173,8 @@ namespace SkiaSharp.Views.UWP
|
|||
}
|
||||
}
|
||||
|
||||
internal static IntPtr GetPixels(this WriteableBitmap bitmap)
|
||||
{
|
||||
var buffer = bitmap.PixelBuffer as IBufferByteAccess;
|
||||
if (buffer == null)
|
||||
throw new InvalidCastException("Unable to convert WriteableBitmap.PixelBuffer to IBufferByteAccess.");
|
||||
|
||||
IntPtr ptr;
|
||||
var hr = buffer.Buffer(out ptr);
|
||||
if (hr < 0)
|
||||
throw new InvalidCastException("Unable to retrieve pixel address from WriteableBitmap.PixelBuffer.");
|
||||
|
||||
return ptr;
|
||||
}
|
||||
internal static IntPtr GetPixels(this WriteableBitmap bitmap) =>
|
||||
bitmap.PixelBuffer.GetByteBuffer();
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<Project Sdk="Microsoft.NET.Sdk.WindowsDesktop">
|
||||
<PropertyGroup>
|
||||
<TargetFrameworks>net462;netcoreapp3.0</TargetFrameworks>
|
||||
<TargetFrameworks>net462;netcoreapp3.1</TargetFrameworks>
|
||||
<UseWpf>true</UseWpf>
|
||||
<RootNamespace>SkiaSharp.Views.WPF</RootNamespace>
|
||||
<AssemblyName>SkiaSharp.Views.WPF</AssemblyName>
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<Project Sdk="Microsoft.NET.Sdk.WindowsDesktop">
|
||||
<PropertyGroup>
|
||||
<TargetFrameworks>net462;netcoreapp3.0</TargetFrameworks>
|
||||
<TargetFrameworks>net462;netcoreapp3.1</TargetFrameworks>
|
||||
<UseWindowsForms>true</UseWindowsForms>
|
||||
<RootNamespace>SkiaSharp.Views.Desktop</RootNamespace>
|
||||
<AssemblyName>SkiaSharp.Views.WindowsForms</AssemblyName>
|
||||
|
|
|
@ -5,7 +5,6 @@
|
|||
<AssemblyName>SkiaSharp.Vulkan.SharpVk</AssemblyName>
|
||||
<SignAssembly>false</SignAssembly>
|
||||
<PackagingGroup>SkiaSharp.Vulkan.SharpVk</PackagingGroup>
|
||||
<DefineConstants>$(DefineConstants);NET_STANDARD</DefineConstants>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<PackageReference Include="SharpVk" Version="0.4.2" />
|
||||
|
|
|
@ -69,6 +69,10 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SkiaSharp.Views.Uno.Wasm",
|
|||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SkiaSharp.Views.Uno.Reference", "SkiaSharp.Views.Uno\SkiaSharp.Views.Uno.Reference\SkiaSharp.Views.Uno.Reference.csproj", "{D5C7D157-609E-4D64-8E42-C1DB0FAA86EB}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SkiaSharp.Views.WinUI", "SkiaSharp.Views.WinUI\SkiaSharp.Views.WinUI\SkiaSharp.Views.WinUI.csproj", "{F50AE765-D9B9-4025-88A8-E8B080D5D624}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "SkiaSharp.Views.WinUI", "SkiaSharp.Views.WinUI", "{32AE56A0-F3E1-4721-9BED-B1F609DEA8E8}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
|
@ -179,6 +183,10 @@ Global
|
|||
{D5C7D157-609E-4D64-8E42-C1DB0FAA86EB}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{D5C7D157-609E-4D64-8E42-C1DB0FAA86EB}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{D5C7D157-609E-4D64-8E42-C1DB0FAA86EB}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{F50AE765-D9B9-4025-88A8-E8B080D5D624}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{F50AE765-D9B9-4025-88A8-E8B080D5D624}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{F50AE765-D9B9-4025-88A8-E8B080D5D624}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{F50AE765-D9B9-4025-88A8-E8B080D5D624}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
|
@ -210,6 +218,7 @@ Global
|
|||
{D35B20BC-838A-4C1E-B427-4269F6387CAB} = {E53351EA-FE40-47D2-B388-4A75DA6CCD71}
|
||||
{F675A841-ECDB-4571-8AA3-7D4642FD57DB} = {E53351EA-FE40-47D2-B388-4A75DA6CCD71}
|
||||
{D5C7D157-609E-4D64-8E42-C1DB0FAA86EB} = {E53351EA-FE40-47D2-B388-4A75DA6CCD71}
|
||||
{F50AE765-D9B9-4025-88A8-E8B080D5D624} = {32AE56A0-F3E1-4721-9BED-B1F609DEA8E8}
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||
SolutionGuid = {63A8C36E-4917-46DB-9AAD-522B8EC00C23}
|
||||
|
|
|
@ -105,6 +105,10 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SkiaSharp.Views.Uno.Wasm",
|
|||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SkiaSharp.Views.Uno.Reference", "SkiaSharp.Views.Uno\SkiaSharp.Views.Uno.Reference\SkiaSharp.Views.Uno.Reference.csproj", "{D5C7D157-609E-4D64-8E42-C1DB0FAA86EB}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "SkiaSharp.Views.WinUI", "SkiaSharp.Views.WinUI", "{6430EC5F-EDA1-4202-AB7B-22ED0496E016}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SkiaSharp.Views.WinUI", "SkiaSharp.Views.WinUI\SkiaSharp.Views.WinUI\SkiaSharp.Views.WinUI.csproj", "{02CA4107-1FC6-4676-B284-9981694A450E}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
|
@ -287,6 +291,10 @@ Global
|
|||
{D5C7D157-609E-4D64-8E42-C1DB0FAA86EB}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{D5C7D157-609E-4D64-8E42-C1DB0FAA86EB}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{D5C7D157-609E-4D64-8E42-C1DB0FAA86EB}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{02CA4107-1FC6-4676-B284-9981694A450E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{02CA4107-1FC6-4676-B284-9981694A450E}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{02CA4107-1FC6-4676-B284-9981694A450E}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{02CA4107-1FC6-4676-B284-9981694A450E}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
|
@ -336,6 +344,7 @@ Global
|
|||
{E0FF9BFF-2253-4486-A8E2-94312D09D056} = {E53351EA-FE40-47D2-B388-4A75DA6CCD71}
|
||||
{047C460D-7470-418C-AF2C-30620A1AF61C} = {E53351EA-FE40-47D2-B388-4A75DA6CCD71}
|
||||
{D5C7D157-609E-4D64-8E42-C1DB0FAA86EB} = {E53351EA-FE40-47D2-B388-4A75DA6CCD71}
|
||||
{02CA4107-1FC6-4676-B284-9981694A450E} = {6430EC5F-EDA1-4202-AB7B-22ED0496E016}
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||
SolutionGuid = {67EACD19-0CEA-4127-9842-549AA6FB84C9}
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
<PropertyGroup>
|
||||
<TargetFramework>netcoreapp3.0</TargetFramework>
|
||||
<DefineConstants>$(DefineConstants);NET_STANDARD;USE_LIBRARY_LOADER</DefineConstants>
|
||||
<TargetFramework>netcoreapp3.1</TargetFramework>
|
||||
<DefineConstants>$(DefineConstants);USE_LIBRARY_LOADER</DefineConstants>
|
||||
<RootNamespace>SkiaSharp.Tests</RootNamespace>
|
||||
<AssemblyName>SkiaSharp.Tests</AssemblyName>
|
||||
<SkipGenerateAssemblyVersionInfo>true</SkipGenerateAssemblyVersionInfo>
|
||||
|
@ -13,7 +13,7 @@
|
|||
<PackageReference Include="xunit.runner.visualstudio" Version="2.4.1" />
|
||||
<PackageReference Include="XunitXml.TestLogger" Version="2.1.26" />
|
||||
<PackageReference Include="xunit.skippablefact" Version="1.3.12" />
|
||||
<PackageReference Include="coverlet.msbuild" Version="2.9.0" />
|
||||
<PackageReference Include="coverlet.msbuild" Version="3.0.3" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\binding\HarfBuzzSharp\HarfBuzzSharp.csproj" />
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
<PropertyGroup>
|
||||
<TargetFramework>netcoreapp3.0</TargetFramework>
|
||||
<DefineConstants>$(DefineConstants);NET_STANDARD</DefineConstants>
|
||||
<TargetFramework>netcoreapp3.1</TargetFramework>
|
||||
<RootNamespace>SkiaSharp.Vulkan.Tests</RootNamespace>
|
||||
<AssemblyName>SkiaSharp.Vulkan.Tests</AssemblyName>
|
||||
<SignAssembly>false</SignAssembly>
|
||||
|
@ -16,7 +15,7 @@
|
|||
<PackageReference Include="xunit.skippablefact" Version="1.3.12" />
|
||||
<PackageReference Include="SharpVk" Version="0.4.2" />
|
||||
<PackageReference Include="SharpVk.Glfw" Version="0.4.1" />
|
||||
<PackageReference Include="coverlet.msbuild" Version="2.9.0" />
|
||||
<PackageReference Include="coverlet.msbuild" Version="3.0.3" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\binding\HarfBuzzSharp\HarfBuzzSharp.csproj" />
|
||||
|
|
|
@ -36,7 +36,7 @@ namespace SkiaSharp.Tests
|
|||
PathToImages = Path.Combine(PathToAssembly, "images");
|
||||
|
||||
// some platforms run the tests from a temporary location, so copy the native files
|
||||
#if !NET_STANDARD && !__ANDROID__ && !__IOS__
|
||||
#if !NETCOREAPP && !__ANDROID__ && !__IOS__
|
||||
var skiaRoot = Path.GetDirectoryName(typeof(SkiaSharp.SKImageInfo).Assembly.Location);
|
||||
var harfRoot = Path.GetDirectoryName(typeof(HarfBuzzSharp.Buffer).Assembly.Location);
|
||||
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
<PropertyGroup>
|
||||
<OutputType>Exe</OutputType>
|
||||
<TargetFramework>netcoreapp3.0</TargetFramework>
|
||||
<TargetFramework>netcoreapp3.1</TargetFramework>
|
||||
<Nullable>enable</Nullable>
|
||||
</PropertyGroup>
|
||||
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
<PropertyGroup>
|
||||
<OutputType>Exe</OutputType>
|
||||
<TargetFramework>netcoreapp3.0</TargetFramework>
|
||||
<TargetFramework>netcoreapp3.1</TargetFramework>
|
||||
<LangVersion>8.0</LangVersion>
|
||||
<AssemblyName>wasm-test</AssemblyName>
|
||||
</PropertyGroup>
|
||||
|
|