// GENERATED CONTENT - DO NOT EDIT
// Content was automatically extracted by Reffy into reffy-reports
// (https://github.com/tidoust/reffy-reports)
// Source: Orientation Sensor (https://w3c.github.io/orientation-sensor/)

typedef (Float32Array or Float64Array or DOMMatrix) RotationMatrixType;

[SecureContext, Exposed=Window]
interface OrientationSensor : Sensor {
  readonly attribute FrozenArray<double>? quaternion;
  void populateMatrix(RotationMatrixType targetMatrix);
};

enum OrientationSensorLocalCoordinateSystem { "device", "screen" };

dictionary OrientationSensorOptions : SensorOptions {
  OrientationSensorLocalCoordinateSystem referenceFrame = "device";
};

[Constructor(optional OrientationSensorOptions sensorOptions), SecureContext, Exposed=Window]
interface AbsoluteOrientationSensor : OrientationSensor {
};

[Constructor(optional OrientationSensorOptions sensorOptions), SecureContext, Exposed=Window]
interface RelativeOrientationSensor : OrientationSensor {
};

dictionary AbsoluteOrientationReadingValues {
  required FrozenArray<double>? quaternion;
};

dictionary RelativeOrientationReadingValues : AbsoluteOrientationReadingValues {
};
