mirror of
https://github.com/servo/servo
synced 2026-04-25 17:15:48 +02:00
Put the Gamepad API and its supporting infrastructure behind a `gamepad` feature flag. This allows embedders to opt-out of gamepad support at compile time to save on binary size and reduce dependencies. Testing: 1. `./mach build -d` (Gamepad enabled by default) 2. `cargo build -p servoshell --no-default-features --features "libservo/clipboard,js_jit,max_log_level,webgpu"` (Gamepad Disabled) 3. `cargo build -p servoshell --features "gamepad,webxr,..."` (Gamepad & WebXR Enabled) Fixes: #40897 Signed-off-by: WaterWhisperer <waterwhisperer24@qq.com>
20 lines
783 B
Plaintext
20 lines
783 B
Plaintext
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
|
|
|
|
// skip-unless CARGO_FEATURE_GAMEPAD
|
|
|
|
// https://w3c.github.io/gamepad/extensions.html#gamepadpose-interface
|
|
[Exposed=Window, Pref="dom_gamepad_enabled"]
|
|
interface GamepadPose {
|
|
readonly attribute boolean hasOrientation;
|
|
readonly attribute boolean hasPosition;
|
|
|
|
readonly attribute Float32Array? position;
|
|
readonly attribute Float32Array? linearVelocity;
|
|
readonly attribute Float32Array? linearAcceleration;
|
|
readonly attribute Float32Array? orientation;
|
|
readonly attribute Float32Array? angularVelocity;
|
|
readonly attribute Float32Array? angularAcceleration;
|
|
};
|