コード例 #1
0
ファイル: Window.cs プロジェクト: vanattab/ochregui
        // /////////////////////////////////////////////////////////////////////////////////

        // /////////////////////////////////////////////////////////////////////////////////
        /// <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);
            }
        }
コード例 #2
0
ファイル: Window.cs プロジェクト: vanattab/ochregui
 private void CheckNewlyAddedControlMessages(Control control)
 {
     if (control.ScreenRect.Contains(CurrentMousePos))
     {
         control.OnMouseEnter();
         CurrentUnderMouse = control;
     }
 }
コード例 #3
0
ファイル: Window.cs プロジェクト: AIBrain/ochregui
 private void CheckNewlyAddedControlMessages(Control control)
 {
     if (control.ScreenRect.Contains(CurrentMousePos))
     {
         control.OnMouseEnter();
         CurrentUnderMouse = control;
     }
 }