Browse Source

Mouse events are now translated

pull/316/head
Nikita Tsukanov 11 years ago
parent
commit
6cc1904fd4
  1. 4
      src/Perspex.Application/Application.cs
  2. 10
      src/Perspex.Controls/Platform/PlatformManager.cs
  3. 2
      src/Perspex.Input/Raw/RawMouseEventArgs.cs

4
src/Perspex.Application/Application.cs

@ -5,6 +5,7 @@ using System;
using System.Reflection; using System.Reflection;
using System.Threading; using System.Threading;
using Perspex.Controls; using Perspex.Controls;
using Perspex.Controls.Platform;
using Perspex.Controls.Templates; using Perspex.Controls.Templates;
using Perspex.Input; using Perspex.Input;
using Perspex.Input.Platform; using Perspex.Input.Platform;
@ -168,7 +169,8 @@ namespace Perspex
.Bind<IKeyboardNavigationHandler>().ToTransient<KeyboardNavigationHandler>() .Bind<IKeyboardNavigationHandler>().ToTransient<KeyboardNavigationHandler>()
.Bind<IStyler>().ToConstant(_styler) .Bind<IStyler>().ToConstant(_styler)
.Bind<ILayoutManager>().ToTransient<LayoutManager>() .Bind<ILayoutManager>().ToTransient<LayoutManager>()
.Bind<IRenderQueueManager>().ToTransient<RenderQueueManager>(); .Bind<IRenderQueueManager>().ToTransient<RenderQueueManager>()
.Bind<PlatformSettings>().ToConstant(new PlatformSettings());
} }
/// <summary> /// <summary>

10
src/Perspex.Controls/Platform/PlatformManager.cs

@ -52,7 +52,6 @@ namespace Perspex.Controls.Platform
ctx.PushPostTransform(Matrix.CreateScale(factor, factor)); ctx.PushPostTransform(Matrix.CreateScale(factor, factor));
ctx.PushTransformContainer(); ctx.PushTransformContainer();
} }
ctx.FillRectangle(Brushes.Green, new Rect(cs/2));
return ctx; return ctx;
} }
} }
@ -89,6 +88,11 @@ namespace Perspex.Controls.Platform
private void OnInput(RawInputEventArgs obj) private void OnInput(RawInputEventArgs obj)
{ {
var mouseEvent = obj as RawMouseEventArgs;
if (mouseEvent != null)
{
mouseEvent.Position /= GetSettings().LayoutScalingFactor;
}
//TODO: Transform event coordinates //TODO: Transform event coordinates
Input?.Invoke(obj); Input?.Invoke(obj);
} }
@ -175,7 +179,7 @@ namespace Perspex.Controls.Platform
public class PlatformSettings public class PlatformSettings
{ {
public double RenderScalingFactor { get; set; } = 2; public double RenderScalingFactor { get; set; } = 1;
public double LayoutScalingFactor { get; set; } = 2; public double LayoutScalingFactor { get; set; } = 1;
} }
} }

2
src/Perspex.Input/Raw/RawMouseEventArgs.cs

@ -39,7 +39,7 @@ namespace Perspex.Input.Raw
public IInputRoot Root { get; private set; } public IInputRoot Root { get; private set; }
public Point Position { get; private set; } public Point Position { get; set; }
public RawMouseEventType Type { get; private set; } public RawMouseEventType Type { get; private set; }

Loading…
Cancel
Save