public RawMouseWheelEventArgs( IInputDevice device, uint timestamp, IInputRoot root, Point position, Vector delta, ModifierKeys modifierKeys) : base(device, timestamp, root, RawMouseEventType.Wheel, position, modifierKeys) { Delta = delta; }
/// <summary> /// Sets the owner of the keyboard navigation handler. /// </summary> /// <param name="owner">The owner.</param> /// <remarks> /// This method can only be called once, typically by the owner itself on creation. /// </remarks> public void SetOwner(IInputRoot owner) { Contract.Requires<ArgumentNullException>(owner != null); if (_owner != null) { throw new InvalidOperationException("AccessKeyHandler owner has already been set."); } _owner = owner; _owner.AddHandler(InputElement.KeyDownEvent, OnKeyDown); }
/// <summary> /// Sets the owner of the access key handler. /// </summary> /// <param name="owner">The owner.</param> /// <remarks> /// This method can only be called once, typically by the owner itself on creation. /// </remarks> public void SetOwner(IInputRoot owner) { Contract.Requires<ArgumentNullException>(owner != null); if (_owner != null) { throw new InvalidOperationException("AccessKeyHandler owner has already been set."); } _owner = owner; _owner.AddHandler(InputElement.KeyDownEvent, OnPreviewKeyDown, RoutingStrategies.Tunnel); _owner.AddHandler(InputElement.KeyDownEvent, OnKeyDown, RoutingStrategies.Bubble); _owner.AddHandler(InputElement.KeyUpEvent, OnPreviewKeyUp, RoutingStrategies.Tunnel); _owner.AddHandler(InputElement.PointerPressedEvent, OnPreviewPointerPressed, RoutingStrategies.Tunnel); }
public RawMouseEventArgs( IInputDevice device, uint timestamp, IInputRoot root, RawMouseEventType type, Point position, InputModifiers inputModifiers) : base(device, timestamp) { Contract.Requires<ArgumentNullException>(device != null); Contract.Requires<ArgumentNullException>(root != null); Root = root; Position = position; Type = type; InputModifiers = inputModifiers; }
public void SetInputRoot(IInputRoot inputRoot) { _owner = inputRoot; }
public void SetInputRoot(IInputRoot inputRoot) { InputRoot = inputRoot; }
private IInputElement SetPointerOver(IPointerDevice device, IInputRoot root, IList<IInputElement> elements) { foreach (var control in _pointerOvers.Except(elements).ToList()) { PointerEventArgs e = new PointerEventArgs { RoutedEvent = InputElement.PointerLeaveEvent, Device = device, Source = control, }; _pointerOvers.Remove(control); control.RaiseEvent(e); } foreach (var control in elements.Except(_pointerOvers)) { PointerEventArgs e = new PointerEventArgs { RoutedEvent = InputElement.PointerEnterEvent, Device = device, Source = control, }; _pointerOvers.Add(control); control.RaiseEvent(e); } root.PointerOverElement = elements.FirstOrDefault() ?? root; return root.PointerOverElement; }
public void SetInputRoot(IInputRoot inputRoot) => _inputRoot = inputRoot;
private void MouseUp(IMouseDevice device, IInputRoot root, Point p, MouseButton button, InputModifiers inputModifiers) { var hit = HitTest(root, p); if (hit != null) { IInteractive source = GetSource(hit); if (source != null) { source.RaiseEvent(new PointerReleasedEventArgs { Device = this, RoutedEvent = InputElement.PointerReleasedEvent, Source = source, MouseButton = button, InputModifiers = inputModifiers }); } } }
private void ClearPointerOver(IPointerDevice device, IInputRoot root) { foreach (var control in _pointerOvers.ToList()) { PointerEventArgs e = new PointerEventArgs { RoutedEvent = InputElement.PointerLeaveEvent, Device = device, Source = control, }; _pointerOvers.Remove(control); control.RaiseEvent(e); } root.PointerOverElement = null; }
private bool MouseUp(IMouseDevice device, IInputRoot root, Point p, MouseButton button, InputModifiers inputModifiers) { var hit = HitTest(root, p); if (hit != null) { var source = GetSource(hit); var e = new PointerReleasedEventArgs { Device = this, RoutedEvent = InputElement.PointerReleasedEvent, Source = source, MouseButton = button, InputModifiers = inputModifiers }; source?.RaiseEvent(e); return e.Handled; } return false; }
private void LeaveWindow(IMouseDevice device, IInputRoot root) { ClearPointerOver(this, root); }
private IInputElement SetPointerOver(IPointerDevice device, IInputRoot root, Point p) { var elements = root.GetInputElementsAt(p).ToList(); return(SetPointerOver(device, root, elements)); }
private DragDropEffects DragEnter(IInputRoot inputRoot, Point point, IDataObject data, DragDropEffects effects, KeyModifiers modifiers) { _lastTarget = GetTarget(inputRoot, point); return(RaiseDragEvent(_lastTarget, inputRoot, point, DragDrop.DragEnterEvent, effects, data, modifiers)); }
public void SetInputRoot(IInputRoot inputRoot) { }
private bool MouseWheel(IMouseDevice device, IInputRoot root, Point p, Vector delta, InputModifiers inputModifiers) { var hit = HitTest(root, p); if (hit != null) { var source = GetSource(hit); var e = new PointerWheelEventArgs { Device = this, RoutedEvent = InputElement.PointerWheelChangedEvent, Source = source, Delta = delta, InputModifiers = inputModifiers }; source?.RaiseEvent(e); return e.Handled; } return false; }
private void MouseMove(IMouseDevice device, IInputRoot root, Point p, InputModifiers inputModifiers) { IInputElement source; if (Captured == null) { source = SetPointerOver(this, root, p); } else { var elements = Captured.GetSelfAndVisualAncestors().OfType<IInputElement>().ToList(); SetPointerOver(this, root, elements); source = Captured; } source.RaiseEvent(new PointerEventArgs { Device = this, RoutedEvent = InputElement.PointerMovedEvent, Source = source, InputModifiers = inputModifiers }); }
void ITopLevelImpl.SetInputRoot(IInputRoot inputRoot) { base.SetInputRoot(inputRoot); _keyboardHelper.UpdateKeyboardState(inputRoot); }
private void MouseWheel(IMouseDevice device, IInputRoot root, Point p, Vector delta, InputModifiers inputModifiers) { var hit = HitTest(root, p); if (hit != null) { IInteractive source = GetSource(hit); if (source != null) { source.RaiseEvent(new PointerWheelEventArgs { Device = this, RoutedEvent = InputElement.PointerWheelChangedEvent, Source = source, Delta = delta, InputModifiers = inputModifiers }); } } }
public void SetInputRoot(IInputRoot inputRoot) => _tl.SetInputRoot(inputRoot);
private IInputElement SetPointerOver(IPointerDevice device, IInputRoot root, Point p) { var elements = root.GetInputElementsAt(p).ToList(); return SetPointerOver(device, root, elements); }
public void SetInputRoot(IInputRoot inputRoot) { _owner = inputRoot; CreateDropTarget(); }
void ITopLevelImpl.SetInputRoot(IInputRoot inputRoot) => _inputRoot = inputRoot;
public void SetInputRoot(IInputRoot inputRoot) { InputRoot = inputRoot; _inputBackend.SetInputRoot(inputRoot); }