public StagingAreaInputItem PushInput(InputEventArgs input, StagingAreaInputItem promote) { StagingAreaInputItem item = new StagingAreaInputItem(input, promote); InputManager.CurrentInputManager._currentStagingStack.Push(item); return(item); }
internal StagingAreaInputItem(InputEventArgs input, StagingAreaInputItem promote) { this.Input = input; if ((promote != null) && (promote._table != null)) { this._table = (Hashtable)promote._table.Clone(); } }
internal StagingAreaInputItem(InputEventArgs input, StagingAreaInputItem promote) { this.Input = input; if (promote != null && promote._table != null) { // REFACTOR -- need a hashtable! this._table = (Hashtable)promote._table.Clone(); } }
internal NotifyInputEventArgs(StagingAreaInputItem input) { this.StagingItem = input; }
private object ProcessStagingArea(object frame) { bool flag1 = false; try { label_21: if (this._stagingArea.Count > 0) { this._currentStagingStack = this._stagingArea.Dequeue() as Stack; do { StagingAreaInputItem stagingAreaInputItem = (StagingAreaInputItem)this._currentStagingStack.Pop(); bool flag2 = false; int deviceType = (int)stagingAreaInputItem.Input._inputDevice.DeviceType; if (this.InputDeviceEvents[deviceType]._preProcessInput != null) { PreProcessInputEventArgs processInputEventArgs; this.InputDeviceEvents[deviceType]._preProcessInput((object)this, processInputEventArgs = new PreProcessInputEventArgs(stagingAreaInputItem)); flag2 = processInputEventArgs._canceled; } if (!flag2) { NotifyInputEventHandler preNotifyInput = this.InputDeviceEvents[deviceType]._preNotifyInput; if (preNotifyInput != null) { preNotifyInput((object)this, new NotifyInputEventArgs(stagingAreaInputItem)); } InputEventArgs input1 = stagingAreaInputItem.Input; UIElement uiElement = input1._source as UIElement; if (uiElement == null && input1._inputDevice != null) { uiElement = input1._inputDevice.Target; } uiElement?.RaiseEvent((RoutedEventArgs)input1); NotifyInputEventHandler postNotifyInput = this.InputDeviceEvents[deviceType]._postNotifyInput; if (postNotifyInput != null) { postNotifyInput((object)this, new NotifyInputEventArgs(stagingAreaInputItem)); } ProcessInputEventHandler postProcessInput = this.InputDeviceEvents[deviceType]._postProcessInput; if (postProcessInput != null) { postProcessInput((object)this, new ProcessInputEventArgs(stagingAreaInputItem)); } if (stagingAreaInputItem.Input._routedEvent == InputManager.PreviewInputReportEvent && !stagingAreaInputItem.Input.Handled) { InputReportEventArgs input2 = (InputReportEventArgs)stagingAreaInputItem.Input; InputReportEventArgs inputReportEventArgs = new InputReportEventArgs(input2.Device, input2.Report); inputReportEventArgs.RoutedEvent = InputManager.InputReportEvent; this._currentStagingStack.Push((object)new StagingAreaInputItem((InputEventArgs)inputReportEventArgs, stagingAreaInputItem)); } if (input1.Handled) { flag1 = true; } } }while (this._currentStagingStack.Count > 0); goto label_21; } } finally { if (this._stagingArea.Count > 0) { this.Dispatcher.BeginInvoke(this._continueProcessingStagingAreaCallback, (object)this.Dispatcher.CurrentFrame); } this._frameStagingArea.Remove(frame); } return((object)flag1); }
internal ProcessInputEventArgs(StagingAreaInputItem input) : base(input) { }
public StagingAreaInputItem PushInput(StagingAreaInputItem input) { InputManager.CurrentInputManager._currentStagingStack.Push(input); return(input); }
internal PreProcessInputEventArgs(StagingAreaInputItem input) : base(input) { this._canceled = false; }