void mPanel_MouseDown(object sender, MouseEventArgs e) { if (CurrentTool != null) { CurrentTool.OnMouseDown(e.X, e.Y, e); } }
//-------------------------------------------------------------------------------------------------- public void MouseDown(ViewportController viewportController) { if (_LastDetectedInteractive is AIS_ViewCube viewCube && _LastDetectedOwner is AIS_ViewCubeOwner viewCubeOwner) { if (!viewportController.LockedToPlane) { viewCube.HandleClick(viewCubeOwner); } return; } if (CurrentTool != null) { if (CurrentTool.OnMouseDown(_MouseEventData)) { // Handled by tool return; } } if (_ToolActions.Any()) { foreach (var toolAction in _ToolActions) { if (toolAction.OnMouseDown(_MouseEventData)) { // Handled by tool action return; } } } IsSelecting = true; }
private void panelForm_MouseDown(object sender, MouseEventArgs e) { Focus(); if (e.Button == MouseButtons.Left) { CurrentTool.OnMouseDown(e.X, e.Y); CurrentTool.AfterControlCreate(); } }
private void panelWorkflow_MouseDown(object sender, MouseEventArgs e) { Focus(); if (e.Button == MouseButtons.Left) { CurrentTool.OnMouseDown(e.X, e.Y); CurrentTool.AfterActivityCreate(); } }
void DrawingCanvas_MouseDown(object sender, MouseButtonEventArgs e) { this.Focus(); if (e.ChangedButton == MouseButton.Left) { if (e.ClickCount == 2) { HandleDoubleClick(e); // special case for GraphicsText } else { Point loc = e.GetPosition(this); if (CurrentRuler.IsSnapping) { CurrentSnapPosition = new Point(-1, -1); Point snap = new Point(loc.X, loc.Y); if (CurrentRuler.GuideManager.Intersection_GetNearst(ref snap)) { CurrentSnapPosition = snap; CurrentPosition = loc; CurrentTool.OnMouseDown(this, CurrentSnapPosition); return; } Guideline gl = CurrentRuler.GuideManager.GetSnapGuide(loc); if (gl != null) { gl.GetNearestPos(ref snap, CurrentRuler.dPicCapture); CurrentSnapPosition = snap; CurrentPosition = loc; CurrentTool.OnMouseDown(this, CurrentSnapPosition); return; } } CurrentPosition = loc; CurrentTool.OnMouseDown(this, CurrentPosition); } } else if (e.ChangedButton == MouseButton.Right) { //CurrentRuler.IsOnGuide(); //show guide menu //CurrentRuler.ContextMenu.PlacementTarget = CurrentRuler; //CurrentRuler.ContextMenu.IsOpen = true; this.ContextMenu.IsOpen = true; } e.Handled = true; }
protected override void OnToolGUI(Event e) { CurrentTool.OnGUI(e); switch (e.type) { case EventType.MouseDown when MouseRayValid && e.button == 0: IsMouseDown = true; IsMouseMove = false; CurrentTool.OnMouseDown(e); break; case EventType.MouseDrag when MouseRayValid: IsMouseMove = true; CurrentTool.OnMouseDrag(e); break; case EventType.MouseUp when MouseRayValid && e.button == 0: if (IsMouseMove) { CurrentTool.OnMouseUp(e); } else { CurrentTool.OnPrimaryMouseClicked(e); } IsMouseDown = false; break; case EventType.MouseUp when MouseRayValid && e.button == 1: CurrentTool.OnSecondaryMouseClicked(); break; case EventType.KeyUp: CurrentTool.OnKeyUp(e); break; } }