public MouseLeave ( Control c, ViewBase next ) : void | ||
c | Control | Reference to the source control instance. |
next | ViewBase | Reference to view that is next to have the mouse. |
return | void |
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 (!ViewIsPartOfButton(next))
{
// Remove the repeat timer
if (_repeatTimer != null)
{
_repeatTimer.Stop();
_repeatTimer.Dispose();
_repeatTimer = null;
}
// Mouse is no longer over the target
_mouseOver = false;
// Do we need to update the visual state
if (!_fixedPressed)
{
// Not tracking the mouse means a null value
_mousePoint = CommonHelper.NullPoint;
// If leaving the view then cannot be capturing mouse input anymore
_captured = false;
// End any current dragging operation
if (_dragging)
OnDragQuit();
// Update the visual state
UpdateTargetState(c);
}
}
}
}