chromium/services/viz/privileged/cpp/renderer_settings_mojom_traits.h

// Copyright 2017 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef SERVICES_VIZ_PRIVILEGED_CPP_RENDERER_SETTINGS_MOJOM_TRAITS_H_
#define SERVICES_VIZ_PRIVILEGED_CPP_RENDERER_SETTINGS_MOJOM_TRAITS_H_

#include <vector>

#include "build/build_config.h"
#include "components/viz/common/display/renderer_settings.h"
#include "services/viz/privileged/cpp/overlay_strategy_mojom_traits.h"
#include "services/viz/privileged/mojom/compositing/renderer_settings.mojom-shared.h"
#include "ui/gfx/geometry/mojom/geometry_mojom_traits.h"

#if BUILDFLAG(IS_OZONE)
#include "components/viz/common/display/overlay_strategy.h"
#endif

namespace mojo {
template <>
struct StructTraits<viz::mojom::DebugRendererSettingsDataView,
                    viz::DebugRendererSettings> {};

template <>
struct StructTraits<viz::mojom::OcclusionCullerSettingsDataView,
                    viz::RendererSettings::OcclusionCullerSettings> {};

template <>
struct StructTraits<viz::mojom::RendererSettingsDataView,
                    viz::RendererSettings> {};

}  // namespace mojo

#endif  // SERVICES_VIZ_PRIVILEGED_CPP_RENDERER_SETTINGS_MOJOM_TRAITS_H_