private static void setTransformProperty(TView view, JArray transforms) { TransformHelper.processTransform(transforms, sTransformDecompositionArray); MatrixMathHelper.decomposeMatrix(sTransformDecompositionArray, ref sMatrixDecompositionContext); //Log.Info(ReactConstants.Tag, $"setTransformProperty view[{view.GetTag()}] \n" + // $"\t\tTranslationX={sMatrixDecompositionContext.translation[0]} TranslationY={sMatrixDecompositionContext.translation[1]} \n" + // $"\t\trotationX={sMatrixDecompositionContext.rotationDegrees[0]} rotationY={sMatrixDecompositionContext.rotationDegrees[1]} rotationZ={sMatrixDecompositionContext.rotationDegrees[2]} \n" + // $"\t\tScaleX={sMatrixDecompositionContext.scale[0]} ScaleY={sMatrixDecompositionContext.scale[1]}"); view.SetMatrix(sMatrixDecompositionContext, false); }
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); }