def on_mouse_drag_leave(self, x, y):
<EOL>children_under_mouse = self.__find_children_under_mouse_after_leave()<EOL>if self.propagate_mouse_events:<EOL><INDENT>for child in children_under_mouse.exited:<EOL><INDENT>child.dispatch_event('<STR_LIT>', x, y)<EOL><DEDENT><DEDENT>self.stop_event('<STR_LIT>')<EOL>self.__update_rollover_state('<STR_LIT>', x, y)<EOL>
React to the mouse being dragged out of this widget.

The ``on_mouse_drag_leave`` event is propagated to any children that 
are no longer under the mouse (i.e. that aren't grabbing the mouse), 
any ``on_mouse_hold`` event is stopped, and an ``on_rollover`` event is 
triggered to indicate that the widget's rollover state is now "base".