Report correct environmentblendmode

This commit is contained in:
Manish Goregaokar 2019-10-11 13:05:36 -07:00
parent 66fea73289
commit 26b2f02210
2 changed files with 14 additions and 5 deletions

4
Cargo.lock generated
View file

@ -5927,7 +5927,7 @@ dependencies = [
[[package]] [[package]]
name = "webxr" name = "webxr"
version = "0.0.1" version = "0.0.1"
source = "git+https://github.com/servo/webxr#ec49fdd1c1a7e45a2dfde2f4a7f07e9581f386ef" source = "git+https://github.com/servo/webxr#61344bc5d92bc218458063baa7bc5d2d388aa7f5"
dependencies = [ dependencies = [
"bindgen", "bindgen",
"euclid", "euclid",
@ -5945,7 +5945,7 @@ dependencies = [
[[package]] [[package]]
name = "webxr-api" name = "webxr-api"
version = "0.0.1" version = "0.0.1"
source = "git+https://github.com/servo/webxr#ec49fdd1c1a7e45a2dfde2f4a7f07e9581f386ef" source = "git+https://github.com/servo/webxr#61344bc5d92bc218458063baa7bc5d2d388aa7f5"
dependencies = [ dependencies = [
"euclid", "euclid",
"gleam 0.6.18", "gleam 0.6.18",

View file

@ -48,7 +48,7 @@ use profile_traits::ipc;
use std::cell::Cell; use std::cell::Cell;
use std::mem; use std::mem;
use std::rc::Rc; use std::rc::Rc;
use webxr_api::{self, Event as XREvent, Frame, SelectEvent, Session}; use webxr_api::{self, EnvironmentBlendMode, Event as XREvent, Frame, SelectEvent, Session};
#[dom_struct] #[dom_struct]
pub struct XRSession { pub struct XRSession {
@ -84,8 +84,7 @@ impl XRSession {
XRSession { XRSession {
eventtarget: EventTarget::new_inherited(), eventtarget: EventTarget::new_inherited(),
base_layer: Default::default(), base_layer: Default::default(),
// we don't yet support any AR devices blend_mode: session.environment_blend_mode().into(),
blend_mode: XREnvironmentBlendMode::Opaque,
viewer_space: Default::default(), viewer_space: Default::default(),
session: DomRefCell::new(session), session: DomRefCell::new(session),
frame_requested: Cell::new(false), frame_requested: Cell::new(false),
@ -463,3 +462,13 @@ pub fn cast_transform<T, U, V, W>(
) -> RigidTransform3D<f32, V, W> { ) -> RigidTransform3D<f32, V, W> {
unsafe { mem::transmute(transform) } unsafe { mem::transmute(transform) }
} }
impl From<EnvironmentBlendMode> for XREnvironmentBlendMode {
fn from(x: EnvironmentBlendMode) -> Self {
match x {
EnvironmentBlendMode::Opaque => XREnvironmentBlendMode::Opaque,
EnvironmentBlendMode::AlphaBlend => XREnvironmentBlendMode::Alpha_blend,
EnvironmentBlendMode::Additive => XREnvironmentBlendMode::Additive,
}
}
}