Browse Source

Revert "Added InputRoot to all raw input events."

This reverts commit ae747c6dc7.
pull/372/merge
Steven Kirk 10 years ago
parent
commit
1cd7f46315
  1. 11
      src/Gtk/Perspex.Gtk/WindowImpl.cs
  2. 13
      src/Perspex.Input/Raw/RawInputEventArgs.cs
  3. 3
      src/Perspex.Input/Raw/RawKeyEventArgs.cs
  4. 4
      src/Perspex.Input/Raw/RawMouseEventArgs.cs
  5. 4
      src/Perspex.Input/Raw/RawMouseWheelEventArgs.cs
  6. 11
      src/Perspex.Input/Raw/RawTextInputEventArgs.cs
  7. 14
      src/Windows/Perspex.Win32/WindowImpl.cs
  8. 1
      tests/Perspex.Controls.UnitTests/TopLevelTests.cs

11
src/Gtk/Perspex.Gtk/WindowImpl.cs

@ -231,8 +231,8 @@ namespace Perspex.Gtk
var e = new RawMouseEventArgs( var e = new RawMouseEventArgs(
GtkMouseDevice.Instance, GtkMouseDevice.Instance,
_inputRoot,
evnt.Time, evnt.Time,
_inputRoot,
evnt.Button == 1 evnt.Button == 1
? RawMouseEventType.LeftButtonDown ? RawMouseEventType.LeftButtonDown
: evnt.Button == 3 ? RawMouseEventType.RightButtonDown : RawMouseEventType.MiddleButtonDown, : evnt.Button == 3 ? RawMouseEventType.RightButtonDown : RawMouseEventType.MiddleButtonDown,
@ -253,7 +253,7 @@ namespace Perspex.Gtk
delta = new Vector(-step, 0); delta = new Vector(-step, 0);
if (evnt.Direction == ScrollDirection.Left) if (evnt.Direction == ScrollDirection.Left)
delta = new Vector(step, 0); delta = new Vector(step, 0);
var e = new RawMouseWheelEventArgs(GtkMouseDevice.Instance, _inputRoot, evnt.Time, new Point(evnt.X, evnt.Y), delta, GetModifierKeys(evnt.State)); var e = new RawMouseWheelEventArgs(GtkMouseDevice.Instance, evnt.Time, _inputRoot, new Point(evnt.X, evnt.Y), delta, GetModifierKeys(evnt.State));
Input(e); Input(e);
return base.OnScrollEvent(evnt); return base.OnScrollEvent(evnt);
} }
@ -262,8 +262,8 @@ namespace Perspex.Gtk
{ {
var e = new RawMouseEventArgs( var e = new RawMouseEventArgs(
GtkMouseDevice.Instance, GtkMouseDevice.Instance,
_inputRoot,
evnt.Time, evnt.Time,
_inputRoot,
evnt.Button == 1 evnt.Button == 1
? RawMouseEventType.LeftButtonUp ? RawMouseEventType.LeftButtonUp
: evnt.Button == 3 ? RawMouseEventType.RightButtonUp : RawMouseEventType.MiddleButtonUp, : evnt.Button == 3 ? RawMouseEventType.RightButtonUp : RawMouseEventType.MiddleButtonUp,
@ -296,7 +296,6 @@ namespace Perspex.Gtk
return true; return true;
var e = new RawKeyEventArgs( var e = new RawKeyEventArgs(
GtkKeyboardDevice.Instance, GtkKeyboardDevice.Instance,
_inputRoot,
evnt.Time, evnt.Time,
evnt.Type == EventType.KeyPress ? RawKeyEventType.KeyDown : RawKeyEventType.KeyUp, evnt.Type == EventType.KeyPress ? RawKeyEventType.KeyDown : RawKeyEventType.KeyUp,
GtkKeyboardDevice.ConvertKey(evnt.Key), GetModifierKeys(evnt.State)); GtkKeyboardDevice.ConvertKey(evnt.Key), GetModifierKeys(evnt.State));
@ -310,7 +309,7 @@ namespace Perspex.Gtk
private void ImContext_Commit(object o, Gtk.CommitArgs args) private void ImContext_Commit(object o, Gtk.CommitArgs args)
{ {
Input(new RawTextInputEventArgs(GtkKeyboardDevice.Instance, _inputRoot, _lastKeyEventTimestamp, args.Str)); Input(new RawTextInputEventArgs(GtkKeyboardDevice.Instance, _lastKeyEventTimestamp, args.Str));
} }
protected override bool OnExposeEvent(EventExpose evnt) protected override bool OnExposeEvent(EventExpose evnt)
@ -332,8 +331,8 @@ namespace Perspex.Gtk
var e = new RawMouseEventArgs( var e = new RawMouseEventArgs(
GtkMouseDevice.Instance, GtkMouseDevice.Instance,
_inputRoot,
evnt.Time, evnt.Time,
_inputRoot,
RawMouseEventType.Move, RawMouseEventType.Move,
position, GetModifierKeys(evnt.State)); position, GetModifierKeys(evnt.State));
Input(e); Input(e);

13
src/Perspex.Input/Raw/RawInputEventArgs.cs

@ -7,23 +7,16 @@ namespace Perspex.Input.Raw
{ {
public class RawInputEventArgs : EventArgs public class RawInputEventArgs : EventArgs
{ {
public RawInputEventArgs( public RawInputEventArgs(IInputDevice device, uint timestamp)
IInputDevice device,
IInputRoot root,
uint timestamp)
{ {
Contract.Requires<ArgumentNullException>(device != null); Contract.Requires<ArgumentNullException>(device != null);
Contract.Requires<ArgumentNullException>(root != null);
Device = device; Device = device;
Root = root;
Timestamp = timestamp; Timestamp = timestamp;
} }
public IInputDevice Device { get; } public IInputDevice Device { get; private set; }
public IInputRoot Root { get; } public uint Timestamp { get; private set; }
public uint Timestamp { get; }
} }
} }

3
src/Perspex.Input/Raw/RawKeyEventArgs.cs

@ -13,11 +13,10 @@ namespace Perspex.Input.Raw
{ {
public RawKeyEventArgs( public RawKeyEventArgs(
IKeyboardDevice device, IKeyboardDevice device,
IInputRoot root,
uint timestamp, uint timestamp,
RawKeyEventType type, RawKeyEventType type,
Key key, InputModifiers modifiers) Key key, InputModifiers modifiers)
: base(device, root, timestamp) : base(device, timestamp)
{ {
Key = key; Key = key;
Type = type; Type = type;

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

@ -22,11 +22,11 @@ namespace Perspex.Input.Raw
{ {
public RawMouseEventArgs( public RawMouseEventArgs(
IInputDevice device, IInputDevice device,
IInputRoot root,
uint timestamp, uint timestamp,
IInputRoot root,
RawMouseEventType type, RawMouseEventType type,
Point position, InputModifiers inputModifiers) Point position, InputModifiers inputModifiers)
: base(device, root, timestamp) : base(device, timestamp)
{ {
Contract.Requires<ArgumentNullException>(device != null); Contract.Requires<ArgumentNullException>(device != null);
Contract.Requires<ArgumentNullException>(root != null); Contract.Requires<ArgumentNullException>(root != null);

4
src/Perspex.Input/Raw/RawMouseWheelEventArgs.cs

@ -10,11 +10,11 @@ namespace Perspex.Input.Raw
{ {
public RawMouseWheelEventArgs( public RawMouseWheelEventArgs(
IInputDevice device, IInputDevice device,
IInputRoot root,
uint timestamp, uint timestamp,
IInputRoot root,
Point position, Point position,
Vector delta, InputModifiers inputModifiers) Vector delta, InputModifiers inputModifiers)
: base(device, root, timestamp, RawMouseEventType.Wheel, position, inputModifiers) : base(device, timestamp, root, RawMouseEventType.Wheel, position, inputModifiers)
{ {
Delta = delta; Delta = delta;
} }

11
src/Perspex.Input/Raw/RawTextInputEventArgs.cs

@ -5,16 +5,11 @@ namespace Perspex.Input.Raw
{ {
public class RawTextInputEventArgs : RawInputEventArgs public class RawTextInputEventArgs : RawInputEventArgs
{ {
public RawTextInputEventArgs( public string Text { get; set; }
IKeyboardDevice device,
IInputRoot root, public RawTextInputEventArgs(IKeyboardDevice device, uint timestamp, string text) : base(device, timestamp)
uint timestamp,
string text)
: base(device, root, timestamp)
{ {
Text = text; Text = text;
} }
public string Text { get; set; }
} }
} }

14
src/Windows/Perspex.Win32/WindowImpl.cs

@ -366,7 +366,6 @@ namespace Perspex.Win32
case UnmanagedMethods.WindowsMessage.WM_SYSKEYDOWN: case UnmanagedMethods.WindowsMessage.WM_SYSKEYDOWN:
e = new RawKeyEventArgs( e = new RawKeyEventArgs(
WindowsKeyboardDevice.Instance, WindowsKeyboardDevice.Instance,
_owner,
timestamp, timestamp,
RawKeyEventType.KeyDown, RawKeyEventType.KeyDown,
KeyInterop.KeyFromVirtualKey((int)wParam), WindowsKeyboardDevice.Instance.Modifiers); KeyInterop.KeyFromVirtualKey((int)wParam), WindowsKeyboardDevice.Instance.Modifiers);
@ -376,7 +375,6 @@ namespace Perspex.Win32
case UnmanagedMethods.WindowsMessage.WM_SYSKEYUP: case UnmanagedMethods.WindowsMessage.WM_SYSKEYUP:
e = new RawKeyEventArgs( e = new RawKeyEventArgs(
WindowsKeyboardDevice.Instance, WindowsKeyboardDevice.Instance,
_owner,
timestamp, timestamp,
RawKeyEventType.KeyUp, RawKeyEventType.KeyUp,
KeyInterop.KeyFromVirtualKey((int)wParam), WindowsKeyboardDevice.Instance.Modifiers); KeyInterop.KeyFromVirtualKey((int)wParam), WindowsKeyboardDevice.Instance.Modifiers);
@ -385,7 +383,7 @@ namespace Perspex.Win32
// Ignore control chars // Ignore control chars
if (wParam.ToInt32() >= 32) if (wParam.ToInt32() >= 32)
{ {
e = new RawTextInputEventArgs(WindowsKeyboardDevice.Instance, _owner, timestamp, e = new RawTextInputEventArgs(WindowsKeyboardDevice.Instance, timestamp,
new string((char)wParam.ToInt32(), 1)); new string((char)wParam.ToInt32(), 1));
} }
@ -410,8 +408,8 @@ namespace Perspex.Win32
case UnmanagedMethods.WindowsMessage.WM_MBUTTONDOWN: case UnmanagedMethods.WindowsMessage.WM_MBUTTONDOWN:
e = new RawMouseEventArgs( e = new RawMouseEventArgs(
WindowsMouseDevice.Instance, WindowsMouseDevice.Instance,
_owner,
timestamp, timestamp,
_owner,
msg == (int)UnmanagedMethods.WindowsMessage.WM_LBUTTONDOWN msg == (int)UnmanagedMethods.WindowsMessage.WM_LBUTTONDOWN
? RawMouseEventType.LeftButtonDown ? RawMouseEventType.LeftButtonDown
: msg == (int)UnmanagedMethods.WindowsMessage.WM_RBUTTONDOWN : msg == (int)UnmanagedMethods.WindowsMessage.WM_RBUTTONDOWN
@ -425,8 +423,8 @@ namespace Perspex.Win32
case UnmanagedMethods.WindowsMessage.WM_MBUTTONUP: case UnmanagedMethods.WindowsMessage.WM_MBUTTONUP:
e = new RawMouseEventArgs( e = new RawMouseEventArgs(
WindowsMouseDevice.Instance, WindowsMouseDevice.Instance,
_owner,
timestamp, timestamp,
_owner,
msg == (int) UnmanagedMethods.WindowsMessage.WM_LBUTTONUP msg == (int) UnmanagedMethods.WindowsMessage.WM_LBUTTONUP
? RawMouseEventType.LeftButtonUp ? RawMouseEventType.LeftButtonUp
: msg == (int) UnmanagedMethods.WindowsMessage.WM_RBUTTONUP : msg == (int) UnmanagedMethods.WindowsMessage.WM_RBUTTONUP
@ -451,8 +449,8 @@ namespace Perspex.Win32
e = new RawMouseEventArgs( e = new RawMouseEventArgs(
WindowsMouseDevice.Instance, WindowsMouseDevice.Instance,
_owner,
timestamp, timestamp,
_owner,
RawMouseEventType.Move, RawMouseEventType.Move,
PointFromLParam(lParam), GetMouseModifiers(wParam)); PointFromLParam(lParam), GetMouseModifiers(wParam));
@ -461,8 +459,8 @@ namespace Perspex.Win32
case UnmanagedMethods.WindowsMessage.WM_MOUSEWHEEL: case UnmanagedMethods.WindowsMessage.WM_MOUSEWHEEL:
e = new RawMouseWheelEventArgs( e = new RawMouseWheelEventArgs(
WindowsMouseDevice.Instance, WindowsMouseDevice.Instance,
_owner,
timestamp, timestamp,
_owner,
ScreenToClient(PointFromLParam(lParam)), ScreenToClient(PointFromLParam(lParam)),
new Vector(0, ((int)wParam >> 16) / wheelDelta), GetMouseModifiers(wParam)); new Vector(0, ((int)wParam >> 16) / wheelDelta), GetMouseModifiers(wParam));
break; break;
@ -471,8 +469,8 @@ namespace Perspex.Win32
_trackingMouse = false; _trackingMouse = false;
e = new RawMouseEventArgs( e = new RawMouseEventArgs(
WindowsMouseDevice.Instance, WindowsMouseDevice.Instance,
_owner,
timestamp, timestamp,
_owner,
RawMouseEventType.LeaveWindow, RawMouseEventType.LeaveWindow,
new Point(), WindowsKeyboardDevice.Instance.Modifiers); new Point(), WindowsKeyboardDevice.Instance.Modifiers);
break; break;

1
tests/Perspex.Controls.UnitTests/TopLevelTests.cs

@ -266,7 +266,6 @@ namespace Perspex.Controls.UnitTests
var input = new RawKeyEventArgs( var input = new RawKeyEventArgs(
new Mock<IKeyboardDevice>().Object, new Mock<IKeyboardDevice>().Object,
new Mock<IInputRoot>().Object,
0, 0,
RawKeyEventType.KeyDown, RawKeyEventType.KeyDown,
Key.A, InputModifiers.None); Key.A, InputModifiers.None);

Loading…
Cancel
Save