public void HandleMouseUp(int x, int y, Input.MouseEventsContext mouseEventsContext) { if (IsMouseOver || mouseEventsContext.CaptureTo == this) { MouseUpCore(x, y, mouseEventsContext); } }
/// Mouse events public void HandleMouseMove(int x, int y, Input.MouseEventsContext mouseEventsContext) { if (IsHitTestVisible && IsVisible) { HitTestCore(x, y, mouseEventsContext); } }
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); }
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); }
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"); }
protected virtual void MouseUpCore(int x, int y, Input.MouseEventsContext mouseEventsContext) { }
protected virtual void OnHitTest(int x, int y, Input.MouseEventsContext context) { }
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)); }
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"); }
protected virtual void MouseUpCore(double x, double y, Input.MouseEventsContext mouseEventsContext) { }
protected virtual void OnHitTest(double x, double y, Input.MouseEventsContext context) { }
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"); }
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)); }