public override void Update(GameTime gameTime, Input input) { base.Update(gameTime, input); Content?.Update(gameTime, input); var currentMouseStatus = input.MouseStatus; var containsCurrentPosition = Bounds.Contains(currentMouseStatus.Position); var containsPreviousPosition = Bounds.Contains(_previousMouseStatus.Position); if (containsCurrentPosition && !containsPreviousPosition) { MouseEnter?.Invoke(); } else if (!containsCurrentPosition && containsPreviousPosition) { MouseLeave?.Invoke(); } else if (containsCurrentPosition) { MouseHover?.Invoke(); } if (containsCurrentPosition && currentMouseStatus.IsButtonJustPressed(MouseButtons.Left)) { Click?.Invoke(); } }
/// <summary> /// Checks for collision with cursor and invokes events based on user actions. /// </summary> public virtual void Update() { Container.SetPosition(new Vector2(CollRectangle.X, CollRectangle.Y)); Container.Color = CurrentColor; Rectangle mouse = InputSystem.GetMouseInUi(); if (mouse.Intersects(CollRectangle)) { MouseHover?.Invoke(); if (InputSystem.IsLeftMousePressed()) { _wasPressed = true; _wasReleased = false; } if (InputSystem.IsLeftMouseReleased() && _wasPressed) { _wasReleased = true; } if (_wasPressed && _wasReleased) { MouseClicked?.Invoke(this); _wasReleased = false; _wasPressed = false; } } else { MouseOut?.Invoke(); } }
internal void OnMouseHover(EventArgs e) { if (MouseHover != null) { MouseHover.Invoke(this, e); } }
void IActionTextLineMarker.MouseHover(MonoTextEditor editor, MarginMouseEventArgs args, TextLineMarkerHoverResult result) { MouseHover?.Invoke(this, new TextEventArgsWrapper(args)); result.Cursor = textLinkCursor; if (OnlyShowLinkOnHover && args.LineSegment != null) { editor.GetTextEditorData().Document.CommitLineUpdate(args.LineSegment); editor.TextViewMargin.HoveredLineChanged += new UpdateOldLine(editor, args.LineSegment).TextViewMargin_HoveredLineChanged; } }
void IActionTextLineMarker.MouseHover(MonoTextEditor editor, MarginMouseEventArgs args, TextLineMarkerHoverResult result) { MouseHover?.Invoke(this, new TextEventArgsWrapper(args)); result.Cursor = textLinkCursor; }
void IEventListener.ListenMouseHover(UIMouseHoverEventArgs e) { MouseHover?.Invoke(this, e); }
protected virtual void OnMouseHover(object sender, UIEventArgs e) { MouseHover?.Invoke(sender, e); }
internal void DispatchMouseHover(Point mousePosition) { MouseHover?.Invoke(this, mousePosition); }
internal void InvokeMouseHover(S sender, T state, UIMouseHoverEventArgs e) => MouseHover.Invoke(new SenderInfo(sender, state), e);