#ifdef UNSAFE_BUFFERS_BUILD
#pragma allow_unsafe_buffers
#endif
#include "skia/public/mojom/bitmap_skbitmap_mojom_traits.h"
#include "base/ranges/algorithm.h"
#include "third_party/skia/include/core/SkPixelRef.h"
namespace mojo {
namespace {
constexpr int kMaxWidth = …;
constexpr int kMaxHeight = …;
class BigBufferPixelRef final : public SkPixelRef { … };
bool CreateSkBitmapForPixelData(SkBitmap* b,
const SkImageInfo& image_info,
base::span<const uint8_t> pixel_data) { … }
}
mojo_base::BigBufferView StructTraits<skia::mojom::BitmapN32DataView,
SkBitmap>::pixel_data(const SkBitmap& b) { … }
bool StructTraits<skia::mojom::BitmapN32DataView, SkBitmap>::Read(
skia::mojom::BitmapN32DataView data,
SkBitmap* b) { … }
mojo_base::BigBufferView
StructTraits<skia::mojom::BitmapWithArbitraryBppDataView, SkBitmap>::pixel_data(
const SkBitmap& b) { … }
bool StructTraits<skia::mojom::BitmapWithArbitraryBppDataView, SkBitmap>::Read(
skia::mojom::BitmapWithArbitraryBppDataView data,
SkBitmap* b) { … }
mojo_base::BigBufferView
StructTraits<skia::mojom::BitmapMappedFromTrustedProcessDataView,
SkBitmap>::pixel_data(const SkBitmap& b) { … }
bool StructTraits<
skia::mojom::BitmapMappedFromTrustedProcessDataView,
SkBitmap>::Read(skia::mojom::BitmapMappedFromTrustedProcessDataView data,
SkBitmap* b) { … }
base::span<const uint8_t>
StructTraits<skia::mojom::InlineBitmapDataView, SkBitmap>::pixel_data(
const SkBitmap& b) { … }
bool StructTraits<skia::mojom::InlineBitmapDataView, SkBitmap>::Read(
skia::mojom::InlineBitmapDataView data,
SkBitmap* b) { … }
}