Пример #1
0
        private static void SetProjectionMatrix(TFrameworkElement view, JArray transforms)
        {
            var projection      = EnsureProjection(view);
            var transformMatrix = TransformHelper.ProcessTransform(transforms);

            var translateMatrix     = Matrix3D.Identity;
            var translateBackMatrix = Matrix3D.Identity;

            if (!double.IsNaN(view.Width))
            {
                translateMatrix.OffsetX     = -view.Width / 2;
                translateBackMatrix.OffsetX = view.Width / 2;
            }

            if (!double.IsNaN(view.Height))
            {
                translateMatrix.OffsetY     = -view.Height / 2;
                translateBackMatrix.OffsetY = view.Height / 2;
            }

            projection.ProjectionMatrix = translateMatrix * transformMatrix * translateBackMatrix;
        }
Пример #2
0
        private static void SetProjectionMatrix(TFrameworkElement view, Dimensions dimensions, JArray transforms)
        {
            var transformMatrix = TransformHelper.ProcessTransform(transforms);

            var translateMatrix     = Matrix3D.Identity;
            var translateBackMatrix = Matrix3D.Identity;

            if (!double.IsNaN(dimensions.Width))
            {
                translateMatrix.OffsetX     = -dimensions.Width / 2;
                translateBackMatrix.OffsetX = dimensions.Width / 2;
            }

            if (!double.IsNaN(dimensions.Height))
            {
                translateMatrix.OffsetY     = -dimensions.Height / 2;
                translateBackMatrix.OffsetY = dimensions.Height / 2;
            }

            var projectionMatrix = translateMatrix * transformMatrix * translateBackMatrix;

            ApplyProjection(view, projectionMatrix);
        }