// 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.

#include "media/capture/mojom/image_capture_types.h"

namespace mojo {

media::mojom::PhotoStatePtr CreateEmptyPhotoState() {
  media::mojom::PhotoStatePtr photo_capabilities =
      media::mojom::PhotoState::New();
  photo_capabilities->height = media::mojom::Range::New();
  photo_capabilities->width = media::mojom::Range::New();
  photo_capabilities->exposure_compensation = media::mojom::Range::New();
  photo_capabilities->exposure_time = media::mojom::Range::New();
  photo_capabilities->color_temperature = media::mojom::Range::New();
  photo_capabilities->iso = media::mojom::Range::New();
  photo_capabilities->brightness = media::mojom::Range::New();
  photo_capabilities->contrast = media::mojom::Range::New();
  photo_capabilities->saturation = media::mojom::Range::New();
  photo_capabilities->sharpness = media::mojom::Range::New();
  photo_capabilities->pan = media::mojom::Range::New();
  photo_capabilities->tilt = media::mojom::Range::New();
  photo_capabilities->zoom = media::mojom::Range::New();
  photo_capabilities->focus_distance = media::mojom::Range::New();
  photo_capabilities->torch = false;
  photo_capabilities->red_eye_reduction = media::mojom::RedEyeReduction::NEVER;
  return photo_capabilities;
}

}  // namespace mojo