69 lines
1.7 KiB
Text
69 lines
1.7 KiB
Text
/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
|
/*
|
|
* WebXR Device API
|
|
* W3C Working Draft, 19 April 2022
|
|
* The origin of this IDL file is:
|
|
* https://www.w3.org/TR/2022/WD-webxr-hand-input-1-20220419/
|
|
*/
|
|
|
|
partial interface XRInputSource {
|
|
[SameObject] readonly attribute XRHand? hand;
|
|
};
|
|
|
|
enum XRHandJoint {
|
|
"wrist",
|
|
|
|
"thumb-metacarpal",
|
|
"thumb-phalanx-proximal",
|
|
"thumb-phalanx-distal",
|
|
"thumb-tip",
|
|
|
|
"index-finger-metacarpal",
|
|
"index-finger-phalanx-proximal",
|
|
"index-finger-phalanx-intermediate",
|
|
"index-finger-phalanx-distal",
|
|
"index-finger-tip",
|
|
|
|
"middle-finger-metacarpal",
|
|
"middle-finger-phalanx-proximal",
|
|
"middle-finger-phalanx-intermediate",
|
|
"middle-finger-phalanx-distal",
|
|
"middle-finger-tip",
|
|
|
|
"ring-finger-metacarpal",
|
|
"ring-finger-phalanx-proximal",
|
|
"ring-finger-phalanx-intermediate",
|
|
"ring-finger-phalanx-distal",
|
|
"ring-finger-tip",
|
|
|
|
"pinky-finger-metacarpal",
|
|
"pinky-finger-phalanx-proximal",
|
|
"pinky-finger-phalanx-intermediate",
|
|
"pinky-finger-phalanx-distal",
|
|
"pinky-finger-tip"
|
|
};
|
|
|
|
[Exposed=Window]
|
|
interface XRHand {
|
|
iterable<XRHandJoint, XRJointSpace>;
|
|
|
|
readonly attribute unsigned long size;
|
|
XRJointSpace get(XRHandJoint key);
|
|
};
|
|
|
|
[Exposed=Window]
|
|
interface XRJointSpace: XRSpace {
|
|
readonly attribute XRHandJoint jointName;
|
|
};
|
|
|
|
partial interface XRFrame {
|
|
XRJointPose? getJointPose(XRJointSpace joint, XRSpace baseSpace);
|
|
boolean fillJointRadii(sequence<XRJointSpace> jointSpaces, Float32Array radii);
|
|
|
|
boolean fillPoses(sequence<XRSpace> spaces, XRSpace baseSpace, Float32Array transforms);
|
|
};
|
|
|
|
[Exposed=Window]
|
|
interface XRJointPose: XRPose {
|
|
readonly attribute float radius;
|
|
};
|