예제 #1
0
        /// <summary>
        /// Overridden.  See <see cref="PPaintContext.PushMatrix">PPaintContext.PushTransform</see>.
        /// </summary>
        public override void PushMatrix(PMatrix matrix)
        {
            if (matrix == null)
            {
                return;
            }
            RectangleF newLocalClip = matrix.InverseTransform(LocalClip);

            localClipStack.Push(newLocalClip);
            PMatrix newMatrix = (PMatrix)Transform.Clone();

            newMatrix.Multiply(matrix);
            transformStack.Push(newMatrix);

            SetWorldMatrix(newMatrix);
        }
예제 #2
0
 /// <summary>
 /// Transform the point from the camera's local coordinate system to the camera's
 /// view coordinate system.
 /// </summary>
 /// <param name="point">
 /// The point in the camera's local coordinate system to be transformed.
 /// </param>
 /// <returns>The point in the camera's view coordinate system.</returns>
 public virtual PointF LocalToView(PointF point)
 {
     return(viewMatrix.InverseTransform(point));
 }