Ejemplo n.º 1
0
		/// <summary>
		/// Pushes the given matrix onto the matrix stack.
		/// </summary>
		/// <param name="aMatrix">The matrix to push.</param>
		public virtual void PushMatrix(PMatrix aMatrix) {
			matrixStack.Push(new PTuple(PickedNode, aMatrix));
			if (aMatrix != null) {
				RectangleF newPickBounds = aMatrix.InverseTransform(PickBounds);
				pickBoundsStack.Push(newPickBounds);
			}
		}
        /// <summary>
        /// Pushes the given matrix onto the transform stack.
        /// </summary>
        /// <param name="matrix">The matrix to push.</param>
        /// <remarks>
        /// This method also applies the matrix to the graphics context and the current local clip.
        /// The new local clip is then pushed onto the local clip stack.
        /// </remarks>
        public virtual void PushTransform(PMatrix matrix)
        {
            if (matrix == null)
            {
                return;
            }
            RectangleF newLocalClip = matrix.InverseTransform(LocalClip);

            transformStack.Push(graphics.Matrix);
            localClipStack.Push(newLocalClip);
            graphics.MultiplyTransform(matrix);
        }
Ejemplo n.º 3
0
 /// <summary>
 /// Pushes the given matrix onto the transform stack.
 /// </summary>
 /// <param name="matrix">The matrix to push.</param>
 /// <remarks>
 /// This method also applies the matrix to the graphics context and the current local clip.
 /// The new local clip is then pushed onto the local clip stack.
 /// </remarks>
 public virtual void PushTransform(PMatrix matrix)
 {
     if (matrix == null) return;
     RectangleF newLocalClip = matrix.InverseTransform(LocalClip);
     transformStack.Push(graphics.Matrix);
     localClipStack.Push(newLocalClip);
     graphics.MultiplyTransform(matrix);
 }