private void UpdateHoveredControl(Base inCanvas) { Base hovered = inCanvas.GetControlAt(MousePosition.X, MousePosition.Y); if (hovered != HoveredControl) { if (HoveredControl != null) { var oldHover = HoveredControl; HoveredControl = null; oldHover.InputMouseLeft(); } HoveredControl = hovered; if (HoveredControl != null) { HoveredControl.InputMouseEntered(); } } if (MouseFocus != null && MouseFocus.GetCanvas() == inCanvas) { if (HoveredControl != null) { var oldHover = HoveredControl; HoveredControl = null; oldHover.Redraw(); } HoveredControl = MouseFocus; } }