blob: 736c9e7e0029828802a98bc67a2ef3c48fdabb09 [file] [log] [blame]
// Copyright 2020 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_DISPLAY_MOJOM_DISPLAY_CONFIGURATION_PARAMS_MOJOM_TRAITS_H_
#define UI_DISPLAY_MOJOM_DISPLAY_CONFIGURATION_PARAMS_MOJOM_TRAITS_H_
#include "ui/display/mojom/display_configuration_params.mojom.h"
#include "ui/display/types/display_configuration_params.h"
#include "ui/gfx/geometry/mojom/geometry_mojom_traits.h"
#include "ui/gfx/ipc/color/gfx_param_traits.h"
namespace mojo {
template <>
struct StructTraits<display::mojom::DisplayConfigurationParamsDataView,
display::DisplayConfigurationParams> {
static int64_t id(
const display::DisplayConfigurationParams& display_configuration_params) {
return display_configuration_params.id;
}
static gfx::Point origin(
const display::DisplayConfigurationParams& display_configuration_params) {
return display_configuration_params.origin;
}
static const base::Optional<std::unique_ptr<display::DisplayMode>>& mode(
const display::DisplayConfigurationParams& display_configuration_params) {
return display_configuration_params.mode;
}
static bool Read(display::mojom::DisplayConfigurationParamsDataView data,
display::DisplayConfigurationParams* out);
};
} // namespace mojo
#endif // UI_DISPLAY_MOJOM_DISPLAY_CONFIGURATION_PARAMS_MOJOM_TRAITS_H_