Exemple #1
0
        /// <summary>Just moves all contents in Y coordinate</summary>
        private static void TranslateYContents(List <Shape> contents, Transaction transaction, float Yoffset)
        {
            //Debug.WriteLine("Translate: " + Yoffset);
            System.Drawing.Drawing2D.Matrix matrix = new System.Drawing.Drawing2D.Matrix();
            matrix.Translate(0, Yoffset, System.Drawing.Drawing2D.MatrixOrder.Append);
            Transformation transform = new TransformAffine(Transformation.Modes.Move, matrix);

            foreach (Shape shape in contents)
            {
                transaction.Edit(shape);
                shape.ApplyTransformation(transform);
            }
        }
Exemple #2
0
        private static void TransformContents(List <Shape> contents, Transaction transaction, bool changingDocument, Rectangle newRect, Rectangle oldRect)
        {
            System.Drawing.Drawing2D.Matrix matrix = new System.Drawing.Drawing2D.Matrix();
            if (!changingDocument)
            {
                matrix.Translate(-oldRect.X, -oldRect.Y, System.Drawing.Drawing2D.MatrixOrder.Append);
                matrix.Scale((float)newRect.Width / oldRect.Width, (float)newRect.Height / oldRect.Height, System.Drawing.Drawing2D.MatrixOrder.Append);
                matrix.Translate(newRect.X, newRect.Y, System.Drawing.Drawing2D.MatrixOrder.Append);
            }
            else
            {
                matrix.Scale((float)newRect.Width / oldRect.Width, (float)newRect.Height / oldRect.Height, System.Drawing.Drawing2D.MatrixOrder.Append);
            }
            Transformation transform = new TransformAffine(Transformation.Modes.Move, matrix);

            foreach (Shape shape in contents)
            {
                transaction.Edit(shape);
                shape.ApplyTransformation(transform);
            }
        }