diff --git a/src/Perspex.Input/Raw/RawInputEventArgs.cs b/src/Perspex.Input/Raw/RawInputEventArgs.cs index 4918710c46..4cf5d4c320 100644 --- a/src/Perspex.Input/Raw/RawInputEventArgs.cs +++ b/src/Perspex.Input/Raw/RawInputEventArgs.cs @@ -5,8 +5,22 @@ using System; namespace Perspex.Input.Raw { + /// + /// A raw input event. + /// + /// + /// Raw input events are sent from the windowing subsystem to the + /// for processing: this gives an application the opportunity to pre-process the event. After + /// pre-processing they are consumed by the relevant and turned into + /// standard Perspex events. + /// public class RawInputEventArgs : EventArgs { + /// + /// Initializes a new instance of the class. + /// + /// The associated device. + /// The event timestamp. public RawInputEventArgs(IInputDevice device, uint timestamp) { Contract.Requires(device != null); @@ -15,8 +29,24 @@ namespace Perspex.Input.Raw Timestamp = timestamp; } - public IInputDevice Device { get; private set; } + /// + /// Gets the associated device. + /// + public IInputDevice Device { get; } + + /// + /// Gets or sets a value indicating whether the event was handled. + /// + /// + /// If an event is not marked handled after processing via the + /// , then it will be passed on to the underlying OS for + /// handling. + /// public bool Handled { get; set; } + + /// + /// Gets the timestamp associated with the event. + /// public uint Timestamp { get; private set; } } } diff --git a/src/Perspex.Input/Raw/RawMouseEventArgs.cs b/src/Perspex.Input/Raw/RawMouseEventArgs.cs index 154515085b..80cd4716de 100644 --- a/src/Perspex.Input/Raw/RawMouseEventArgs.cs +++ b/src/Perspex.Input/Raw/RawMouseEventArgs.cs @@ -18,14 +18,27 @@ namespace Perspex.Input.Raw Wheel, } + /// + /// A raw mouse event. + /// public class RawMouseEventArgs : RawInputEventArgs { + /// + /// Initializes a new instance of the class. + /// + /// The associated device. + /// The event timestamp. + /// The root from which the event originates. + /// The type of the event. + /// The mouse position, in client DIPs. + /// The input modifiers. public RawMouseEventArgs( IInputDevice device, uint timestamp, IInputRoot root, RawMouseEventType type, - Point position, InputModifiers inputModifiers) + Point position, + InputModifiers inputModifiers) : base(device, timestamp) { Contract.Requires(device != null); @@ -37,12 +50,24 @@ namespace Perspex.Input.Raw InputModifiers = inputModifiers; } - public IInputRoot Root { get; private set; } + /// + /// Gets the root from which the event originates. + /// + public IInputRoot Root { get; } + /// + /// Gets the mouse position, in client DIPs. + /// public Point Position { get; set; } + /// + /// Gets the type of the event. + /// public RawMouseEventType Type { get; private set; } + /// + /// Gets the input modifiers. + /// public InputModifiers InputModifiers { get; private set; } } }