mirror of
https://github.com/servo/servo.git
synced 2025-08-06 06:00:15 +01:00
Fix rotate_to_matrix.
We used transposed matrices for rotate before this fix. https://www.w3.org/TR/css-transforms-1/#Rotate3dDefined
This commit is contained in:
parent
12a49dc0be
commit
81e51b31d6
1 changed files with 7 additions and 7 deletions
|
@ -1738,7 +1738,7 @@ fn add_weighted_transform_lists(from_list: &[TransformOperation],
|
|||
TransformList(Some(result))
|
||||
}
|
||||
|
||||
/// https://drafts.csswg.org/css-transforms/#Rotate3dDefined
|
||||
/// https://www.w3.org/TR/css-transforms-1/#Rotate3dDefined
|
||||
fn rotate_to_matrix(x: f32, y: f32, z: f32, a: Angle) -> ComputedMatrix {
|
||||
let half_rad = a.radians() / 2.0;
|
||||
let sc = (half_rad).sin() * (half_rad).cos();
|
||||
|
@ -1746,17 +1746,17 @@ fn rotate_to_matrix(x: f32, y: f32, z: f32, a: Angle) -> ComputedMatrix {
|
|||
|
||||
ComputedMatrix {
|
||||
m11: 1.0 - 2.0 * (y * y + z * z) * sq,
|
||||
m12: 2.0 * (x * y * sq - z * sc),
|
||||
m13: 2.0 * (x * z * sq + y * sc),
|
||||
m12: 2.0 * (x * y * sq + z * sc),
|
||||
m13: 2.0 * (x * z * sq - y * sc),
|
||||
m14: 0.0,
|
||||
|
||||
m21: 2.0 * (x * y * sq + z * sc),
|
||||
m21: 2.0 * (x * y * sq - z * sc),
|
||||
m22: 1.0 - 2.0 * (x * x + z * z) * sq,
|
||||
m23: 2.0 * (y * z * sq - x * sc),
|
||||
m23: 2.0 * (y * z * sq + x * sc),
|
||||
m24: 0.0,
|
||||
|
||||
m31: 2.0 * (x * z * sq - y * sc),
|
||||
m32: 2.0 * (y * z * sq + x * sc),
|
||||
m31: 2.0 * (x * z * sq + y * sc),
|
||||
m32: 2.0 * (y * z * sq - x * sc),
|
||||
m33: 1.0 - 2.0 * (x * x + y * y) * sq,
|
||||
m34: 0.0,
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue