public static bool HandleInput(MouseInput mi) { var wasMouseOver = MouseOverWidget; if (mi.Event == MouseInputEvent.Move) { MouseOverWidget = null; } var handled = false; if (MouseFocusWidget != null && MouseFocusWidget.HandleMouseInputOuter(mi)) { handled = true; } if (!handled && Root.HandleMouseInputOuter(mi)) { handled = true; } if (mi.Event == MouseInputEvent.Move) { Viewport.LastMousePos = mi.Location; Viewport.LastMoveRunTime = Game.RunTime; } if (wasMouseOver != MouseOverWidget) { if (wasMouseOver != null) { wasMouseOver.MouseExited(); } if (MouseOverWidget != null) { MouseOverWidget.MouseEntered(); } } return(handled); }
public static bool HandleInput(MouseInput mi) { var wasMouseOver = MouseOverWidget; if (mi.Event == MouseInputEvent.Move) { MouseOverWidget = null; } bool handled = false; if (SelectedWidget != null && SelectedWidget.HandleMouseInputOuter(mi)) { handled = true; } if (!handled && Root.HandleMouseInputOuter(mi)) { handled = true; } if (mi.Event == MouseInputEvent.Move) { Viewport.LastMousePos = mi.Location; Viewport.TicksSinceLastMove = 0; } if (wasMouseOver != MouseOverWidget) { if (wasMouseOver != null) { wasMouseOver.MouseExited(); } if (MouseOverWidget != null) { MouseOverWidget.MouseEntered(); } } return(handled); }