예제 #1
0
 public void HandleMouseUp(int x, int y, Input.MouseEventsContext mouseEventsContext)
 {
     if (IsMouseOver || mouseEventsContext.CaptureTo == this)
     {
         MouseUpCore(x, y, mouseEventsContext);
     }
 }
예제 #2
0
 /// Mouse events
 public void HandleMouseMove(int x, int y, Input.MouseEventsContext mouseEventsContext)
 {
     if (IsHitTestVisible && IsVisible)
     {
         HitTestCore(x, y, mouseEventsContext);
     }
 }
예제 #3
0
 public void HandleMouseDown(double x, double y, Input.MouseEventsContext mouseEventsContext)
 {
     if (IsMouseOver || mouseEventsContext.CaptureTo == this)
     {
         MouseDownCore(x, y, mouseEventsContext);
     }
 }
        protected override void MouseUpCore(double x, double y, Input.MouseEventsContext mouseEventsContext)
        {
            OnMouseUp(
                x - (int)_visualOffset.X,
                y - (int)_visualOffset.Y,
                mouseEventsContext);

            base.MouseUpCore(x, y, mouseEventsContext);
        }
예제 #5
0
        protected override void MouseDownCore(int x, int y, Input.MouseEventsContext mouseEventsContext)
        {
            OnMouseDown(
                x - (int)_visualOffset.X,
                y - (int)_visualOffset.Y,
                mouseEventsContext);

            base.MouseDownCore(x, y, mouseEventsContext);
        }
        protected override void HitTestCore(double x, double y, Input.MouseEventsContext context)
        {
            OnHitTest(
                x - (int)_visualOffset.X,
                y - (int)_visualOffset.Y,
                context);


            base.HitTestCore(x, y, context);
        }
        protected override void OnHitTest(double x, double y, Input.MouseEventsContext context)
        {
            if (RenderSize.Contains(x, y) || context.CaptureTo == this)
            {
                if (!_mouseEntered)
                {
                    OnMouseEnter(x, y, context);
                    _mouseEntered = true;
                }

                OnMouseMove(x, y, context);
            }
            else if (_mouseEntered)
            {
                OnMouseLeave(x, y, context);
                _mouseEntered = false;
            }

            base.OnHitTest(x, y, context);
        }
예제 #8
0
 protected virtual void OnMouseEnter(int x, int y, Input.MouseEventsContext context)
 {
     IsMouseOver = true;
     MouseEnter?.Invoke(this, new Input.MouseEventArgs(context.MouseButtons, context.Clicks, x, y, context.Delta));
     System.Diagnostics.Debug.WriteLine($"{this} OnMouseEnter");
 }
예제 #9
0
 protected virtual void MouseUpCore(int x, int y, Input.MouseEventsContext mouseEventsContext)
 {
 }
예제 #10
0
 protected virtual void OnHitTest(int x, int y, Input.MouseEventsContext context)
 {
 }
예제 #11
0
 protected virtual void OnMouseUp(int x, int y, Input.MouseEventsContext context)
 {
     MouseUp?.Invoke(this, new Input.MouseEventArgs(context.MouseButtons, context.Clicks, x, y, context.Delta));
 }
예제 #12
0
 protected virtual void OnMouseMove(int x, int y, Input.MouseEventsContext context)
 {
     MouseMove?.Invoke(this, new Input.MouseEventArgs(context.MouseButtons, context.Clicks, x, y, context.Delta));
     //System.Diagnostics.Debug.WriteLine($"{this} OnMouseMove");
 }
예제 #13
0
 protected virtual void MouseUpCore(double x, double y, Input.MouseEventsContext mouseEventsContext)
 {
 }
예제 #14
0
 protected virtual void OnHitTest(double x, double y, Input.MouseEventsContext context)
 {
 }
예제 #15
0
 protected virtual void OnMouseUp(double x, double y, Input.MouseEventsContext context)
 {
     MouseUp?.Invoke(this, new Input.MouseEventArgs(context.MouseButtons, context.Clicks, x, y, context.Delta));
     System.Diagnostics.Debug.WriteLine($"{this} OnMouseUp");
 }
예제 #16
0
 protected virtual void OnClick(double x, double y, Input.MouseEventsContext context)
 {
     Click?.Invoke(this, new Input.MouseEventArgs(context.MouseButtons, context.Clicks, x, y, context.Delta));
 }