blob: 5c477db168a3fdc3a2056a42b537ce368c45f730 [file] [log] [blame]
// Copyright 2017 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.
#ifndef UI_GFX_MOJOM_HDR_METADATA_MOJOM_TRAITS_H_
#define UI_GFX_MOJOM_HDR_METADATA_MOJOM_TRAITS_H_
#include "ui/gfx/hdr_metadata.h"
#include "ui/gfx/mojom/hdr_metadata.mojom.h"
namespace mojo {
template <>
struct StructTraits<gfx::mojom::ColorVolumeMetadataDataView,
gfx::ColorVolumeMetadata> {
static const gfx::PointF& primary_r(const gfx::ColorVolumeMetadata& input) {
return input.primary_r;
}
static const gfx::PointF& primary_g(const gfx::ColorVolumeMetadata& input) {
return input.primary_g;
}
static const gfx::PointF& primary_b(const gfx::ColorVolumeMetadata& input) {
return input.primary_b;
}
static const gfx::PointF& white_point(const gfx::ColorVolumeMetadata& input) {
return input.white_point;
}
static float luminance_max(const gfx::ColorVolumeMetadata& input) {
return input.luminance_max;
}
static float luminance_min(const gfx::ColorVolumeMetadata& input) {
return input.luminance_min;
}
static bool Read(gfx::mojom::ColorVolumeMetadataDataView data,
gfx::ColorVolumeMetadata* output);
};
template <>
struct StructTraits<gfx::mojom::HDRMetadataDataView, gfx::HDRMetadata> {
static unsigned max_content_light_level(const gfx::HDRMetadata& input) {
return input.max_content_light_level;
}
static unsigned max_frame_average_light_level(const gfx::HDRMetadata& input) {
return input.max_frame_average_light_level;
}
static const gfx::ColorVolumeMetadata& color_volume_metadata(
const gfx::HDRMetadata& input) {
return input.color_volume_metadata;
}
static bool Read(gfx::mojom::HDRMetadataDataView data,
gfx::HDRMetadata* output);
};
} // namespace mojo
#endif // UI_GFX_MOJOM_HDR_METADATA_MOJOM_TRAITS_H_