コード例 #1
0
ファイル: Picture.cs プロジェクト: Exordzimka/paintMy
        public void MouseUp()
        {
            var selected    = Manipulator.Selected;
            var addedLevels = 0;

            if (ChangedPositionOfSelected() && ChangedSizeOfSelected())
            {
                for (var i = 0; i < selected.Figures.Count; i++)
                {
                    var figure      = selected.Figures[i];
                    var startFigure = figuresStartProperties[i];
                    undoRedo.InsertInUnDoRedoForMove(figure, figure.getX - startFigure.getX, figure.getY - startFigure.getY);
                    undoRedo.InsertInUnDoRedoForResize(figure, figure.getWidth - startFigure.getWidth, figure.getHeight - startFigure.getHeight);
                    addedLevels += 2;
                    redoLevels.Clear();
                }
                undoLevels.Push(addedLevels);
            }
            else
            {
                if (ChangedPositionOfSelected())
                {
                    for (var i = 0; i < selected.Figures.Count; i++)
                    {
                        var figure      = selected.Figures[i];
                        var startFigure = figuresStartProperties[i];
                        undoRedo.InsertInUnDoRedoForMove(figure, figure.getX - startFigure.getX, figure.getY - startFigure.getY);
                        addedLevels += 1;
                        redoLevels.Clear();
                    }
                    undoLevels.Push(addedLevels);
                }
                else if (ChangedSizeOfSelected())
                {
                    for (var i = 0; i < selected.Figures.Count; i++)
                    {
                        var figure      = selected.Figures[i];
                        var startFigure = figuresStartProperties[i];
                        undoRedo.InsertInUnDoRedoForResize(figure, figure.getWidth - startFigure.getWidth, figure.getHeight - startFigure.getHeight);
                        addedLevels += 1;
                        redoLevels.Clear();
                    }
                    undoLevels.Push(addedLevels);
                }
            }


            mouseDown = false;
        }