// ----------------------------------------------------------------------- // // Copyright 2013 MIT Licence. See licence.md for more information. // // ----------------------------------------------------------------------- namespace Perspex.Input { using System; using System.Collections.Generic; using System.Linq; using System.Reactive.Subjects; using Perspex.Input.Raw; using Splat; public class InputManager : IInputManager { private Subject rawEventReceived = new Subject(); private Subject postProcess = new Subject(); public static IInputManager Instance => Locator.Current.GetService(); public IObservable RawEventReceived => this.rawEventReceived; public IObservable PostProcess => this.postProcess; public void Process(RawInputEventArgs e) { this.rawEventReceived.OnNext(e); this.postProcess.OnNext(e); } } }