chromium/out/Default/gen/services/viz/public/mojom/compositing/quads.mojom-shared.h

// services/viz/public/mojom/compositing/quads.mojom-shared.h is auto generated by mojom_bindings_generator.py, do not edit

// Copyright 2016 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_PUBLIC_MOJOM_COMPOSITING_QUADS_MOJOM_SHARED_H_
#define SERVICES_VIZ_PUBLIC_MOJOM_COMPOSITING_QUADS_MOJOM_SHARED_H_

#include <stdint.h>

#include <functional>
#include <iosfwd>
#include <type_traits>
#include <utility>
#include "mojo/public/cpp/bindings/array_data_view.h"
#include "mojo/public/cpp/bindings/enum_traits.h"
#include "mojo/public/cpp/bindings/interface_data_view.h"
#include "mojo/public/cpp/bindings/lib/bindings_internal.h"
#include "mojo/public/cpp/bindings/lib/serialization.h"
#include "mojo/public/cpp/bindings/map_data_view.h"
#include "mojo/public/cpp/bindings/string_data_view.h"

#include "third_party/perfetto/include/perfetto/tracing/traced_value_forward.h"

#include "services/viz/public/mojom/compositing/quads.mojom-shared-internal.h"
#include "mojo/public/mojom/base/unguessable_token.mojom-shared.h"
#include "services/viz/public/mojom/compositing/compositor_render_pass_id.mojom-shared.h"
#include "services/viz/public/mojom/compositing/resource_id.mojom-shared.h"
#include "services/viz/public/mojom/compositing/view_transition_element_resource_id.mojom-shared.h"
#include "services/viz/public/mojom/compositing/shared_quad_state.mojom-shared.h"
#include "services/viz/public/mojom/compositing/surface_range.mojom-shared.h"
#include "skia/public/mojom/skcolor4f.mojom-shared.h"
#include "ui/gfx/geometry/mojom/geometry.mojom-shared.h"
#include "ui/gfx/mojom/color_space.mojom-shared.h"
#include "ui/gfx/mojom/hdr_metadata.mojom-shared.h"
#include "ui/gfx/mojom/transform.mojom-shared.h"







namespace viz::mojom {
class RoundedDisplayMasksInfoDataView;

class DebugBorderQuadStateDataView;

class CompositorRenderPassQuadStateDataView;

class SolidColorQuadStateDataView;

class SurfaceQuadStateDataView;

class TextureQuadStateDataView;

class TileQuadStateDataView;

class YUVVideoQuadStateDataView;

class VideoHoleQuadStateDataView;

class SharedElementQuadStateDataView;

class DrawQuadDataView;

class DrawQuadStateDataView;


}  // viz::mojom

namespace mojo {
namespace internal {

template <>
struct MojomTypeTraits<::viz::mojom::RoundedDisplayMasksInfoDataView> {};

template <>
struct MojomTypeTraits<::viz::mojom::DebugBorderQuadStateDataView> {};

template <>
struct MojomTypeTraits<::viz::mojom::CompositorRenderPassQuadStateDataView> {};

template <>
struct MojomTypeTraits<::viz::mojom::SolidColorQuadStateDataView> {};

template <>
struct MojomTypeTraits<::viz::mojom::SurfaceQuadStateDataView> {};

template <>
struct MojomTypeTraits<::viz::mojom::TextureQuadStateDataView> {};

template <>
struct MojomTypeTraits<::viz::mojom::TileQuadStateDataView> {};

template <>
struct MojomTypeTraits<::viz::mojom::YUVVideoQuadStateDataView> {};

template <>
struct MojomTypeTraits<::viz::mojom::VideoHoleQuadStateDataView> {};

template <>
struct MojomTypeTraits<::viz::mojom::SharedElementQuadStateDataView> {};

template <>
struct MojomTypeTraits<::viz::mojom::DrawQuadDataView> {};

template <>
struct MojomTypeTraits<::viz::mojom::DrawQuadStateDataView> {};

}  // namespace internal
}  // namespace mojo


namespace viz::mojom {


enum class ProtectedVideoState : int32_t {};

 std::ostream& operator<<(std::ostream& os, ProtectedVideoState value);
inline bool IsKnownEnumValue(ProtectedVideoState value) {}


enum class OverlayPriority : int32_t {};

 std::ostream& operator<<(std::ostream& os, OverlayPriority value);
inline bool IsKnownEnumValue(OverlayPriority value) {}


class RoundedDisplayMasksInfoDataView {};


class DebugBorderQuadStateDataView {};


class CompositorRenderPassQuadStateDataView {};


class SolidColorQuadStateDataView {};


class SurfaceQuadStateDataView {};


class TextureQuadStateDataView {};


class TileQuadStateDataView {};


class YUVVideoQuadStateDataView {};


class VideoHoleQuadStateDataView {};


class SharedElementQuadStateDataView {};


class DrawQuadDataView {};


class DrawQuadStateDataView {};



}  // viz::mojom

namespace std {

template <>
struct hash<::viz::mojom::ProtectedVideoState>
    : public mojo::internal::EnumHashImpl<::viz::mojom::ProtectedVideoState> {};

template <>
struct hash<::viz::mojom::OverlayPriority>
    : public mojo::internal::EnumHashImpl<::viz::mojom::OverlayPriority> {};

}  // namespace std

namespace mojo {


namespace internal {

Serializer< ::viz::mojom::ProtectedVideoState, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::viz::mojom::OverlayPriority, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::viz::mojom::RoundedDisplayMasksInfoDataView, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::viz::mojom::DebugBorderQuadStateDataView, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::viz::mojom::CompositorRenderPassQuadStateDataView, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::viz::mojom::SolidColorQuadStateDataView, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::viz::mojom::SurfaceQuadStateDataView, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::viz::mojom::TextureQuadStateDataView, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::viz::mojom::TileQuadStateDataView, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::viz::mojom::YUVVideoQuadStateDataView, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::viz::mojom::VideoHoleQuadStateDataView, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::viz::mojom::SharedElementQuadStateDataView, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::viz::mojom::DrawQuadDataView, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::viz::mojom::DrawQuadStateDataView, MaybeConstUserType>;

}  // namespace internal

}  // namespace mojo


namespace viz::mojom {

inline void RoundedDisplayMasksInfoDataView::GetRadiiDataView(
    mojo::ArrayDataView<uint8_t>* output) {}


inline void DebugBorderQuadStateDataView::GetColorDataView(
    ::skia::mojom::SkColor4fDataView* output) {}


inline void CompositorRenderPassQuadStateDataView::GetRenderPassIdDataView(
    ::viz::mojom::CompositorRenderPassIdDataView* output) {}
inline void CompositorRenderPassQuadStateDataView::GetMaskResourceIdDataView(
    ::viz::mojom::ResourceIdDataView* output) {}
inline void CompositorRenderPassQuadStateDataView::GetMaskUvRectDataView(
    ::gfx::mojom::RectFDataView* output) {}
inline void CompositorRenderPassQuadStateDataView::GetMaskTextureSizeDataView(
    ::gfx::mojom::SizeDataView* output) {}
inline void CompositorRenderPassQuadStateDataView::GetFiltersScaleDataView(
    ::gfx::mojom::Vector2dFDataView* output) {}
inline void CompositorRenderPassQuadStateDataView::GetFiltersOriginDataView(
    ::gfx::mojom::PointFDataView* output) {}
inline void CompositorRenderPassQuadStateDataView::GetTexCoordRectDataView(
    ::gfx::mojom::RectFDataView* output) {}


inline void SolidColorQuadStateDataView::GetColorDataView(
    ::skia::mojom::SkColor4fDataView* output) {}


inline void SurfaceQuadStateDataView::GetSurfaceRangeDataView(
    ::viz::mojom::SurfaceRangeDataView* output) {}
inline void SurfaceQuadStateDataView::GetDefaultBackgroundColorDataView(
    ::skia::mojom::SkColor4fDataView* output) {}


inline void TextureQuadStateDataView::GetResourceIdDataView(
    ::viz::mojom::ResourceIdDataView* output) {}
inline void TextureQuadStateDataView::GetResourceSizeInPixelsDataView(
    ::gfx::mojom::SizeDataView* output) {}
inline void TextureQuadStateDataView::GetUvTopLeftDataView(
    ::gfx::mojom::PointFDataView* output) {}
inline void TextureQuadStateDataView::GetUvBottomRightDataView(
    ::gfx::mojom::PointFDataView* output) {}
inline void TextureQuadStateDataView::GetBackgroundColorDataView(
    ::skia::mojom::SkColor4fDataView* output) {}
inline void TextureQuadStateDataView::GetDamageRectDataView(
    ::gfx::mojom::RectDataView* output) {}
inline void TextureQuadStateDataView::GetRoundedDisplayMasksInfoDataView(
    RoundedDisplayMasksInfoDataView* output) {}


inline void TileQuadStateDataView::GetTexCoordRectDataView(
    ::gfx::mojom::RectFDataView* output) {}
inline void TileQuadStateDataView::GetTextureSizeDataView(
    ::gfx::mojom::SizeDataView* output) {}
inline void TileQuadStateDataView::GetResourceIdDataView(
    ::viz::mojom::ResourceIdDataView* output) {}


inline void YUVVideoQuadStateDataView::GetCodedSizeDataView(
    ::gfx::mojom::SizeDataView* output) {}
inline void YUVVideoQuadStateDataView::GetVideoVisibleRectDataView(
    ::gfx::mojom::RectDataView* output) {}
inline void YUVVideoQuadStateDataView::GetYPlaneResourceIdDataView(
    ::viz::mojom::ResourceIdDataView* output) {}
inline void YUVVideoQuadStateDataView::GetUPlaneResourceIdDataView(
    ::viz::mojom::ResourceIdDataView* output) {}
inline void YUVVideoQuadStateDataView::GetVPlaneResourceIdDataView(
    ::viz::mojom::ResourceIdDataView* output) {}
inline void YUVVideoQuadStateDataView::GetAPlaneResourceIdDataView(
    ::viz::mojom::ResourceIdDataView* output) {}
inline void YUVVideoQuadStateDataView::GetVideoColorSpaceDataView(
    ::gfx::mojom::ColorSpaceDataView* output) {}
inline void YUVVideoQuadStateDataView::GetHdrMetadataDataView(
    ::gfx::mojom::HDRMetadataDataView* output) {}
inline void YUVVideoQuadStateDataView::GetDamageRectDataView(
    ::gfx::mojom::RectDataView* output) {}


inline void VideoHoleQuadStateDataView::GetOverlayPlaneIdDataView(
    ::mojo_base::mojom::UnguessableTokenDataView* output) {}


inline void SharedElementQuadStateDataView::GetResourceIdDataView(
    ::viz::mojom::ViewTransitionElementResourceIdDataView* output) {}


inline void DrawQuadDataView::GetRectDataView(
    ::gfx::mojom::RectDataView* output) {}
inline void DrawQuadDataView::GetVisibleRectDataView(
    ::gfx::mojom::RectDataView* output) {}
inline void DrawQuadDataView::GetSqsDataView(
    ::viz::mojom::SharedQuadStateDataView* output) {}
inline void DrawQuadDataView::GetDrawQuadStateDataView(
    DrawQuadStateDataView* output) {}


inline void DrawQuadStateDataView::GetDebugBorderQuadStateDataView(
    DebugBorderQuadStateDataView* output) const {}
inline void DrawQuadStateDataView::GetRenderPassQuadStateDataView(
    CompositorRenderPassQuadStateDataView* output) const {}
inline void DrawQuadStateDataView::GetSolidColorQuadStateDataView(
    SolidColorQuadStateDataView* output) const {}
inline void DrawQuadStateDataView::GetSurfaceQuadStateDataView(
    SurfaceQuadStateDataView* output) const {}
inline void DrawQuadStateDataView::GetTextureQuadStateDataView(
    TextureQuadStateDataView* output) const {}
inline void DrawQuadStateDataView::GetTileQuadStateDataView(
    TileQuadStateDataView* output) const {}
inline void DrawQuadStateDataView::GetYuvVideoQuadStateDataView(
    YUVVideoQuadStateDataView* output) const {}
inline void DrawQuadStateDataView::GetVideoHoleQuadStateDataView(
    VideoHoleQuadStateDataView* output) const {}
inline void DrawQuadStateDataView::GetSharedElementQuadStateDataView(
    SharedElementQuadStateDataView* output) const {}


}  // viz::mojom

// Declare TraceFormatTraits for enums, which should be defined in ::perfetto
// namespace.

namespace perfetto {

template <>
struct  TraceFormatTraits<::viz::mojom::ProtectedVideoState> {};

} // namespace perfetto

namespace perfetto {

template <>
struct  TraceFormatTraits<::viz::mojom::OverlayPriority> {};

} // namespace perfetto

#endif  // SERVICES_VIZ_PUBLIC_MOJOM_COMPOSITING_QUADS_MOJOM_SHARED_H_