/// <summary>
 /// Mouse has left the view.
 /// </summary>
 /// <param name="c">Reference to the source control instance.</param>
 /// <param name="next">Reference to view that is next to have the mouse.</param>
 public virtual void MouseLeave(Control c, ViewBase next)
 {
     // Only if mouse is leaving all the children monitored by controller.
     if (!_target.ContainsRecurse(next))
     {
         _mouseOver       = false;
         _mouseReallyOver = false;
         _mouseDown       = false;
         ViewManager.ClearTarget(this);
         UpdateTarget();
     }
 }
        /// <summary>
        /// Mouse has left the view.
        /// </summary>
        /// <param name="c">Reference to the source control instance.</param>
        /// <param name="next">Reference to view that is next to have the mouse.</param>
        public virtual void MouseLeave(Control c, ViewBase next)
        {
            // Is the controller allowed to track/click
            if (IsOperating)
            {
                // Only if mouse is leaving all the children monitored by controller.
                if (!_target.ContainsRecurse(next))
                {
                    // Mouse is no longer over the target
                    _mouseOver = false;

                    // If leaving the view then cannot be capturing mouse input anymore
                    Captured = false;

                    // Update the visual state
                    UpdateTargetState(c);
                }
            }
        }