diff --git a/Cargo.toml b/Cargo.toml index 1bad203..5287711 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "layers" -version = "0.5.0" +version = "0.5.1" authors = ["The Servo Project Developers"] license = "MIT/Apache-2.0" diff --git a/src/layers.rs b/src/layers.rs index 8302b10..90665f8 100644 --- a/src/layers.rs +++ b/src/layers.rs @@ -197,13 +197,13 @@ impl Layer { // Build world space transform let local_transform = Matrix4D::identity() - .post_translated(x0, y0, 0.0) - .post_mul(&*self.transform.borrow()) - .post_translated(-x0, -y0, 0.0); + .pre_translated(x0, y0, 0.0) + .pre_mul(&*self.transform.borrow()) + .pre_translated(-x0, -y0, 0.0); ts.final_transform = parent_perspective - .post_mul(&local_transform) - .post_mul(&parent_transform); + .pre_mul(&local_transform) + .pre_mul(&parent_transform); ts.screen_rect = project_rect_to_screen(&ts.world_rect, &ts.final_transform); // TODO(gw): This is quite bogus. It's a hack to allow the paint task @@ -215,9 +215,9 @@ impl Layer { // Build world space perspective transform let perspective_transform = Matrix4D::identity() - .post_translated(x0, y0, 0.0) - .post_mul(&*self.perspective.borrow()) - .post_translated(-x0, -y0, 0.0); + .pre_translated(x0, y0, 0.0) + .pre_mul(&*self.perspective.borrow()) + .pre_translated(-x0, -y0, 0.0); for child in self.children().iter() { child.update_transform_state(&ts.final_transform, diff --git a/src/rendergl.rs b/src/rendergl.rs index 239c0df..f1fc969 100755 --- a/src/rendergl.rs +++ b/src/rendergl.rs @@ -575,14 +575,14 @@ impl RenderContext { // coordinates when dealing with GL_ARB_texture_rectangle. let mut texture_transform = Matrix4D::identity(); if texture.flip == VerticalFlip { - texture_transform = texture_transform.post_scaled(1.0, -1.0, 1.0); + texture_transform = texture_transform.pre_scaled(1.0, -1.0, 1.0); } if texture_coordinates_need_to_be_scaled_by_size { - texture_transform = texture_transform.post_scaled( + texture_transform = texture_transform.pre_scaled( texture.size.width as f32, texture.size.height as f32, 1.0); } if texture.flip == VerticalFlip { - texture_transform = texture_transform.post_translated(0.0, -1.0, 0.0); + texture_transform = texture_transform.pre_translated(0.0, -1.0, 0.0); } program.bind_uniforms_and_attributes(vertices, @@ -625,7 +625,7 @@ impl RenderContext { clip_rect: Option>, gfx_context: &NativeDisplay) { let ts = layer.transform_state.borrow(); - let transform = transform.post_mul(&ts.final_transform); + let transform = transform.pre_mul(&ts.final_transform); let background_color = *layer.background_color.borrow(); // Create native textures for this layer @@ -832,7 +832,7 @@ pub fn render_scene(root_layer: Rc>, gl::depth_func(gl::LEQUAL); // Set up the initial modelview matrix. - let transform = Matrix4D::identity().post_scaled(scene.scale.get(), scene.scale.get(), 1.0); + let transform = Matrix4D::identity().pre_scaled(scene.scale.get(), scene.scale.get(), 1.0); let projection = create_ortho(&scene.viewport.size.to_untyped()); // Build the list of render items