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.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<IKeyboardNavigationHandler>().ToTransient<KeyboardNavigationHandler>()
.Bind<IStyler>().ToConstant(_styler)
.Bind<ILayoutManager>().ToTransient<LayoutManager>()
.Bind<IRenderQueueManager>().ToTransient<RenderQueueManager>();
.Bind<IRenderQueueManager>().ToTransient<RenderQueueManager>()
.Bind<PlatformSettings>().ToConstant(new PlatformSettings());
}
/// <summary>

10
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;
}
}

2
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; }

Loading…
Cancel
Save