diff --git a/change/react-native-windows-3db31062-b08b-44b3-8158-a73f139c1714.json b/change/react-native-windows-3db31062-b08b-44b3-8158-a73f139c1714.json new file mode 100644 index 00000000000..d45f487e821 --- /dev/null +++ b/change/react-native-windows-3db31062-b08b-44b3-8158-a73f139c1714.json @@ -0,0 +1,7 @@ +{ + "type": "prerelease", + "comment": "yarn format", + "packageName": "react-native-windows", + "email": "erozell@outlook.com", + "dependentChangeType": "patch" +} diff --git a/vnext/Microsoft.ReactNative/Views/FrameworkElementViewManager.cpp b/vnext/Microsoft.ReactNative/Views/FrameworkElementViewManager.cpp index 86de820ef0d..412f4f90dc5 100644 --- a/vnext/Microsoft.ReactNative/Views/FrameworkElementViewManager.cpp +++ b/vnext/Microsoft.ReactNative/Views/FrameworkElementViewManager.cpp @@ -115,6 +115,12 @@ inline float ToRadians(const winrt::Microsoft::ReactNative::JSValue &value) { return static_cast(num); // assume suffix is "rad" } +static void MultiplyInto( + winrt::Windows::Foundation::Numerics::float4x4 &m, + winrt::Windows::Foundation::Numerics::float4x4 o) { + m = o * m; +} + void FrameworkElementViewManager::GetNativeProps(const winrt::Microsoft::ReactNative::IJSValueWriter &writer) const { Super::GetNativeProps(writer); @@ -181,52 +187,60 @@ bool FrameworkElementViewManager::UpdateProperty( innerMatrix.m42 = static_cast(innerValue[13].AsDouble()); innerMatrix.m43 = static_cast(innerValue[14].AsDouble()); innerMatrix.m44 = static_cast(innerValue[15].AsDouble()); - transformMatrix = transformMatrix * innerMatrix; + MultiplyInto(transformMatrix, innerMatrix); } else if (transformType == "perspective") { auto innerMatrix = winrt::Windows::Foundation::Numerics::float4x4::identity(); innerMatrix.m34 = -1 / innerValue.AsSingle(); - transformMatrix = transformMatrix * innerMatrix; + MultiplyInto(transformMatrix, innerMatrix); } else if (transformType == "rotateX") { - transformMatrix = transformMatrix * - winrt::Windows::Foundation::Numerics::make_float4x4_rotation_x(ToRadians(innerValue)); + MultiplyInto( + transformMatrix, + winrt::Windows::Foundation::Numerics::make_float4x4_rotation_x(ToRadians(innerValue))); } else if (transformType == "rotateY") { - transformMatrix = transformMatrix * - winrt::Windows::Foundation::Numerics::make_float4x4_rotation_y(ToRadians(innerValue)); + MultiplyInto( + transformMatrix, + winrt::Windows::Foundation::Numerics::make_float4x4_rotation_y(ToRadians(innerValue))); } else if (transformType == "rotate" || transformType == "rotateZ") { - transformMatrix = transformMatrix * - winrt::Windows::Foundation::Numerics::make_float4x4_rotation_z(ToRadians(innerValue)); + MultiplyInto( + transformMatrix, + winrt::Windows::Foundation::Numerics::make_float4x4_rotation_z(ToRadians(innerValue))); } else if (transformType == "scale") { - transformMatrix = transformMatrix * + MultiplyInto( + transformMatrix, winrt::Windows::Foundation::Numerics::make_float4x4_scale( - innerValue.AsSingle(), innerValue.AsSingle(), 1); + innerValue.AsSingle(), innerValue.AsSingle(), 1)); } else if (transformType == "scaleX") { - transformMatrix = transformMatrix * - winrt::Windows::Foundation::Numerics::make_float4x4_scale(innerValue.AsSingle(), 1, 1); + MultiplyInto( + transformMatrix, + winrt::Windows::Foundation::Numerics::make_float4x4_scale(innerValue.AsSingle(), 1, 1)); } else if (transformType == "scaleY") { - transformMatrix = transformMatrix * - winrt::Windows::Foundation::Numerics::make_float4x4_scale(1, innerValue.AsSingle(), 1); + MultiplyInto( + transformMatrix, + winrt::Windows::Foundation::Numerics::make_float4x4_scale(1, innerValue.AsSingle(), 1)); } else if (transformType == "translate") { auto ¶ms = innerValue.AsArray(); - transformMatrix = - transformMatrix * + MultiplyInto( + transformMatrix, winrt::Windows::Foundation::Numerics::make_float4x4_translation( - params[0].AsSingle(), params[1].AsSingle(), params.size() > 2 ? params[2].AsSingle() : 0.f); + params[0].AsSingle(), params[1].AsSingle(), params.size() > 2 ? params[2].AsSingle() : 0.f)); } else if (transformType == "translateX") { - transformMatrix = transformMatrix * - winrt::Windows::Foundation::Numerics::make_float4x4_translation(innerValue.AsSingle(), 0.f, 0.f); + MultiplyInto( + transformMatrix, + winrt::Windows::Foundation::Numerics::make_float4x4_translation(innerValue.AsSingle(), 0.f, 0.f)); } else if (transformType == "translateY") { - transformMatrix = transformMatrix * - winrt::Windows::Foundation::Numerics::make_float4x4_translation(0.f, innerValue.AsSingle(), 0.f); + MultiplyInto( + transformMatrix, + winrt::Windows::Foundation::Numerics::make_float4x4_translation(0.f, innerValue.AsSingle(), 0.f)); } else if (transformType == "skewX") { - transformMatrix = - transformMatrix * + MultiplyInto( + transformMatrix, winrt::Windows::Foundation::Numerics::float4x4( - winrt::Windows::Foundation::Numerics::make_float3x2_skew(innerValue.AsSingle(), 0.f)); + winrt::Windows::Foundation::Numerics::make_float3x2_skew(innerValue.AsSingle(), 0.f))); } else if (transformType == "skewY") { - transformMatrix = - transformMatrix * + MultiplyInto( + transformMatrix, winrt::Windows::Foundation::Numerics::float4x4( - winrt::Windows::Foundation::Numerics::make_float3x2_skew(0.f, innerValue.AsSingle())); + winrt::Windows::Foundation::Numerics::make_float3x2_skew(0.f, innerValue.AsSingle()))); } } }