public Matrix GetWorldToViewMatrix()
        {
            Matrix matrix = new Matrix();

            matrix.Scale(WorldViewGroup.CanvasViewport.Scale, WorldViewGroup.CanvasViewport.Scale, MatrixOrder.Append);
            matrix.Translate(PaddingLeft, PaddingTop, MatrixOrder.Append);
            var wtvMatrix = CanvasViewport.GetWorldToViewMatrix();

            matrix.Multiply(wtvMatrix, MatrixOrder.Append);
            return(matrix);
        }
        public PointF GetPaddingCanvasViewPointFromWorldPoint(PointF worldPoint)
        {
            // Padding Canvas View to Padding Canvas World Matrix
            Matrix matrix = CanvasViewport.GetWorldToViewMatrix();

            matrix.Invert();
            // Padding Canvas World Matrix to World matrix
            var paddingCanvasWorldToWorldTransform = WorldToPaddingCanvasTransform();

            paddingCanvasWorldToWorldTransform.Invert();
            matrix.Multiply(paddingCanvasWorldToWorldTransform, MatrixOrder.Append);

            matrix.Invert();
            return(matrix.TransformPoint(worldPoint));
        }
Пример #3
0
 public Matrix GetWorldToViewMatrix()
 {
     return(CanvasViewport.GetWorldToViewMatrix());
 }