|
|
@@ -8,8 +8,7 @@ namespace Avalonia.Skia
|
|
|
{
|
|
|
class BitmapImpl : IRenderTargetBitmapImpl, IWritableBitmapImpl
|
|
|
{
|
|
|
- private double _dpiX;
|
|
|
- private double _dpiY;
|
|
|
+ private Vector _dpi;
|
|
|
|
|
|
public SKBitmap Bitmap { get; private set; }
|
|
|
|
|
|
@@ -18,16 +17,14 @@ namespace Avalonia.Skia
|
|
|
Bitmap = bm;
|
|
|
PixelHeight = bm.Height;
|
|
|
PixelWidth = bm.Width;
|
|
|
- _dpiX = 96;
|
|
|
- _dpiY = 96;
|
|
|
+ _dpi = new Vector(96, 96);
|
|
|
}
|
|
|
|
|
|
- public BitmapImpl(int width, int height, double dpiX, double dpiY, PixelFormat? fmt = null)
|
|
|
+ public BitmapImpl(int width, int height, Vector dpi, PixelFormat? fmt = null)
|
|
|
{
|
|
|
PixelHeight = height;
|
|
|
PixelWidth = width;
|
|
|
- _dpiX = dpiX;
|
|
|
- _dpiY = dpiY;
|
|
|
+ _dpi = dpi;
|
|
|
var colorType = fmt?.ToSkColorType() ?? SKImageInfo.PlatformColorType;
|
|
|
var runtime = AvaloniaLocator.Current?.GetService<IRuntimePlatform>()?.GetRuntimeInfo();
|
|
|
if (runtime?.IsDesktop == true && runtime?.OperatingSystem == OperatingSystemType.Linux)
|
|
|
@@ -71,8 +68,8 @@ namespace Avalonia.Skia
|
|
|
{
|
|
|
private readonly SKSurface _surface;
|
|
|
|
|
|
- public BitmapDrawingContext(SKBitmap bitmap, double dpiX, double dpiY, IVisualBrushRenderer visualBrushRenderer)
|
|
|
- : this(CreateSurface(bitmap), dpiX, dpiY, visualBrushRenderer)
|
|
|
+ public BitmapDrawingContext(SKBitmap bitmap, Vector dpi, IVisualBrushRenderer visualBrushRenderer)
|
|
|
+ : this(CreateSurface(bitmap), dpi, visualBrushRenderer)
|
|
|
{
|
|
|
|
|
|
}
|
|
|
@@ -86,8 +83,8 @@ namespace Avalonia.Skia
|
|
|
return rv;
|
|
|
}
|
|
|
|
|
|
- public BitmapDrawingContext(SKSurface surface, double dpiX, double dpiY, IVisualBrushRenderer visualBrushRenderer)
|
|
|
- : base(surface.Canvas, dpiX, dpiY, visualBrushRenderer)
|
|
|
+ public BitmapDrawingContext(SKSurface surface, Vector dpi, IVisualBrushRenderer visualBrushRenderer)
|
|
|
+ : base(surface.Canvas, dpi, visualBrushRenderer)
|
|
|
{
|
|
|
_surface = surface;
|
|
|
}
|
|
|
@@ -101,7 +98,7 @@ namespace Avalonia.Skia
|
|
|
|
|
|
public IDrawingContextImpl CreateDrawingContext(IVisualBrushRenderer visualBrushRenderer)
|
|
|
{
|
|
|
- return new BitmapDrawingContext(Bitmap, _dpiX, _dpiY, visualBrushRenderer);
|
|
|
+ return new BitmapDrawingContext(Bitmap, _dpi, visualBrushRenderer);
|
|
|
}
|
|
|
|
|
|
public void Save(Stream stream)
|