blob: e198870e2279ee4325dca5a8b26476e7cbee3d16 [file]
// 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.
#include "modules/imagecapture/PhotoCapabilities.h"
namespace blink {
namespace {
String meteringModeToString(media::mojom::blink::MeteringMode mode) {
switch (mode) {
case media::mojom::blink::MeteringMode::NONE:
return "none";
case media::mojom::blink::MeteringMode::MANUAL:
return "manual";
case media::mojom::blink::MeteringMode::SINGLE_SHOT:
return "single-shot";
case media::mojom::blink::MeteringMode::CONTINUOUS:
return "continuous";
default:
NOTREACHED();
}
return emptyString();
}
} // anonymous namespace
// static
PhotoCapabilities* PhotoCapabilities::create() {
return new PhotoCapabilities();
}
String PhotoCapabilities::focusMode() const {
return meteringModeToString(m_focusMode);
}
String PhotoCapabilities::exposureMode() const {
return meteringModeToString(m_exposureMode);
}
String PhotoCapabilities::whiteBalanceMode() const {
return meteringModeToString(m_whiteBalanceMode);
}
String PhotoCapabilities::fillLightMode() const {
switch (m_fillLightMode) {
case media::mojom::blink::FillLightMode::NONE:
return "none";
case media::mojom::blink::FillLightMode::OFF:
return "off";
case media::mojom::blink::FillLightMode::AUTO:
return "auto";
case media::mojom::blink::FillLightMode::FLASH:
return "flash";
case media::mojom::blink::FillLightMode::TORCH:
return "torch";
default:
NOTREACHED();
}
return emptyString();
}
DEFINE_TRACE(PhotoCapabilities) {
visitor->trace(m_iso);
visitor->trace(m_imageHeight);
visitor->trace(m_imageWidth);
visitor->trace(m_zoom);
visitor->trace(m_exposureCompensation);
visitor->trace(m_colorTemperature);
visitor->trace(m_brightness);
visitor->trace(m_contrast);
visitor->trace(m_saturation);
visitor->trace(m_sharpness);
}
} // namespace blink