diff --git a/src/Perspex.Application/Application.cs b/src/Perspex.Application/Application.cs index 88f3a23ffe..e862c5de2a 100644 --- a/src/Perspex.Application/Application.cs +++ b/src/Perspex.Application/Application.cs @@ -5,6 +5,7 @@ using System; using System.Reflection; using System.Threading; using Perspex.Controls; +using Perspex.Controls.Platform; using Perspex.Controls.Templates; using Perspex.Input; using Perspex.Input.Platform; @@ -168,7 +169,8 @@ namespace Perspex .Bind().ToTransient() .Bind().ToConstant(_styler) .Bind().ToTransient() - .Bind().ToTransient(); + .Bind().ToTransient() + .Bind().ToConstant(new PlatformSettings()); } /// diff --git a/src/Perspex.Controls/Platform/PlatformManager.cs b/src/Perspex.Controls/Platform/PlatformManager.cs index b63e6a1991..e9d813f35d 100644 --- a/src/Perspex.Controls/Platform/PlatformManager.cs +++ b/src/Perspex.Controls/Platform/PlatformManager.cs @@ -52,7 +52,6 @@ namespace Perspex.Controls.Platform ctx.PushPostTransform(Matrix.CreateScale(factor, factor)); ctx.PushTransformContainer(); } - ctx.FillRectangle(Brushes.Green, new Rect(cs/2)); return ctx; } } @@ -89,6 +88,11 @@ namespace Perspex.Controls.Platform private void OnInput(RawInputEventArgs obj) { + var mouseEvent = obj as RawMouseEventArgs; + if (mouseEvent != null) + { + mouseEvent.Position /= GetSettings().LayoutScalingFactor; + } //TODO: Transform event coordinates Input?.Invoke(obj); } @@ -175,7 +179,7 @@ namespace Perspex.Controls.Platform public class PlatformSettings { - public double RenderScalingFactor { get; set; } = 2; - public double LayoutScalingFactor { get; set; } = 2; + public double RenderScalingFactor { get; set; } = 1; + public double LayoutScalingFactor { get; set; } = 1; } } diff --git a/src/Perspex.Input/Raw/RawMouseEventArgs.cs b/src/Perspex.Input/Raw/RawMouseEventArgs.cs index c4015e8226..154515085b 100644 --- a/src/Perspex.Input/Raw/RawMouseEventArgs.cs +++ b/src/Perspex.Input/Raw/RawMouseEventArgs.cs @@ -39,7 +39,7 @@ namespace Perspex.Input.Raw public IInputRoot Root { get; private set; } - public Point Position { get; private set; } + public Point Position { get; set; } public RawMouseEventType Type { get; private set; }