Gondwana Game Engine Development (master) - 2.6.1
Gondwana is a cross-platform 2.5D game and rendering engine written in C#/.NET 8. It provides fine-grained control over rendering, timing, and scene composition, with built-in support for parallax, z-ordering, pixel overhang, collision detection, and particle effects. Gondwana targets desktop and web platforms using SkiaSharp for graphics and pluggable audio backends for desktop and browser targets.
Loading...
Searching...
No Matches
PointerCoordinates.cs
1using System.Drawing;
2using Avalonia.Controls;
4
6
7internal static class PointerCoordinates
8{
9 internal static Point ToScreenPx(Control? control, PointF point)
10 {
11 if (control is AvaloniaGpuRenderSurfaceControl gpu)
12 {
13 // Events are DIPs; the GPU adapter presents in device pixels.
14 var dpi = TopLevel.GetTopLevel(gpu)?.RenderScaling ?? 1d;
15 return gpu.Adapter.AdapterPxToScreenPx(new PointF((float)(point.X * dpi), (float)(point.Y * dpi)));
16 }
17 if (control is AvaloniaBitmapRenderSurfaceControl bitmap)
18 return bitmap.Adapter.AdapterPxToScreenPx(point);
19 return new Point((int)Math.Floor(point.X), (int)Math.Floor(point.Y));
20 }
21}