Add a Xamarin Workbooks integration
The integration uses the new Xamarin Workbooks SDK and provides some convenience renderers for SKImage, SKBitmap, SKSurface, SKPixmap, and SKColor to aid in using those types in a workbook. With the integration loaded, those Skia objects will be rendered directly in the viewport as images (in the case of the first 4), or as a Workbooks color in the case of SKColor.
This commit is contained in:
Родитель
e635ce8a05
Коммит
aeb3afc0cc
13
build.cake
13
build.cake
|
@ -94,6 +94,7 @@ Task ("libs")
|
|||
if (!DirectoryExists ("./output/mac/")) CreateDirectory ("./output/mac/");
|
||||
if (!DirectoryExists ("./output/netstandard/")) CreateDirectory ("./output/netstandard/");
|
||||
if (!DirectoryExists ("./output/linux/")) CreateDirectory ("./output/linux/");
|
||||
if (!DirectoryExists ("./output/interactive/")) CreateDirectory ("./output/interactive/");
|
||||
|
||||
if (IsRunningOnWindows ()) {
|
||||
// build bindings
|
||||
|
@ -152,6 +153,9 @@ Task ("libs")
|
|||
|
||||
// copy HarfBuzz
|
||||
CopyFileToDirectory ("./source/SkiaSharp.HarfBuzz/SkiaSharp.HarfBuzz/bin/Release/SkiaSharp.HarfBuzz.dll", "./output/portable/");
|
||||
|
||||
// copy Workbooks integration
|
||||
CopyFileToDirectory ("./source/SkiaSharp.Workbooks/bin/Release/SkiaSharp.Workbooks.dll", "./output/interactive/");
|
||||
}
|
||||
|
||||
if (IsRunningOnMac ()) {
|
||||
|
@ -216,6 +220,9 @@ Task ("libs")
|
|||
|
||||
// copy HarfBuzz
|
||||
CopyFileToDirectory ("./source/SkiaSharp.HarfBuzz/SkiaSharp.HarfBuzz/bin/Release/SkiaSharp.HarfBuzz.dll", "./output/portable/");
|
||||
|
||||
// copy Workbooks integration
|
||||
CopyFileToDirectory ("./source/SkiaSharp.Workbooks/bin/Release/SkiaSharp.Workbooks.dll", "./output/interactive/");
|
||||
}
|
||||
|
||||
if (IsRunningOnLinux ()) {
|
||||
|
@ -254,6 +261,9 @@ Task ("libs")
|
|||
|
||||
// copy HarfBuzz
|
||||
CopyFileToDirectory ("./source/SkiaSharp.HarfBuzz/SkiaSharp.HarfBuzz/bin/Release/SkiaSharp.HarfBuzz.dll", "./output/portable/");
|
||||
|
||||
// copy Workbooks integration
|
||||
CopyFileToDirectory ("./source/SkiaSharp.Workbooks/bin/Release/SkiaSharp.Workbooks.dll", "./output/interactive/");
|
||||
}
|
||||
|
||||
// TODO: remove this nonsense !!!
|
||||
|
@ -761,6 +771,9 @@ Task ("set-versions")
|
|||
UpdateAssemblyInfo (
|
||||
"./binding/HarfBuzzSharp.Shared/Properties/HarfBuzzSharpAssemblyInfo.cs",
|
||||
HARFBUZZ_VERSION_ASSEMBLY, HARFBUZZ_VERSION_FILE, sha);
|
||||
UpdateAssemblyInfo (
|
||||
"./source/SkiaSharp.Workbooks/Properties/SkiaSharpWorkbooksAssemblyInfo.cs",
|
||||
VERSION_ASSEMBLY, VERSION_FILE, sha);
|
||||
});
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
|
|
@ -22,5 +22,7 @@
|
|||
<file src="output/docs/msxml/SkiaSharp.xml" target="lib/portable-net45+win8+wpa81+wp8" />
|
||||
<!-- .NET Core -->
|
||||
<file src="output/linux/x64/libSkiaSharp.so" target="runtimes/linux-x64/native/libSkiaSharp.so" />
|
||||
<!-- Workbooks integration -->
|
||||
<file src="output/interactive/SkiaSharp.Workbooks.dll" target="xamarin.interactive/SkiaSharp.Workbooks.dll" />
|
||||
</files>
|
||||
</package>
|
|
@ -38,5 +38,7 @@
|
|||
<!-- .NET Core -->
|
||||
<file src="output/osx/libSkiaSharp.dylib" target="runtimes/osx/native/libSkiaSharp.dylib" />
|
||||
<!-- OS X -->
|
||||
<!-- Workbooks integration -->
|
||||
<file src="output/interactive/SkiaSharp.Workbooks.dll" target="xamarin.interactive/SkiaSharp.Workbooks.dll" />
|
||||
</files>
|
||||
</package>
|
|
@ -40,5 +40,7 @@
|
|||
<file src="output/uwp/x64/libEGL.dll" target="runtimes/win10-x64/nativeassets/uap10.0/libEGL.dll" />
|
||||
<file src="output/uwp/x86/libEGL.dll" target="runtimes/win10-x86/nativeassets/uap10.0/libEGL.dll" />
|
||||
<file src="output/uwp/arm/libEGL.dll" target="runtimes/win10-arm/nativeassets/uap10.0/libEGL.dll" />
|
||||
<!-- Workbooks integration -->
|
||||
<file src="output/interactive/SkiaSharp.Workbooks.dll" target="xamarin.interactive/SkiaSharp.Workbooks.dll" />
|
||||
</files>
|
||||
</package>
|
|
@ -50,5 +50,7 @@
|
|||
<file src="output/uwp/x64/libEGL.dll" target="runtimes/win10-x64/nativeassets/uap10.0/libEGL.dll" />
|
||||
<file src="output/uwp/x86/libEGL.dll" target="runtimes/win10-x86/nativeassets/uap10.0/libEGL.dll" />
|
||||
<file src="output/uwp/arm/libEGL.dll" target="runtimes/win10-arm/nativeassets/uap10.0/libEGL.dll" />
|
||||
<!-- Workbooks integration -->
|
||||
<file src="output/interactive/SkiaSharp.Workbooks.dll" target="xamarin.interactive/SkiaSharp.Workbooks.dll" />
|
||||
</files>
|
||||
</package>
|
|
@ -0,0 +1,17 @@
|
|||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by Cake.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
using System.Reflection;
|
||||
|
||||
[assembly: AssemblyTitle("SkiaSharp.Workbooks")]
|
||||
[assembly: AssemblyDescription("")]
|
||||
[assembly: AssemblyCompany("")]
|
||||
[assembly: AssemblyProduct("SkiaSharp")]
|
||||
[assembly: AssemblyVersion("1.57.0.0")]
|
||||
[assembly: AssemblyFileVersion("1.57.1.0")]
|
||||
[assembly: AssemblyInformationalVersion("1.57.1.0-{GIT_SHA}")]
|
||||
[assembly: AssemblyCopyright("Microsoft")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
|
|
@ -0,0 +1,61 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProjectGuid>{89736865-5272-4A42-A7FB-D802C6345502}</ProjectGuid>
|
||||
<ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
|
||||
<OutputType>Library</OutputType>
|
||||
<RootNamespace>SkiaSharp.Workbooks</RootNamespace>
|
||||
<AssemblyName>SkiaSharp.Workbooks</AssemblyName>
|
||||
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
|
||||
<TargetFrameworkProfile>Profile111</TargetFrameworkProfile>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>bin\Debug</OutputPath>
|
||||
<DefineConstants>DEBUG;</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<AllowUnsafeBlocks>false</AllowUnsafeBlocks>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\Release</OutputPath>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<AllowUnsafeBlocks>false</AllowUnsafeBlocks>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="SkiaWorkbooksIntegration.cs" />
|
||||
<Compile Include="SkiaSharpRepresentationProvider.cs" />
|
||||
<Compile Include="Properties\SkiaSharpWorkbooksAssemblyInfo.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="Xamarin.Interactive">
|
||||
<HintPath>..\packages\Xamarin.Workbooks.Integration.1.0.0-rc1\lib\portable-net45+win8+wpa81\Xamarin.Interactive.dll</HintPath>
|
||||
</Reference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="packages.config" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\binding\SkiaSharp.Portable\SkiaSharp.Portable.csproj">
|
||||
<Project>{7AA90628-2FDD-4585-AF2F-CC51CFA8B52A}</Project>
|
||||
<Name>SkiaSharp.Portable</Name>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\Portable\$(TargetFrameworkVersion)\Microsoft.Portable.CSharp.targets" />
|
||||
<ProjectExtensions>
|
||||
<MonoDevelop>
|
||||
<Properties>
|
||||
<Policies>
|
||||
<TextStylePolicy TabWidth="8" TabsToSpaces="False" IndentWidth="8" RemoveTrailingWhitespace="True" NoTabsAfterNonTabs="False" EolMarker="Native" FileWidth="120" inheritsSet="Mono" inheritsScope="text/plain" scope="text/x-csharp" />
|
||||
<CSharpFormattingPolicy IndentBlock="True" IndentBraces="False" IndentSwitchSection="False" IndentSwitchCaseSection="True" LabelPositioning="OneLess" NewLinesForBracesInTypes="True" NewLinesForBracesInMethods="True" NewLinesForBracesInProperties="False" NewLinesForBracesInAccessors="False" NewLinesForBracesInAnonymousMethods="False" NewLinesForBracesInControlBlocks="False" NewLinesForBracesInAnonymousTypes="False" NewLinesForBracesInObjectCollectionArrayInitializers="False" NewLinesForBracesInLambdaExpressionBody="False" NewLineForElse="False" NewLineForCatch="False" NewLineForFinally="False" NewLineForMembersInObjectInit="False" NewLineForMembersInAnonymousTypes="False" NewLineForClausesInQuery="False" SpacingAfterMethodDeclarationName="True" SpaceWithinMethodDeclarationParenthesis="False" SpaceBetweenEmptyMethodDeclarationParentheses="False" SpaceAfterMethodCallName="True" SpaceWithinMethodCallParentheses="False" SpaceBetweenEmptyMethodCallParentheses="False" SpaceAfterControlFlowStatementKeyword="True" SpaceWithinExpressionParentheses="False" SpaceWithinCastParentheses="False" SpaceWithinOtherParentheses="False" SpaceAfterCast="False" SpacesIgnoreAroundVariableDeclaration="False" SpaceBeforeOpenSquareBracket="True" SpaceBetweenEmptySquareBrackets="False" SpaceWithinSquareBrackets="False" SpaceAfterColonInBaseTypeDeclaration="True" SpaceAfterComma="True" SpaceAfterDot="False" SpaceAfterSemicolonsInForStatement="True" SpaceBeforeColonInBaseTypeDeclaration="True" SpaceBeforeComma="False" SpaceBeforeDot="False" SpaceBeforeSemicolonsInForStatement="False" SpacingAroundBinaryOperator="Single" WrappingPreserveSingleLine="True" WrappingKeepStatementsOnSingleLine="True" PlaceSystemDirectiveFirst="True" inheritsSet="Mono" inheritsScope="text/x-csharp" scope="text/x-csharp" />
|
||||
</Policies>
|
||||
</Properties>
|
||||
</MonoDevelop>
|
||||
</ProjectExtensions>
|
||||
</Project>
|
|
@ -0,0 +1,92 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
|
||||
using Xamarin.Interactive.Logging;
|
||||
using Xamarin.Interactive.Representations;
|
||||
using Xamarin.Interactive.Representations.Reflection;
|
||||
using Xamarin.Interactive.Serialization;
|
||||
|
||||
namespace SkiaSharp.Workbooks
|
||||
{
|
||||
sealed class SkiaSharpRepresentationProvider : RepresentationProvider
|
||||
{
|
||||
public override IEnumerable<object> ProvideRepresentations (object obj)
|
||||
{
|
||||
yield return ProvideSingleRepresentation (obj);
|
||||
}
|
||||
|
||||
public override bool TryConvertFromRepresentation (
|
||||
IRepresentedType representedType,
|
||||
object [] representations,
|
||||
out object represented)
|
||||
{
|
||||
represented = null;
|
||||
|
||||
Color color;
|
||||
if (TryFindMatchingRepresentation<SKColor, Color> (
|
||||
representedType,
|
||||
representations,
|
||||
out color)) {
|
||||
represented = new SKColor (
|
||||
(byte)(color.Red * 255),
|
||||
(byte)(color.Green * 255),
|
||||
(byte)(color.Blue * 255),
|
||||
(byte)(color.Alpha * 255));
|
||||
return true;
|
||||
}
|
||||
return base.TryConvertFromRepresentation (representedType, representations, out represented);
|
||||
}
|
||||
|
||||
ISerializableObject ProvideSingleRepresentation (object obj)
|
||||
{
|
||||
try {
|
||||
var bitmap = obj as SKBitmap;
|
||||
if (bitmap != null)
|
||||
return SKImageToRepresentationImage (SKImage.FromBitmap (bitmap));
|
||||
|
||||
var image = obj as SKImage;
|
||||
if (image != null)
|
||||
return SKImageToRepresentationImage (image);
|
||||
|
||||
var surface = obj as SKSurface;
|
||||
if (surface != null)
|
||||
return SKImageToRepresentationImage (surface.Snapshot ());
|
||||
|
||||
var pixmap = obj as SKPixmap;
|
||||
if (pixmap != null)
|
||||
return ImageFromSKData (
|
||||
pixmap.Encode (SKEncodedImageFormat.Png, 85),
|
||||
pixmap.Width,
|
||||
pixmap.Height);
|
||||
|
||||
if (obj is SKColor) {
|
||||
var color = (SKColor)obj;
|
||||
return new Color (color.Red / 255.0, color.Green / 255.0, color.Blue / 255.0, color.Alpha / 255.0);
|
||||
}
|
||||
|
||||
return null;
|
||||
} catch (Exception e) {
|
||||
Log.Error (
|
||||
nameof (SkiaSharpRepresentationProvider),
|
||||
$"Error while trying to provide representation for {obj.GetType ()}.",
|
||||
e);
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
ISerializableObject SKImageToRepresentationImage (SKImage image)
|
||||
=> ImageFromSKData (image.Encode (), image.Width, image.Height);
|
||||
|
||||
ISerializableObject ImageFromSKData (SKData data, int width, int height)
|
||||
{
|
||||
byte [] pngData;
|
||||
using (var ms = new MemoryStream ()) {
|
||||
data.SaveTo (ms);
|
||||
pngData = ms.ToArray ();
|
||||
}
|
||||
|
||||
return new Image (ImageFormat.Png, pngData, width, height);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,12 @@
|
|||
using Xamarin.Interactive;
|
||||
|
||||
[assembly: AgentIntegration (typeof (SkiaSharp.Workbooks.SkiaWorkbooksIntegration))]
|
||||
|
||||
namespace SkiaSharp.Workbooks
|
||||
{
|
||||
sealed class SkiaWorkbooksIntegration : IAgentIntegration
|
||||
{
|
||||
public void IntegrateWith (IAgent agent)
|
||||
=> agent.RepresentationManager.AddProvider (new SkiaSharpRepresentationProvider ());
|
||||
}
|
||||
}
|
|
@ -0,0 +1,4 @@
|
|||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<packages>
|
||||
<package id="Xamarin.Workbooks.Integration" version="1.0.0-rc1" />
|
||||
</packages>
|
|
@ -29,6 +29,8 @@ Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "SkiaSharp.HarfBuzz.Shared",
|
|||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SkiaSharp.HarfBuzz", "SkiaSharp.HarfBuzz\SkiaSharp.HarfBuzz\SkiaSharp.HarfBuzz.csproj", "{7CAD1912-05A5-42E5-B7BA-81BB051F0566}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SkiaSharp.Workbooks", "SkiaSharp.Workbooks\SkiaSharp.Workbooks.csproj", "{89736865-5272-4A42-A7FB-D802C6345502}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SharedMSBuildProjectFiles) = preSolution
|
||||
SkiaSharp.Svg\SkiaSharp.Svg.Shared\SkiaSharp.Svg.Shared.projitems*{04c4399a-6740-4733-b6b7-f968232a76c8}*SharedItemsImports = 4
|
||||
|
@ -62,6 +64,10 @@ Global
|
|||
{7CAD1912-05A5-42E5-B7BA-81BB051F0566}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{7CAD1912-05A5-42E5-B7BA-81BB051F0566}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{7CAD1912-05A5-42E5-B7BA-81BB051F0566}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{89736865-5272-4A42-A7FB-D802C6345502}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{89736865-5272-4A42-A7FB-D802C6345502}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{89736865-5272-4A42-A7FB-D802C6345502}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{89736865-5272-4A42-A7FB-D802C6345502}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
|
@ -75,5 +81,6 @@ Global
|
|||
{4DFBD9A6-EA81-4E26-9753-A9C7A600EA34} = {815C2429-8C88-4C09-B6AB-A916040F9FEF}
|
||||
{C3E63B2D-95D4-4C3F-B10F-7A0AACF94980} = {87D751FF-6347-40FF-8EC5-7CAD06BD5973}
|
||||
{7CAD1912-05A5-42E5-B7BA-81BB051F0566} = {87D751FF-6347-40FF-8EC5-7CAD06BD5973}
|
||||
{89736865-5272-4A42-A7FB-D802C6345502} = {C335869B-7CC8-4239-B4A5-8031AA9758D3}
|
||||
EndGlobalSection
|
||||
EndGlobal
|
||||
|
|
|
@ -81,6 +81,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HarfBuzzSharp.tvOS", "..\bi
|
|||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HarfBuzzSharp.Android", "..\binding\HarfBuzzSharp.Android\HarfBuzzSharp.Android.csproj", "{E6B786C4-3BF9-4A42-9A4A-08002AE3FDAD}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SkiaSharp.Workbooks", "SkiaSharp.Workbooks\SkiaSharp.Workbooks.csproj", "{89736865-5272-4A42-A7FB-D802C6345502}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SharedMSBuildProjectFiles) = preSolution
|
||||
SkiaSharp.Svg\SkiaSharp.Svg.Shared\SkiaSharp.Svg.Shared.projitems*{04c4399a-6740-4733-b6b7-f968232a76c8}*SharedItemsImports = 4
|
||||
|
@ -210,6 +212,10 @@ Global
|
|||
{E6B786C4-3BF9-4A42-9A4A-08002AE3FDAD}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{E6B786C4-3BF9-4A42-9A4A-08002AE3FDAD}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{E6B786C4-3BF9-4A42-9A4A-08002AE3FDAD}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{89736865-5272-4A42-A7FB-D802C6345502}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{89736865-5272-4A42-A7FB-D802C6345502}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{89736865-5272-4A42-A7FB-D802C6345502}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{89736865-5272-4A42-A7FB-D802C6345502}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
|
@ -247,5 +253,6 @@ Global
|
|||
{30952C22-D566-488F-9D7A-2411B027D6CA} = {56AE868D-7AD9-4DFC-BD27-6BBA8DC9F75A}
|
||||
{8D646738-458A-441F-B69B-253EF058A812} = {56AE868D-7AD9-4DFC-BD27-6BBA8DC9F75A}
|
||||
{E6B786C4-3BF9-4A42-9A4A-08002AE3FDAD} = {56AE868D-7AD9-4DFC-BD27-6BBA8DC9F75A}
|
||||
{89736865-5272-4A42-A7FB-D802C6345502} = {C335869B-7CC8-4239-B4A5-8031AA9758D3}
|
||||
EndGlobalSection
|
||||
EndGlobal
|
||||
|
|
|
@ -61,6 +61,8 @@ Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "SkiaSharp.HarfBuzz.Shared",
|
|||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SkiaSharp.HarfBuzz", "SkiaSharp.HarfBuzz\SkiaSharp.HarfBuzz\SkiaSharp.HarfBuzz.csproj", "{7CAD1912-05A5-42E5-B7BA-81BB051F0566}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SkiaSharp.Workbooks", "SkiaSharp.Workbooks\SkiaSharp.Workbooks.csproj", "{89736865-5272-4A42-A7FB-D802C6345502}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SharedMSBuildProjectFiles) = preSolution
|
||||
SkiaSharp.Svg\SkiaSharp.Svg.Shared\SkiaSharp.Svg.Shared.projitems*{04c4399a-6740-4733-b6b7-f968232a76c8}*SharedItemsImports = 4
|
||||
|
@ -143,6 +145,10 @@ Global
|
|||
{7CAD1912-05A5-42E5-B7BA-81BB051F0566}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{7CAD1912-05A5-42E5-B7BA-81BB051F0566}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{7CAD1912-05A5-42E5-B7BA-81BB051F0566}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{89736865-5272-4A42-A7FB-D802C6345502}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{89736865-5272-4A42-A7FB-D802C6345502}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{89736865-5272-4A42-A7FB-D802C6345502}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{89736865-5272-4A42-A7FB-D802C6345502}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
|
@ -170,5 +176,6 @@ Global
|
|||
{2AE5D8C5-EAC6-4515-89F2-A4994B41C925} = {9F016D5D-C7BF-45C7-BC0C-5A6E721DCF9E}
|
||||
{C3E63B2D-95D4-4C3F-B10F-7A0AACF94980} = {EDCCEA7A-E6CD-4311-B686-41D7CA40DF85}
|
||||
{7CAD1912-05A5-42E5-B7BA-81BB051F0566} = {EDCCEA7A-E6CD-4311-B686-41D7CA40DF85}
|
||||
{89736865-5272-4A42-A7FB-D802C6345502} = {C335869B-7CC8-4239-B4A5-8031AA9758D3}
|
||||
EndGlobalSection
|
||||
EndGlobal
|
||||
|
|
|
@ -105,6 +105,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HarfBuzzSharp.tvOS", "..\bi
|
|||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HarfBuzzSharp.Android", "..\binding\HarfBuzzSharp.Android\HarfBuzzSharp.Android.csproj", "{E6B786C4-3BF9-4A42-9A4A-08002AE3FDAD}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SkiaSharp.Workbooks", "SkiaSharp.Workbooks\SkiaSharp.Workbooks.csproj", "{89736865-5272-4A42-A7FB-D802C6345502}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SharedMSBuildProjectFiles) = preSolution
|
||||
SkiaSharp.Svg\SkiaSharp.Svg.Shared\SkiaSharp.Svg.Shared.projitems*{04c4399a-6740-4733-b6b7-f968232a76c8}*SharedItemsImports = 4
|
||||
|
@ -295,6 +297,10 @@ Global
|
|||
{E6B786C4-3BF9-4A42-9A4A-08002AE3FDAD}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{E6B786C4-3BF9-4A42-9A4A-08002AE3FDAD}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{E6B786C4-3BF9-4A42-9A4A-08002AE3FDAD}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{89736865-5272-4A42-A7FB-D802C6345502}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{89736865-5272-4A42-A7FB-D802C6345502}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{89736865-5272-4A42-A7FB-D802C6345502}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{89736865-5272-4A42-A7FB-D802C6345502}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
|
@ -344,5 +350,6 @@ Global
|
|||
{E8192110-FCF9-4972-9472-7408BC2CA56B} = {2F28C1EB-D020-4A3A-948F-DF0AD0FDCC53}
|
||||
{8D646738-458A-441F-B69B-253EF058A812} = {2F28C1EB-D020-4A3A-948F-DF0AD0FDCC53}
|
||||
{E6B786C4-3BF9-4A42-9A4A-08002AE3FDAD} = {2F28C1EB-D020-4A3A-948F-DF0AD0FDCC53}
|
||||
{89736865-5272-4A42-A7FB-D802C6345502} = {C335869B-7CC8-4239-B4A5-8031AA9758D3}
|
||||
EndGlobalSection
|
||||
EndGlobal
|
||||
|
|
Загрузка…
Ссылка в новой задаче