using System; using Avalonia.Input.Raw; using Avalonia.Metadata; namespace Avalonia.Input { /// /// Receives input from the windowing subsystem and dispatches it to interested parties /// for processing. /// [NotClientImplementable] public interface IInputManager { /// /// Gets an observable that notifies on each input event received before /// . /// IObservable PreProcess { get; } /// /// Gets an observable that notifies on each input event received. /// IObservable Process { get; } /// /// Gets an observable that notifies on each input event received after /// . /// IObservable PostProcess { get; } /// /// Processes a raw input event. /// /// The raw input event. void ProcessInput(RawInputEventArgs e); } }