/// <summary> /// Right mouse button is released /// </summary> /// <param name="drawArea"></param> /// <param name="e"></param> public override void OnMouseUp(XnaToolUser drawArea, MouseEventArgs e) { if (_selectMode == SelectionMode.NetSelection) { // Group selection drawArea.GraphicsList.SelectInRectangle(drawArea.NetRectangle); _selectMode = SelectionMode.None; drawArea.DrawNetRectangle = false; } if (_resizedObject != null) { // after resizing _resizedObject.Normalize(); _resizedObject = null; drawArea.ResizeCommand(drawArea.GraphicsList.GetFirstSelected(), new Point(_startPoint.X, _startPoint.Y), new Point(drawArea.MyMouseX, drawArea.MyMouseY), _resizedObjectHandle); } drawArea.Capture = false; drawArea.Refresh(); //push the command to undo/Redo list now if (_selectMode == SelectionMode.Move) { var movedItemsList = new ArrayList(); for (int i = 0; i < drawArea.GraphicsList.SelectionCount; i++) { movedItemsList.Add(drawArea.GraphicsList.GetSelectedObject(i)); } var delta = new Point { X = drawArea.MyMouseX - _startPoint.X, Y = drawArea.MyMouseY - _startPoint.Y }; drawArea.MoveCommand(movedItemsList, delta); } IsComplete = true; }