#ifndef SERVICES_VIZ_PUBLIC_MOJOM_COMPOSITING_LAYER_MOJOM_SHARED_H_
#define SERVICES_VIZ_PUBLIC_MOJOM_COMPOSITING_LAYER_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/layer.mojom-shared-internal.h"
#include "cc/mojom/element_id.mojom-shared.h"
#include "cc/mojom/layer_type.mojom-shared.h"
#include "skia/public/mojom/skcolor4f.mojom-shared.h"
#include "ui/gfx/geometry/mojom/geometry.mojom-shared.h"
#include "ui/gfx/mojom/transform.mojom-shared.h"
namespace viz::mojom {
class LayerDataView;
class AnchorPositionScrollDataDataView;
class StickyPositionNodeDataDataView;
class TransformTreeUpdateDataView;
class TransformNodeDataView;
class ClipNodeDataView;
class EffectNodeDataView;
class ScrollNodeDataView;
}
namespace mojo {
namespace internal {
template <>
struct MojomTypeTraits<::viz::mojom::LayerDataView> { … };
template <>
struct MojomTypeTraits<::viz::mojom::AnchorPositionScrollDataDataView> { … };
template <>
struct MojomTypeTraits<::viz::mojom::StickyPositionNodeDataDataView> { … };
template <>
struct MojomTypeTraits<::viz::mojom::TransformTreeUpdateDataView> { … };
template <>
struct MojomTypeTraits<::viz::mojom::TransformNodeDataView> { … };
template <>
struct MojomTypeTraits<::viz::mojom::ClipNodeDataView> { … };
template <>
struct MojomTypeTraits<::viz::mojom::EffectNodeDataView> { … };
template <>
struct MojomTypeTraits<::viz::mojom::ScrollNodeDataView> { … };
}
}
namespace viz::mojom {
class LayerDataView { … };
class AnchorPositionScrollDataDataView { … };
class StickyPositionNodeDataDataView { … };
class TransformTreeUpdateDataView { … };
class TransformNodeDataView { … };
class ClipNodeDataView { … };
class EffectNodeDataView { … };
class ScrollNodeDataView { … };
}
namespace std {
}
namespace mojo {
namespace internal {
Serializer< ::viz::mojom::LayerDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::viz::mojom::AnchorPositionScrollDataDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::viz::mojom::StickyPositionNodeDataDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::viz::mojom::TransformTreeUpdateDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::viz::mojom::TransformNodeDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::viz::mojom::ClipNodeDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::viz::mojom::EffectNodeDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::viz::mojom::ScrollNodeDataView, MaybeConstUserType>;
}
}
namespace viz::mojom {
inline void LayerDataView::GetBoundsDataView(
::gfx::mojom::SizeDataView* output) { … }
inline void LayerDataView::GetBackgroundColorDataView(
::skia::mojom::SkColor4fDataView* output) { … }
inline void LayerDataView::GetSafeOpaqueBackgroundColorDataView(
::skia::mojom::SkColor4fDataView* output) { … }
inline void LayerDataView::GetElementIdDataView(
::cc::mojom::ElementIdDataView* output) { … }
inline void LayerDataView::GetUpdateRectDataView(
::gfx::mojom::RectDataView* output) { … }
inline void LayerDataView::GetOffsetToTransformParentDataView(
::gfx::mojom::Vector2dFDataView* output) { … }
inline void AnchorPositionScrollDataDataView::GetAdjustmentContainerIdsDataView(
mojo::ArrayDataView<::cc::mojom::ElementIdDataView>* output) { … }
inline void AnchorPositionScrollDataDataView::GetAccumulatedScrollOriginDataView(
::gfx::mojom::Vector2dDataView* output) { … }
inline void StickyPositionNodeDataDataView::GetConstraintBoxRectDataView(
::gfx::mojom::RectFDataView* output) { … }
inline void StickyPositionNodeDataDataView::GetScrollContainerRelativeStickyBoxRectDataView(
::gfx::mojom::RectFDataView* output) { … }
inline void StickyPositionNodeDataDataView::GetScrollContainerRelativeContainingBlockRectDataView(
::gfx::mojom::RectFDataView* output) { … }
inline void StickyPositionNodeDataDataView::GetTotalStickyBoxStickyOffsetDataView(
::gfx::mojom::Vector2dFDataView* output) { … }
inline void StickyPositionNodeDataDataView::GetTotalContainingBlockStickyOffsetDataView(
::gfx::mojom::Vector2dFDataView* output) { … }
inline void TransformTreeUpdateDataView::GetNodesAffectedByOuterViewportBoundsDeltaDataView(
mojo::ArrayDataView<int32_t>* output) { … }
inline void TransformTreeUpdateDataView::GetStickyPositionDataDataView(
mojo::ArrayDataView<StickyPositionNodeDataDataView>* output) { … }
inline void TransformTreeUpdateDataView::GetAnchorPositionScrollDataDataView(
mojo::ArrayDataView<AnchorPositionScrollDataDataView>* output) { … }
inline void TransformNodeDataView::GetElementIdDataView(
::cc::mojom::ElementIdDataView* output) { … }
inline void TransformNodeDataView::GetLocalDataView(
::gfx::mojom::TransformDataView* output) { … }
inline void TransformNodeDataView::GetOriginDataView(
::gfx::mojom::Point3FDataView* output) { … }
inline void TransformNodeDataView::GetPostTranslationDataView(
::gfx::mojom::Vector2dFDataView* output) { … }
inline void TransformNodeDataView::GetScrollOffsetDataView(
::gfx::mojom::PointFDataView* output) { … }
inline void TransformNodeDataView::GetSnapAmountDataView(
::gfx::mojom::Vector2dFDataView* output) { … }
inline void TransformNodeDataView::GetVisibleFrameElementIdDataView(
::cc::mojom::ElementIdDataView* output) { … }
inline void ClipNodeDataView::GetClipDataView(
::gfx::mojom::RectFDataView* output) { … }
inline void EffectNodeDataView::GetElementIdDataView(
::cc::mojom::ElementIdDataView* output) { … }
inline void EffectNodeDataView::GetSurfaceContentsScaleDataView(
::gfx::mojom::Vector2dFDataView* output) { … }
inline void ScrollNodeDataView::GetContainerBoundsDataView(
::gfx::mojom::SizeDataView* output) { … }
inline void ScrollNodeDataView::GetBoundsDataView(
::gfx::mojom::SizeDataView* output) { … }
inline void ScrollNodeDataView::GetElementIdDataView(
::cc::mojom::ElementIdDataView* output) { … }
}
#endif