Fixed
Status Update
Comments
an...@google.com <an...@google.com>
mo...@google.com <mo...@google.com> #2
These are done for performance reasons. We can consider using inline classes for them, perhaps.
mo...@google.com <mo...@google.com>
ap...@google.com <ap...@google.com> #3
Project: platform/frameworks/support
Branch: androidx-master-dev
commit dafa1eddd186d641b738c0232984698c20b92a82
Author: George Mount <mount@google.com>
Date: Wed Aug 19 15:59:57 2020
Change Matrix4 to Matrix
Bug: 160140398
Bug: 162351735
Matrix uses an efficient length 16 float array as an
inline class and requires fewer allocations than Matrix4.
The only class used in vectormath was Matrix4, so
Matrix is now in graphics instead.
All uses of Matrix4 were replaced with Matrix.
Relnote: "Matrix4 was replaced with Matrix. All other parts
of vectormath package have been removed."
Test: New tests for Matrix
Test: All ui tests and connectedCheck
Test: Basic visual pass on demo app
Change-Id: Ibd66522490b861d85a7539176a4f105e20c31a66
M .idea/codeStyles/Project.xml
M compose/desktop/desktop/src/jvmTest/kotlin/androidx/compose/ui/graphics/canvas/DesktopCanvasTest.kt
M compose/material/material/src/commonMain/kotlin/androidx/compose/material/ProgressIndicator.kt
M compose/ui/ui-graphics/api/api_lint.ignore
M compose/ui/ui-graphics/api/current.txt
M compose/ui/ui-graphics/api/public_plus_experimental_current.txt
M compose/ui/ui-graphics/api/restricted_current.txt
M compose/ui/ui-graphics/src/androidAndroidTest/kotlin/androidx/compose/ui/graphics/PathTest.kt
M compose/ui/ui-graphics/src/androidMain/kotlin/androidx/compose/ui/graphics/AndroidCanvas.kt
M compose/ui/ui-graphics/src/androidMain/kotlin/androidx/compose/ui/graphics/AndroidPath.kt
M compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/Canvas.kt
M compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/Degrees.kt
A compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/Matrix.kt
M compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/Path.kt
M compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/drawscope/DrawScope.kt
M compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/drawscope/DrawTransform.kt
M compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/drawscope/EmptyCanvas.kt
D compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/vectormath/Matrix3.kt
D compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/vectormath/Matrix4.kt
D compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/vectormath/MatrixColumn.kt
D compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/vectormath/MatrixExtensions.kt
D compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/vectormath/Scalar.kt
D compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/vectormath/Vector2.kt
D compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/vectormath/Vector3.kt
D compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/vectormath/Vector4.kt
D compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/vectormath/VectorExtensions.kt
M compose/ui/ui-graphics/src/desktopMain/kotlin/androidx/compose/ui/graphics/DesktopCanvas.kt
M compose/ui/ui-graphics/src/desktopMain/kotlin/androidx/compose/ui/graphics/DesktopPath.kt
A compose/ui/ui-graphics/src/test/java/androidx/compose/ui/graphics/MatrixTest.kt
M compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/graphics/vector/Vector.kt
M compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/node/OwnedLayer.kt
M compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/platform/DesktopActuals.kt
M compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/platform/SkijaLayer.kt
https://android-review.googlesource.com/1406410
Branch: androidx-master-dev
commit dafa1eddd186d641b738c0232984698c20b92a82
Author: George Mount <mount@google.com>
Date: Wed Aug 19 15:59:57 2020
Change Matrix4 to Matrix
Bug: 160140398
Bug: 162351735
Matrix uses an efficient length 16 float array as an
inline class and requires fewer allocations than Matrix4.
The only class used in vectormath was Matrix4, so
Matrix is now in graphics instead.
All uses of Matrix4 were replaced with Matrix.
Relnote: "Matrix4 was replaced with Matrix. All other parts
of vectormath package have been removed."
Test: New tests for Matrix
Test: All ui tests and connectedCheck
Test: Basic visual pass on demo app
Change-Id: Ibd66522490b861d85a7539176a4f105e20c31a66
M .idea/codeStyles/Project.xml
M compose/desktop/desktop/src/jvmTest/kotlin/androidx/compose/ui/graphics/canvas/DesktopCanvasTest.kt
M compose/material/material/src/commonMain/kotlin/androidx/compose/material/ProgressIndicator.kt
M compose/ui/ui-graphics/api/api_lint.ignore
M compose/ui/ui-graphics/api/current.txt
M compose/ui/ui-graphics/api/public_plus_experimental_current.txt
M compose/ui/ui-graphics/api/restricted_current.txt
M compose/ui/ui-graphics/src/androidAndroidTest/kotlin/androidx/compose/ui/graphics/PathTest.kt
M compose/ui/ui-graphics/src/androidMain/kotlin/androidx/compose/ui/graphics/AndroidCanvas.kt
M compose/ui/ui-graphics/src/androidMain/kotlin/androidx/compose/ui/graphics/AndroidPath.kt
M compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/Canvas.kt
M compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/Degrees.kt
A compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/Matrix.kt
M compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/Path.kt
M compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/drawscope/DrawScope.kt
M compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/drawscope/DrawTransform.kt
M compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/drawscope/EmptyCanvas.kt
D compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/vectormath/Matrix3.kt
D compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/vectormath/Matrix4.kt
D compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/vectormath/MatrixColumn.kt
D compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/vectormath/MatrixExtensions.kt
D compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/vectormath/Scalar.kt
D compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/vectormath/Vector2.kt
D compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/vectormath/Vector3.kt
D compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/vectormath/Vector4.kt
D compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/vectormath/VectorExtensions.kt
M compose/ui/ui-graphics/src/desktopMain/kotlin/androidx/compose/ui/graphics/DesktopCanvas.kt
M compose/ui/ui-graphics/src/desktopMain/kotlin/androidx/compose/ui/graphics/DesktopPath.kt
A compose/ui/ui-graphics/src/test/java/androidx/compose/ui/graphics/MatrixTest.kt
M compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/graphics/vector/Vector.kt
M compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/node/OwnedLayer.kt
M compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/platform/DesktopActuals.kt
M compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/platform/SkijaLayer.kt
ap...@google.com <ap...@google.com> #4
Project: platform/frameworks/support
Branch: androidx-master-dev
commit 087ec02f5f49fc7bdfffd5b0d3d2e0b8dbb12942
Author: George Mount <mount@google.com>
Date: Wed Aug 19 15:59:57 2020
Remove need to have NativeMatrix and NativeRect.
Bug: 160140398
NativeRect and NativeMatrix are no longer needed.
Further performance changes will be coming in a follow-up
CL.
Relnote: N/A
Test: ui and ui-graphics test and connectedCheck
Change-Id: I056c85df038ecc884ab33e74d5d2287fcfcb761b
M compose/ui/ui-graphics/api/current.txt
M compose/ui/ui-graphics/api/public_plus_experimental_current.txt
M compose/ui/ui-graphics/api/restricted_current.txt
M compose/ui/ui-graphics/src/androidMain/kotlin/androidx/compose/ui/graphics/AndroidCanvas.kt
A compose/ui/ui-graphics/src/androidMain/kotlin/androidx/compose/ui/graphics/AndroidMatrixConversions.kt
M compose/ui/ui/api/current.txt
M compose/ui/ui/api/public_plus_experimental_current.txt
M compose/ui/ui/api/restricted_current.txt
D compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/platform/AndroidActuals.kt
M compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/platform/RenderNodeLayer.kt
M compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/platform/ViewLayer.kt
M compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/node/LayerWrapper.kt
M compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/node/LayoutNodeWrapper.kt
M compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/node/OwnedLayer.kt
M compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/platform/AtomicInt.kt
D compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/platform/DesktopActuals.kt
M compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/platform/SkijaLayer.kt
https://android-review.googlesource.com/1407128
Branch: androidx-master-dev
commit 087ec02f5f49fc7bdfffd5b0d3d2e0b8dbb12942
Author: George Mount <mount@google.com>
Date: Wed Aug 19 15:59:57 2020
Remove need to have NativeMatrix and NativeRect.
Bug: 160140398
NativeRect and NativeMatrix are no longer needed.
Further performance changes will be coming in a follow-up
CL.
Relnote: N/A
Test: ui and ui-graphics test and connectedCheck
Change-Id: I056c85df038ecc884ab33e74d5d2287fcfcb761b
M compose/ui/ui-graphics/api/current.txt
M compose/ui/ui-graphics/api/public_plus_experimental_current.txt
M compose/ui/ui-graphics/api/restricted_current.txt
M compose/ui/ui-graphics/src/androidMain/kotlin/androidx/compose/ui/graphics/AndroidCanvas.kt
A compose/ui/ui-graphics/src/androidMain/kotlin/androidx/compose/ui/graphics/AndroidMatrixConversions.kt
M compose/ui/ui/api/current.txt
M compose/ui/ui/api/public_plus_experimental_current.txt
M compose/ui/ui/api/restricted_current.txt
D compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/platform/AndroidActuals.kt
M compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/platform/RenderNodeLayer.kt
M compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/platform/ViewLayer.kt
M compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/node/LayerWrapper.kt
M compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/node/LayoutNodeWrapper.kt
M compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/node/OwnedLayer.kt
M compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/platform/AtomicInt.kt
D compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/platform/DesktopActuals.kt
M compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/platform/SkijaLayer.kt
mo...@google.com <mo...@google.com>
ap...@google.com <ap...@google.com> #5
Project: platform/frameworks/support
Branch: androidx-master-dev
commit 5258051d2d9db3e14ca58cd424742f94c1aceb40
Author: George Mount <mount@google.com>
Date: Fri Aug 21 11:08:48 2020
Remove allocations while calculating bounds.
Fixes: 160140398
Relnote: "Added MutableRect, a rectangle that can be modified."
The MutableRect can be used for calculations that would otherwise
allocate many Rects, but instead just change a single object.
MutableRect has been used in childBoundingBox().
Test: MutableRectTest
Test: ui, ui-geometry, and ui-graphics tests
Change-Id: I71bd20996a79aa72f33a1287e57e18d94c2cc504
M compose/ui/ui-geometry/api/current.txt
M compose/ui/ui-geometry/api/public_plus_experimental_current.txt
M compose/ui/ui-geometry/api/restricted_current.txt
A compose/ui/ui-geometry/src/commonMain/kotlin/androidx/compose/ui/geometry/MutableRect.kt
A compose/ui/ui-geometry/src/test/kotlin/androidx/compose/ui/geometry/MutableRectTest.kt
M compose/ui/ui-graphics/api/current.txt
M compose/ui/ui-graphics/api/public_plus_experimental_current.txt
M compose/ui/ui-graphics/api/restricted_current.txt
M compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/Matrix.kt
M compose/ui/ui-graphics/src/test/java/androidx/compose/ui/graphics/MatrixTest.kt
M compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/node/LayerWrapper.kt
M compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/node/LayoutNodeWrapper.kt
https://android-review.googlesource.com/1406491
Branch: androidx-master-dev
commit 5258051d2d9db3e14ca58cd424742f94c1aceb40
Author: George Mount <mount@google.com>
Date: Fri Aug 21 11:08:48 2020
Remove allocations while calculating bounds.
Fixes: 160140398
Relnote: "Added MutableRect, a rectangle that can be modified."
The MutableRect can be used for calculations that would otherwise
allocate many Rects, but instead just change a single object.
MutableRect has been used in childBoundingBox().
Test: MutableRectTest
Test: ui, ui-geometry, and ui-graphics tests
Change-Id: I71bd20996a79aa72f33a1287e57e18d94c2cc504
M compose/ui/ui-geometry/api/current.txt
M compose/ui/ui-geometry/api/public_plus_experimental_current.txt
M compose/ui/ui-geometry/api/restricted_current.txt
A compose/ui/ui-geometry/src/commonMain/kotlin/androidx/compose/ui/geometry/MutableRect.kt
A compose/ui/ui-geometry/src/test/kotlin/androidx/compose/ui/geometry/MutableRectTest.kt
M compose/ui/ui-graphics/api/current.txt
M compose/ui/ui-graphics/api/public_plus_experimental_current.txt
M compose/ui/ui-graphics/api/restricted_current.txt
M compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/Matrix.kt
M compose/ui/ui-graphics/src/test/java/androidx/compose/ui/graphics/MatrixTest.kt
M compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/node/LayerWrapper.kt
M compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/node/LayoutNodeWrapper.kt
Description
Places where android.graphics.Matrix and android.graphics.RectF are used better be switched to using Compose's own portable abstractions.