From 173ee0037c92beb57d23dda188ae2f3370887266 Mon Sep 17 00:00:00 2001 From: Dan Walmsley Date: Tue, 16 Oct 2018 22:51:10 +0100 Subject: [PATCH] support high dpi on avalonia remote previewer. --- .../Remote/Server/RemoteServerTopLevelImpl.cs | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/Avalonia.Controls/Remote/Server/RemoteServerTopLevelImpl.cs b/src/Avalonia.Controls/Remote/Server/RemoteServerTopLevelImpl.cs index b302f2f5ec..c1ef9476db 100644 --- a/src/Avalonia.Controls/Remote/Server/RemoteServerTopLevelImpl.cs +++ b/src/Avalonia.Controls/Remote/Server/RemoteServerTopLevelImpl.cs @@ -102,6 +102,12 @@ namespace Avalonia.Controls.Remote.Server FrameMessage RenderFrame(int width, int height, ProtocolPixelFormat? format) { + var scalingX = _dpi.X / 96.0; + var scalingY = _dpi.Y / 96.0; + + width = (int)(width * scalingX); + height = (int)(height * scalingY); + var fmt = format ?? ProtocolPixelFormat.Rgba8888; var bpp = fmt == ProtocolPixelFormat.Rgb565 ? 2 : 4; var data = new byte[width * height * bpp];