/// <summary> /// 始点が存在するとき /// マウスがホバーしたら /// 一時的エッジを描画。 /// </summary> private void CanvasMouseMove(MouseEventArgs e) { var posExact = e.GetPosition(mCanvas); var pos = PointProc.SnapToGrid(posExact.X, posExact.Y, mDP.mGridSz); if (e.LeftButton == MouseButtonState.Released) { switch (mMode) { case Mode.ModeSetFirstPoint: mPP.SetFirstPointMouseMove(pos); break; case Mode.ModeAddEdge: TmpEdgeRedrawMouseMove(pos); break; case Mode.ModeDeletePointEdge: DeletePointEdgeMouseMove(pos); break; } } else { // マウスが左ドラッグ。 } }
private void CanvasMouseDownRight(MouseButtonEventArgs e) { var posExact = e.GetPosition(mCanvas); var pos = PointProc.SnapToGrid(posExact.X, posExact.Y, mDP.mGridSz); switch (mMode) { case Mode.ModeAddEdge: PointAddRightClicked(pos); break; } }
private void CanvasMouseDownLeft(MouseButtonEventArgs e) { var posExact = e.GetPosition(mCanvas); var pos = PointProc.SnapToGrid(posExact.X, posExact.Y, mDP.mGridSz); switch (mMode) { case Mode.ModeSetFirstPoint: SetFirstPointLeftClicked(pos); break; case Mode.ModeAddEdge: PointAddLeftClicked(pos); break; case Mode.ModeDeletePointEdge: DeletePointEdgeLeftClicked(pos); break; } }