// ///////////////////////////////////////////////////////////////////////////////// // ///////////////////////////////////////////////////////////////////////////////// /// <summary> /// Base method propagates messages to children controls and managers. Override to /// add custom handling. /// </summary> internal protected override void OnMouseMoved(MouseData mouseData) { base.OnMouseMoved(mouseData); foreach (Manager m in managerList) { m.OnMouseMoved(mouseData); } Control checkUnderMouse = GetTopControlAt(mouseData.Position); if (checkUnderMouse != CurrentUnderMouse) { // check for Leave and Enter actions if (CurrentUnderMouse != null && CurrentUnderMouse.IsActive) { CurrentUnderMouse.OnMouseLeave(); } if (checkUnderMouse != null && checkUnderMouse.IsActive) { checkUnderMouse.OnMouseEnter(); } CurrentUnderMouse = checkUnderMouse; } if (CurrentUnderMouse != null && CurrentUnderMouse.IsActive) { CurrentUnderMouse.OnMouseMoved(mouseData); } }
private void CheckNewlyAddedControlMessages(Control control) { if (control.ScreenRect.Contains(CurrentMousePos)) { control.OnMouseEnter(); CurrentUnderMouse = control; } }
private void CheckNewlyAddedControlMessages(Control control) { if (control.ScreenRect.Contains(CurrentMousePos)) { control.OnMouseEnter(); CurrentUnderMouse = control; } }