void HandleMouseDoubleClick(object sender, swi.MouseButtonEventArgs e) { var args = e.ToEto(Control); Callback.OnMouseDoubleClick(Widget, args); e.Handled = args.Handled; }
void HandleMouseDown(object sender, swi.MouseButtonEventArgs e) { isMouseCaptured = false; var args = e.ToEto(Control); if (!(Control is swc.Control) && e.ClickCount == 2) { Callback.OnMouseDoubleClick(Widget, args); } if (!args.Handled) { WpfFrameworkElementHelper.ShouldCaptureMouse = true; Callback.OnMouseDown(Widget, args); } e.Handled = args.Handled || !WpfFrameworkElementHelper.ShouldCaptureMouse; if (WpfFrameworkElementHelper.ShouldCaptureMouse && ( // capture mouse automatically so mouse moves outside control are captured until released // but only if the control that was clicked is this control (!UseMousePreview && (e.OriginalSource == ContainerControl || e.OriginalSource == Control)) || e.Handled )) { e.Handled = true; isMouseCaptured = true; Control.CaptureMouse(); } }
void HandleMouseUp(object sender, swi.MouseButtonEventArgs e) { var args = e.ToEto(Control, swi.MouseButtonState.Released); Callback.OnMouseUp(Widget, args); e.Handled = args.Handled; if (Control.IsMouseCaptured && isMouseCaptured) { Control.ReleaseMouseCapture(); isMouseCaptured = false; } }
void HandleMouseDown(object sender, swi.MouseButtonEventArgs e) { isMouseCaptured = false; var args = e.ToEto(Control); if (!(Control is swc.Control) && e.ClickCount == 2) { Callback.OnMouseDoubleClick(Widget, args); } if (!args.Handled) { WpfFrameworkElementHelper.ShouldCaptureMouse = true; Callback.OnMouseDown(Widget, args); } e.Handled = args.Handled || !WpfFrameworkElementHelper.ShouldCaptureMouse; if (WpfFrameworkElementHelper.ShouldCaptureMouse && (!UseMousePreview || e.Handled)) { e.Handled = true; isMouseCaptured = true; Control.CaptureMouse(); } }