// Generated from WebIDL - DO NOT EDIT
// Source: @webref/idl/webxr-dom-overlays
///|
/// XRDOMOverlayType enum
pub(all) enum XRDOMOverlayType {
Screen
Floating
HeadLocked
} derive(Eq, Show)
///|
/// Convert to string value
pub fn XRDOMOverlayType::to_string(self : XRDOMOverlayType) -> String {
match self {
XRDOMOverlayType::Screen => "screen"
XRDOMOverlayType::Floating => "floating"
XRDOMOverlayType::HeadLocked => "head-locked"
}
}
///|
/// Parse from string value
pub fn XRDOMOverlayType::from_string(s : String) -> XRDOMOverlayType? {
match s {
"screen" => Some(XRDOMOverlayType::Screen)
"floating" => Some(XRDOMOverlayType::Floating)
"head-locked" => Some(XRDOMOverlayType::HeadLocked)
_ => None
}
}
///|
/// XRDOMOverlayInit dictionary
pub(all) struct XRDOMOverlayInit {
root : Element
}
///|
/// Create a new XRDOMOverlayInit
pub fn XRDOMOverlayInit::new(root~ : Element) -> XRDOMOverlayInit {
XRDOMOverlayInit::{ root, }
}
///|
extern "js" fn XRDOMOverlayInit::to_js_ffi(self : XRDOMOverlayInit) -> JsValue =
#| (self) => ({
#| root: self.root
#| })
///|
/// Convert to JsValue
pub fn XRDOMOverlayInit::to_js(self : XRDOMOverlayInit) -> JsValue {
XRDOMOverlayInit::to_js_ffi(self)
}
///|
extern "js" fn XRDOMOverlayInit::from_js_ffi(
value : JsValue,
) -> XRDOMOverlayInit =
#| (v) => ({
#| root: v.root
#| })
///|
/// Convert from JsValue
pub fn XRDOMOverlayInit::from_js(value : JsValue) -> XRDOMOverlayInit {
XRDOMOverlayInit::from_js_ffi(value)
}
///|
/// XRDOMOverlayState dictionary
pub(all) struct XRDOMOverlayState {
type_ : XRDOMOverlayType?
}
///|
/// Create a new XRDOMOverlayState with default values
pub fn XRDOMOverlayState::default() -> XRDOMOverlayState {
XRDOMOverlayState::{ type_: None }
}
///|
extern "js" fn XRDOMOverlayState::to_js_ffi(
self : XRDOMOverlayState,
) -> JsValue =
#| (self) => ({
#| type: ((() => { const v = self.type_; if (v === undefined) return undefined; return ['screen', 'floating', 'head-locked'][v]; })())
#| })
///|
/// Convert to JsValue
pub fn XRDOMOverlayState::to_js(self : XRDOMOverlayState) -> JsValue {
XRDOMOverlayState::to_js_ffi(self)
}
///|
extern "js" fn XRDOMOverlayState::from_js_ffi(
value : JsValue,
) -> XRDOMOverlayState =
#| (v) => ({
#| type_: (v.type === undefined ? undefined : ['screen', 'floating', 'head-locked'].indexOf(v.type))
#| })
///|
/// Convert from JsValue
pub fn XRDOMOverlayState::from_js(value : JsValue) -> XRDOMOverlayState {
XRDOMOverlayState::from_js_ffi(value)
}