Exemplo n.º 1
0
        /// <param name="eventReceiver">A instance of <see cref="IMouseEventReceiver"/> which receives mouse events.</param>
        public InputSource(IMouseEventReceiver eventReceiver)
        {
            if (eventReceiver == null)
            {
                throw new ArgumentNullException(nameof(eventReceiver));
            }

            _mouseEventReceiver = new WeakReference <IMouseEventReceiver>(
                eventReceiver);

            _mouseHook = SetupMouseHook(OnRawMouseInputProcessed);
        }
Exemplo n.º 2
0
        protected override void OnMouseMove(MouseEventArgs e)
        {
            var newMouseMoveOnElement = SafeGetMouseEventReceiver(HitVisual(e.GetPosition(this)));

            if (!Equals(_mouseMoveOn, newMouseMoveOnElement))
            {
                if (_mouseMoveOn != null)
                {
                    _mouseMoveOn.OnMouseLeave(e);
                }
                if (newMouseMoveOnElement != null)
                {
                    newMouseMoveOnElement.OnMouseEnter(e);
                }
            }
            if (_mouseMoveOn != null)
            {
                _mouseMoveOn.OnMouseMove(e);
            }
            _mouseMoveOn = newMouseMoveOnElement;
            base.OnMouseMove(e);
        }
Exemplo n.º 3
0
        public InputSource(
            IKeyboardEventReceiver keyboardEventReceiver = null,
            IMouseEventReceiver mouseEventReceiver       = null)
        {
            if (keyboardEventReceiver == null && mouseEventReceiver == null)
            {
                throw new InvalidOperationException();
            }

            if (keyboardEventReceiver != null)
            {
                keyboardEventReceiverRef        = new WeakReference <IKeyboardEventReceiver>(keyboardEventReceiver);
                keyboardHook                    = new KeyboardHook();
                keyboardHook.RawInputProcessed += OnRawKeyboardInputProcessed;
            }

            if (mouseEventReceiver != null)
            {
                mouseEventReceiverRef        = new WeakReference <IMouseEventReceiver>(mouseEventReceiver);
                mouseHook                    = new MouseHook();
                mouseHook.RawInputProcessed += OnRawMouseInputProcessed;
            }
        }
Exemplo n.º 4
0
        /// <param name="keyboardEventReceiver">A instance of <see cref="IKeyboardEventReceiver"/> which receives keyboard events.</param>
        /// <param name="mouseEventReceiver">A instance of <see cref="IMouseEventReceiver"/> which receives mouse events.</param>
        public InputSource(
            IKeyboardEventReceiver keyboardEventReceiver,
            IMouseEventReceiver mouseEventReceiver)
        {
            if (keyboardEventReceiver == null)
            {
                throw new ArgumentNullException(nameof(keyboardEventReceiver));
            }

            if (mouseEventReceiver == null)
            {
                throw new ArgumentNullException(nameof(mouseEventReceiver));
            }

            _keyboardEventReceiver = new WeakReference <IKeyboardEventReceiver>(
                keyboardEventReceiver);

            _mouseEventReceiver = new WeakReference <IMouseEventReceiver>(
                mouseEventReceiver);

            _keyboardHook = SetupKeyboardHook(OnRawKeyboardInputProcessed);
            _mouseHook    = SetupMouseHook(OnRawMouseInputProcessed);
        }
Exemplo n.º 5
0
 protected override void OnMouseDown(MouseButtonEventArgs e)
 {
     _clickButton = e.ChangedButton;
     _mouseDownOn = SafeGetMouseEventReceiver(HitVisual(e.GetPosition(this)));
     base.OnMouseDown(e);
 }
Exemplo n.º 6
0
 public GraphVisual(IMouseEventReceiver MouseEventReceiver, int ZIndex = 0)
 {
     this.MouseEventReceiver = MouseEventReceiver;
     this.ZIndex = ZIndex;
 }
Exemplo n.º 7
0
 public GraphVisual(IMouseEventReceiver MouseEventReceiver, int ZIndex = 0)
 {
     this.MouseEventReceiver = MouseEventReceiver;
     this.ZIndex             = ZIndex;
 }
Exemplo n.º 8
0
 public EventSenderPictureBox(IMouseEventReceiver parent)
 {
     MouseMove += parent.HandleMouseMove;
     MouseDown += parent.HandleMouseDown;
     MouseUp   += parent.HandleMouseUp;
 }
Exemplo n.º 9
0
 public EventIntermediaryPictureBox(IMouseEventReceiver parent)
 {
     MouseMove += parent.HandleMouseMove;
     MouseDown += parent.HandleMouseDown;
     MouseUp   += parent.HandleMouseUp;
 }