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; }
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); }