Browse Source

Merge pull request #638 from wieslawsoltes/SkiaSharpUpdate

Update to SkiaSharp version 1.53.0
pull/649/head
Jeremy Koritzinsky 10 years ago
committed by GitHub
parent
commit
edf3807aaa
  1. 2
      nuget/template/Avalonia.Skia.Desktop.nuspec
  2. 4
      src/Skia/Avalonia.Skia.Android/Avalonia.Skia.Android.csproj
  3. 2
      src/Skia/Avalonia.Skia.Android/packages.config
  4. 8
      src/Skia/Avalonia.Skia.Desktop/Avalonia.Skia.Desktop.csproj
  5. 2
      src/Skia/Avalonia.Skia.Desktop/packages.config
  6. 4
      src/Skia/Avalonia.Skia.iOS/Avalonia.Skia.iOS.csproj
  7. 2
      src/Skia/Avalonia.Skia.iOS/packages.config
  8. 2
      src/Skia/Avalonia.Skia/BitmapImpl.cs
  9. 26
      src/Skia/Avalonia.Skia/DrawingContextImpl.cs
  10. 4
      src/Skia/Avalonia.Skia/PlatformRenderInterface.cs
  11. 2
      src/Skia/Avalonia.Skia/RenderTarget.cs
  12. 10
      src/Skia/Avalonia.Skia/StreamGeometryImpl.cs

2
nuget/template/Avalonia.Skia.Desktop.nuspec

@ -13,7 +13,7 @@
<copyright>Copyright 2015</copyright>
<tags>Avalonia</tags>
<dependencies>
<dependency id="SkiaSharp" version="1.49.4.0-beta"/>
<dependency id="SkiaSharp" version="1.53.0"/>
<dependency id="Avalonia" version="#VERSION#" />
</dependencies>
</metadata>

4
src/Skia/Avalonia.Skia.Android/Avalonia.Skia.Android.csproj

@ -39,8 +39,8 @@
<ItemGroup>
<Reference Include="Mono.Android" />
<Reference Include="mscorlib" />
<Reference Include="SkiaSharp, Version=1.49.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\..\packages\SkiaSharp.1.49.4-beta\lib\MonoAndroid\SkiaSharp.dll</HintPath>
<Reference Include="SkiaSharp, Version=1.53.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\..\packages\SkiaSharp.1.53.0\lib\MonoAndroid\SkiaSharp.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="System" />

2
src/Skia/Avalonia.Skia.Android/packages.config

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="SkiaSharp" version="1.49.4-beta" targetFramework="monoandroid44" />
<package id="SkiaSharp" version="1.53.0" targetFramework="monoandroid44" />
</packages>

8
src/Skia/Avalonia.Skia.Desktop/Avalonia.Skia.Desktop.csproj

@ -56,8 +56,8 @@
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<ItemGroup>
<Reference Include="SkiaSharp, Version=1.49.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\..\packages\SkiaSharp.1.49.4-beta\lib\net45\SkiaSharp.dll</HintPath>
<Reference Include="SkiaSharp, Version=1.53.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\..\packages\SkiaSharp.1.53.0\lib\net45\SkiaSharp.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="System" />
@ -116,12 +116,12 @@
<Import Project="..\Avalonia.Skia\Avalonia.Skia.projitems" Label="Shared" />
<Import Project="..\..\Shared\RenderHelpers\RenderHelpers.projitems" Label="Shared" />
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<Import Project="..\..\..\packages\SkiaSharp.1.49.4-beta\build\net45\SkiaSharp.targets" Condition="Exists('..\..\..\packages\SkiaSharp.1.49.4-beta\build\net45\SkiaSharp.targets')" />
<Import Project="..\..\..\packages\SkiaSharp.1.53.0\build\net45\SkiaSharp.targets" Condition="Exists('..\..\..\packages\SkiaSharp.1.53.0\build\net45\SkiaSharp.targets')" />
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
<PropertyGroup>
<ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
</PropertyGroup>
<Error Condition="!Exists('..\..\..\packages\SkiaSharp.1.49.4-beta\build\net45\SkiaSharp.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\packages\SkiaSharp.1.49.4-beta\build\net45\SkiaSharp.targets'))" />
<Error Condition="!Exists('..\..\..\packages\SkiaSharp.1.53.0\build\net45\SkiaSharp.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\packages\SkiaSharp.1.53.0\build\net45\SkiaSharp.targets'))" />
</Target>
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.

2
src/Skia/Avalonia.Skia.Desktop/packages.config

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="SkiaSharp" version="1.49.4-beta" targetFramework="net45" />
<package id="SkiaSharp" version="1.53.0" targetFramework="net45" />
</packages>

4
src/Skia/Avalonia.Skia.iOS/Avalonia.Skia.iOS.csproj

@ -40,8 +40,8 @@
<Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>
<ItemGroup>
<Reference Include="SkiaSharp, Version=1.49.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\..\packages\SkiaSharp.1.49.4-beta\lib\XamariniOS\SkiaSharp.dll</HintPath>
<Reference Include="SkiaSharp, Version=1.53.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\..\packages\SkiaSharp.1.53.0\lib\XamariniOS\SkiaSharp.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="System" />

2
src/Skia/Avalonia.Skia.iOS/packages.config

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="SkiaSharp" version="1.49.4-beta" targetFramework="xamarinios10" />
<package id="SkiaSharp" version="1.53.0" targetFramework="xamarinios10" />
</packages>

2
src/Skia/Avalonia.Skia/BitmapImpl.cs

@ -24,7 +24,7 @@ namespace Avalonia.Skia
{
PixelHeight = height;
PixelWidth = width;
Bitmap = new SKBitmap(width, height, SKColorType.N_32, SKAlphaType.Premul);
Bitmap = new SKBitmap(width, height, SKImageInfo.PlatformColorType, SKAlphaType.Premul);
}
public void Dispose()

26
src/Skia/Avalonia.Skia/DrawingContextImpl.cs

@ -234,24 +234,14 @@ namespace Avalonia.Skia
paint.StrokeMiter = (float)pen.MiterLimit;
// TODO: Implement Dash Style support
//
//if (pen.DashStyle?.Dashes != null)
//{
// var dashes = pen.DashStyle.Dashes;
// if (dashes.Count > NativeBrush.MaxDashCount)
// throw new NotSupportedException("Maximum supported dash count is " + NativeBrush.MaxDashCount);
// brush.Brush->StrokeDashCount = dashes.Count;
// for (int c = 0; c < dashes.Count; c++)
// brush.Brush->StrokeDashes[c] = (float)dashes[c];
// brush.Brush->StrokeDashOffset = (float)pen.DashStyle.Offset;
//}
//if (brush->StrokeDashCount != 0)
//{
// paint.setPathEffect(SkDashPathEffect::Create(brush->StrokeDashes, brush->StrokeDashCount, brush->StrokeDashOffset))->unref();
//}
if (pen.DashStyle?.Dashes != null && pen.DashStyle.Dashes.Count > 0)
{
var pe = SKPathEffect.CreateDash(
pen.DashStyle?.Dashes.Select(x => (float)x).ToArray(),
(float)pen.DashStyle.Offset);
paint.PathEffect = pe;
rv.AddDisposable(pe);
}
return rv;
}

4
src/Skia/Avalonia.Skia/PlatformRenderInterface.cs

@ -30,8 +30,8 @@ namespace Avalonia.Skia
IBitmapImpl LoadBitmap(byte[] data)
{
var bitmap = new SKBitmap();
if (!SKImageDecoder.DecodeMemory(data, bitmap))
var bitmap = SKBitmap.Decode(data);
if (bitmap == null)
{
throw new ArgumentException("Unable to load bitmap from provided data");
}

2
src/Skia/Avalonia.Skia/RenderTarget.cs

@ -87,7 +87,7 @@ namespace Avalonia.Skia
_bitmap.Dispose();
}
_bitmap = new SKBitmap(width, height, SKColorType.N_32, SKAlphaType.Premul);
_bitmap = new SKBitmap(width, height, SKImageInfo.PlatformColorType, SKAlphaType.Premul);
IntPtr length;
var pixels = _bitmap.GetPixels(out length);

10
src/Skia/Avalonia.Skia/StreamGeometryImpl.cs

@ -104,7 +104,15 @@ namespace Avalonia.Skia
public void ArcTo(Point point, Size size, double rotationAngle, bool isLargeArc, SweepDirection sweepDirection)
{
ArcToHelper.ArcTo(this, _currentPoint, point, size, rotationAngle, isLargeArc, sweepDirection);
_path.ArcTo(
(float)size.Width,
(float)size.Height,
(float)rotationAngle,
isLargeArc ? SKPathArcSize.Large : SKPathArcSize.Small,
sweepDirection == SweepDirection.Clockwise ? SKPathDirection.Clockwise : SKPathDirection.CounterClockwise,
(float)point.X,
(float)point.Y);
_currentPoint = point;
}
public void BeginFigure(Point startPoint, bool isFilled)

Loading…
Cancel
Save