// Copyright 2016 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

typedef (HTMLCanvasElement or OffscreenCanvas) VRSource;

// https://w3c.github.io/webvr/#interface-vrlayerinit

dictionary VRLayerInit {
  // The canvas to be presented to the VRDisplay
  VRSource? source = null;

  // The left and right bounds contain 4 git statvalues defining the texture bounds
  // within the canvas to present to the eye in UV space.
  // [0] left offset of the bounds (0.0 - 1.0)
  // [1] top offset of the bounds (0.0 - 1.0)
  // [2] width of the bounds (0.0 - 1.0)
  // [3] height of the bounds (0.0 - 1.0)
  sequence<float> leftBounds = []; //= [0.0, 0.0, 0.5, 1.0];
  sequence<float> rightBounds = []; //= [0.5, 0.0, 0.5, 1.0];
};
