--- a/gfx/webrender_bindings/src/bindings.rs
+++ b/gfx/webrender_bindings/src/bindings.rs
@@ -6,17 +6,18 @@ use std::os::raw::{c_void, c_char, c_flo
use std::collections::HashMap;
use gleam::gl;
use webrender_traits::*;
use webrender::renderer::{ReadPixelsFormat, Renderer, RendererOptions};
use webrender::renderer::{ExternalImage, ExternalImageHandler, ExternalImageSource};
use webrender::{ApiRecordingReceiver, BinaryRecorder};
use app_units::Au;
-use euclid::{TypedPoint2D, TypedSize2D, TypedRect, TypedMatrix4D, SideOffsets2D};
+use euclid::{TypedPoint2D, TypedSize2D, TypedRect, TypedTransform3D, SideOffsets2D};
+use euclid::TypedVector2D;
extern crate webrender_traits;
// Enables binary recording that can be used with `wrench replay`
// Outputs a wr-record-*.bin file for each window that is shown
// Note: wrench will panic if external images are used, they can
// be disabled in WebRenderBridgeParent::ProcessWebRenderCommands
// by commenting out the path that adds an external image ID
@@ -169,16 +170,22 @@ pub struct WrPoint {
}
impl<U> Into<TypedPoint2D<f32, U>> for WrPoint {
fn into(self) -> TypedPoint2D<f32, U> {
TypedPoint2D::new(self.x, self.y)
}
}
+impl<U> Into<TypedVector2D<f32, U>> for WrPoint {
+ fn into(self) -> TypedVector2D<f32, U> {
+ TypedVector2D::new(self.x, self.y)
+ }
+}
+
#[repr(C)]
#[derive(Debug, Clone, Copy)]
pub struct WrSize {
width: f32,
height: f32,
}
impl WrSize {
@@ -224,54 +231,54 @@ impl<U> From<TypedRect<f32, U>> for WrRe
}
#[repr(C)]
#[derive(Debug, Clone, Copy)]
pub struct WrMatrix {
values: [f32; 16],
}
-impl<'a, U, E> Into<TypedMatrix4D<f32, U, E>> for &'a WrMatrix {
- fn into(self) -> TypedMatrix4D<f32, U, E> {
- TypedMatrix4D::row_major(self.values[0],
- self.values[1],
- self.values[2],
- self.values[3],
- self.values[4],
- self.values[5],
- self.values[6],
- self.values[7],
- self.values[8],
- self.values[9],
- self.values[10],
- self.values[11],
- self.values[12],
- self.values[13],
- self.values[14],
- self.values[15])
+impl<'a, U, E> Into<TypedTransform3D<f32, U, E>> for &'a WrMatrix {
+ fn into(self) -> TypedTransform3D<f32, U, E> {
+ TypedTransform3D::row_major(self.values[0],
+ self.values[1],
+ self.values[2],
+ self.values[3],
+ self.values[4],
+ self.values[5],
+ self.values[6],
+ self.values[7],
+ self.values[8],
+ self.values[9],
+ self.values[10],
+ self.values[11],
+ self.values[12],
+ self.values[13],
+ self.values[14],
+ self.values[15])
}
}
-impl<U, E> Into<TypedMatrix4D<f32, U, E>> for WrMatrix {
- fn into(self) -> TypedMatrix4D<f32, U, E> {
- TypedMatrix4D::row_major(self.values[0],
- self.values[1],
- self.values[2],
- self.values[3],
- self.values[4],
- self.values[5],
- self.values[6],
- self.values[7],
- self.values[8],
- self.values[9],
- self.values[10],
- self.values[11],
- self.values[12],
- self.values[13],
- self.values[14],
- self.values[15])
+impl<U, E> Into<TypedTransform3D<f32, U, E>> for WrMatrix {
+ fn into(self) -> TypedTransform3D<f32, U, E> {
+ TypedTransform3D::row_major(self.values[0],
+ self.values[1],
+ self.values[2],
+ self.values[3],
+ self.values[4],
+ self.values[5],
+ self.values[6],
+ self.values[7],
+ self.values[8],
+ self.values[9],
+ self.values[10],
+ self.values[11],
+ self.values[12],
+ self.values[13],
+ self.values[14],
+ self.values[15])
}
}
#[repr(C)]
#[derive(Debug, Clone, Copy)]
pub struct WrColor {
r: f32,
g: f32,