示例#1
0
        /// <summary>
        /// Метод, выполняющий копирование выбранных фигур.
        /// </summary>
        /// <para name = "SeleckResult">Переменная, хранящая список выделенных фигур</para>
        /// <para name = "Figures">Переменная, хранящая ссылку на список фигур.</para>
        public CopyFigure(List <Figure> SeleckResult, List <Figure> Figures)
        {
            _summFigureSelect = SeleckResult.Count;
            _summFigureBase   = Figures.Count;
            _selectFigure     = SeleckResult.GetRange(0, SeleckResult.Count);
            _saveFigure       = Figures.GetRange(0, Figures.Count);
            _figure           = Figures;

            foreach (Figure SelectObject in _selectFigure)
            {
                Figure   obj          = SelectObject.CloneFigure();
                PointF[] updatePoints = obj.Path.PathData.Points;
                byte[]   updateTypes  = obj.Path.PathData.Types;
                for (int i = 0; i < obj.Path.PointCount; i++)
                {
                    updatePoints[i].X += 20;
                    updatePoints[i].Y += 20;
                }
                obj.Path.Reset();
                obj.Path = new GraphicsPath(updatePoints, updateTypes);
                _figure.Add(obj);
                _figure[_figure.Count - 1].IdFigure = _figure.Count - 1;
            }
            _saveResult    = _figure.GetRange(0, _figure.Count);
            _operatorValue = "Replication selected figures";
        }