mirror of
https://github.com/servo/servo.git
synced 2025-08-03 12:40:06 +01:00
Auto merge of #26352 - asajeffrey:webxr-glwindow-red-cyan, r=Manishearth
Add a pref for webxr glwindow anaglyphic red-cyan stereo <!-- Please describe your changes on the following line: --> Allows us to test out 3D content using old-skule glasses. --- <!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `___` with appropriate data: --> - [x] `./mach build -d` does not report any errors - [x] `./mach test-tidy` does not report any errors - [x] These changes do not require tests because it's back end work <!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.--> <!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
This commit is contained in:
commit
343f249c1d
5 changed files with 19 additions and 6 deletions
4
Cargo.lock
generated
4
Cargo.lock
generated
|
@ -6428,7 +6428,7 @@ dependencies = [
|
|||
[[package]]
|
||||
name = "webxr"
|
||||
version = "0.0.1"
|
||||
source = "git+https://github.com/servo/webxr#eae68436697131122504b035746daa3a157b36b4"
|
||||
source = "git+https://github.com/servo/webxr#e1e935abacbef378efd3c5a676dfe63d4e5a6692"
|
||||
dependencies = [
|
||||
"android_injected_glue",
|
||||
"bindgen",
|
||||
|
@ -6451,7 +6451,7 @@ dependencies = [
|
|||
[[package]]
|
||||
name = "webxr-api"
|
||||
version = "0.0.1"
|
||||
source = "git+https://github.com/servo/webxr#eae68436697131122504b035746daa3a157b36b4"
|
||||
source = "git+https://github.com/servo/webxr#e1e935abacbef378efd3c5a676dfe63d4e5a6692"
|
||||
dependencies = [
|
||||
"euclid",
|
||||
"ipc-channel",
|
||||
|
|
|
@ -297,8 +297,12 @@ mod gen {
|
|||
enabled: bool,
|
||||
#[serde(default)]
|
||||
test: bool,
|
||||
#[serde(default)]
|
||||
glwindow: bool,
|
||||
glwindow: {
|
||||
#[serde(default)]
|
||||
enabled: bool,
|
||||
#[serde(rename = "dom.webxr.glwindow.red-cyan")]
|
||||
red_cyan: bool,
|
||||
},
|
||||
hands: {
|
||||
#[serde(default)]
|
||||
enabled: bool,
|
||||
|
|
|
@ -54,7 +54,7 @@ impl App {
|
|||
))
|
||||
};
|
||||
|
||||
let xr_discovery = if pref!(dom.webxr.glwindow) {
|
||||
let xr_discovery = if pref!(dom.webxr.glwindow.enabled) {
|
||||
let window = window.clone();
|
||||
let surfman = window.webrender_surfman();
|
||||
let events_loop = events_loop.clone();
|
||||
|
|
|
@ -651,6 +651,14 @@ impl webxr::glwindow::GlWindow for XRWindow {
|
|||
fn get_translation(&self) -> Vector3D<f32, UnknownUnit> {
|
||||
self.pose.xr_translation.get().clone()
|
||||
}
|
||||
|
||||
fn get_mode(&self) -> webxr::glwindow::GlWindowMode {
|
||||
if pref!(dom.webxr.glwindow.red_cyan) {
|
||||
webxr::glwindow::GlWindowMode::StereoRedCyan
|
||||
} else {
|
||||
webxr::glwindow::GlWindowMode::StereoLeftRight
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl XRWindowPose {
|
||||
|
|
|
@ -33,7 +33,8 @@
|
|||
"dom.webvr.test": false,
|
||||
"dom.webvtt.enabled": false,
|
||||
"dom.webxr.enabled": true,
|
||||
"dom.webxr.glwindow": true,
|
||||
"dom.webxr.glwindow.enabled": true,
|
||||
"dom.webxr.glwindow.red-cyan": false,
|
||||
"dom.webxr.hands.enabled": false,
|
||||
"dom.webxr.layers.enabled": false,
|
||||
"dom.webxr.test": false,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue