style: Return an infinite perspective in TransformOperation::Perspective::to_animated_zero

Differential Revision: https://phabricator.services.mozilla.com/D122919
This commit is contained in:
Matt Woodrow 2023-05-22 14:37:04 +02:00 committed by Oriol Brufau
parent 26c5db6a6e
commit 79893116e7
3 changed files with 11 additions and 7 deletions

View file

@ -1112,8 +1112,12 @@ impl Animate for ComputedTransformOperation {
let decomposed = decompose_3d_matrix(interpolated)?;
let perspective_z = decomposed.perspective.2;
let used_value = if perspective_z == 0. {
0.
// Clamp results outside of the -1 to 0 range so that we get perspective
// function values between 1 and infinity.
let used_value = if perspective_z >= 0. {
std::f32::INFINITY
} else if perspective_z <= -1. {
1.
} else {
-1. / perspective_z
};