// Copyright 2018 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.
//
// Next MinVersion: 1

module chromeos.media_perception.mojom;

struct NormalizedBoundingBox {
  // The horizontal distance of the left box boundary from the left side of the
  // image. Value between 0 and 1.
  float x_min@0;

  // The vertical distance of the top box boundary from the top side of the
  // image. Value between 0 and 1.
  float y_min@1;

  // The horizontal distance of the right box boundary from the left side of the
  // image. Value between 0 and 1.
  float x_max@2;

  // The vertical distance of the bottom box boundary from the top side of the
  // image. Value between 0 and 1.
  float y_max@3;

  // Values that can be used to recover the original pre-normalized coordinates.
  int32 normalization_width@4;
  int32 normalization_height@5;
};

[Extensible]
enum DistanceUnits {
  UNITS_UNKNOWN = 0,
  METERS = 1,
  PIXELS = 2
};

struct Distance {
  DistanceUnits units@0;

  float magnitude@1;
};
