internal bool DoMouseUp(MouseButtonEventArgs e) { if (Parent == null) { return(false); } if (!isDragged) { Point im = new Point(e.X - inner.X, e.Y - inner.Y); if (hoverChild != null && hoverChild.IsDragged) { hoverChild.DoMouseUp(new MouseButtonEventArgs(im.X - hoverChild.Outer.X, im.Y - hoverChild.Outer.Y, e.Button, e.IsPressed)); return(true); } if (inner.Contains(e.Position)) { foreach (GLControl control in controls) { if (control.Outer.Contains(im)) { if (control.DoMouseUp(new MouseButtonEventArgs(im.X - control.Outer.X, im.Y - control.Outer.Y, e.Button, e.IsPressed))) { return(true); } } } } } if (MouseUp != null) { MouseUp(this, e); return(true); } return(handleMouseEvents); }