webxr_api/
lib.rs

1/* This Source Code Form is subject to the terms of the Mozilla Public
2 * License, v. 2.0. If a copy of the MPL was not distributed with this
3 * file, You can obtain one at https://mozilla.org/MPL/2.0/. */
4
5//! This crate defines the Rust API for WebXR. It is implemented by the `webxr` crate.
6
7mod device;
8mod error;
9mod events;
10mod frame;
11mod hand;
12mod hittest;
13mod input;
14mod layer;
15mod mock;
16mod registry;
17mod session;
18mod space;
19pub mod util;
20mod view;
21
22pub use device::{DeviceAPI, DiscoveryAPI};
23pub use error::Error;
24pub use events::{Event, EventBuffer, Visibility};
25pub use frame::{Frame, FrameUpdateEvent, ViewerPose};
26pub use hand::{Finger, FingerJoint, Hand, HandSpace, Joint, JointFrame};
27pub use hittest::{
28    EntityType, EntityTypes, HitTestId, HitTestResult, HitTestSource, HitTestSpace, Ray, Triangle,
29};
30pub use input::{
31    Handedness, InputFrame, InputId, InputSource, SelectEvent, SelectKind, TargetRayMode,
32};
33pub use layer::{
34    ContextId, GLContexts, GLTypes, LayerGrandManager, LayerGrandManagerAPI, LayerId, LayerInit,
35    LayerLayout, LayerManager, LayerManagerAPI, LayerManagerFactory, SubImage, SubImages,
36};
37pub use mock::{
38    MockButton, MockButtonType, MockDeviceInit, MockDeviceMsg, MockDiscoveryAPI, MockInputInit,
39    MockInputMsg, MockRegion, MockViewInit, MockViewsInit, MockWorld,
40};
41pub use registry::{MainThreadRegistry, Registry};
42pub use session::{
43    EnvironmentBlendMode, MainThreadSession, Quitter, Session, SessionBuilder, SessionId,
44    SessionInit, SessionMode, SessionThread,
45};
46pub use space::{ApiSpace, BaseSpace, Space};
47pub use view::{
48    CUBE_BACK, CUBE_BOTTOM, CUBE_LEFT, CUBE_RIGHT, CUBE_TOP, Capture, CubeBack, CubeBottom,
49    CubeLeft, CubeRight, CubeTop, Display, Floor, Input, LEFT_EYE, LeftEye, Native, RIGHT_EYE,
50    RightEye, SomeEye, VIEWER, View, Viewer, Viewport, Viewports, Views,
51};