blob: bf68f74fe69ce1cb951d7119f3f112813dece711 [file] [log] [blame]
// Copyright (c) 2024, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
// Generated from Web IDL definitions.
import 'dart:js_interop';
import 'geometry.dart';
import 'webxr.dart';
typedef XRHitTestTrackableType = String;
@JS()
@staticInterop
@anonymous
class XRHitTestOptionsInit {
external factory XRHitTestOptionsInit({
required XRSpace space,
JSArray entityTypes,
XRRay offsetRay,
});
}
extension XRHitTestOptionsInitExtension on XRHitTestOptionsInit {
external set space(XRSpace value);
external XRSpace get space;
external set entityTypes(JSArray value);
external JSArray get entityTypes;
external set offsetRay(XRRay value);
external XRRay get offsetRay;
}
@JS()
@staticInterop
@anonymous
class XRTransientInputHitTestOptionsInit {
external factory XRTransientInputHitTestOptionsInit({
required String profile,
JSArray entityTypes,
XRRay offsetRay,
});
}
extension XRTransientInputHitTestOptionsInitExtension
on XRTransientInputHitTestOptionsInit {
external set profile(String value);
external String get profile;
external set entityTypes(JSArray value);
external JSArray get entityTypes;
external set offsetRay(XRRay value);
external XRRay get offsetRay;
}
@JS('XRHitTestSource')
@staticInterop
class XRHitTestSource {}
extension XRHitTestSourceExtension on XRHitTestSource {
external void cancel();
}
@JS('XRTransientInputHitTestSource')
@staticInterop
class XRTransientInputHitTestSource {}
extension XRTransientInputHitTestSourceExtension
on XRTransientInputHitTestSource {
external void cancel();
}
@JS('XRHitTestResult')
@staticInterop
class XRHitTestResult {}
extension XRHitTestResultExtension on XRHitTestResult {
external JSPromise createAnchor();
external XRPose? getPose(XRSpace baseSpace);
}
@JS('XRTransientInputHitTestResult')
@staticInterop
class XRTransientInputHitTestResult {}
extension XRTransientInputHitTestResultExtension
on XRTransientInputHitTestResult {
external XRInputSource get inputSource;
external JSArray get results;
}
@JS()
@staticInterop
@anonymous
class XRRayDirectionInit {
external factory XRRayDirectionInit({
num x,
num y,
num z,
num w,
});
}
extension XRRayDirectionInitExtension on XRRayDirectionInit {
external set x(num value);
external num get x;
external set y(num value);
external num get y;
external set z(num value);
external num get z;
external set w(num value);
external num get w;
}
@JS('XRRay')
@staticInterop
class XRRay {
external factory XRRay([
JSObject originOrTransform,
XRRayDirectionInit direction,
]);
}
extension XRRayExtension on XRRay {
external DOMPointReadOnly get origin;
external DOMPointReadOnly get direction;
external JSFloat32Array get matrix;
}