27#if !defined(SK_DISABLE_LEGACY_PNG_WRITEBUFFER)
46 :
SkWriteBuffer(p), fFactorySet(nullptr), fTFSet(nullptr), fWriter(storage, storageSize) {}
176#if !defined(SK_DISABLE_LEGACY_PNG_WRITEBUFFER)
179 if (!ib->getROPixels(ib->directContext(), &bm)) {
184 return stream.detachAsData();
202 for (
int i = 0; i <
count; ++i) {
207 buffer.writeDataAsByteArray(levelData.
get());
212 return buffer.snapshotAsData();
249 if (obj ==
nullptr) {
254 size_t size = data->size();
255 if (!SkTFitsIn<int32_t>(size)) {
267 fWriter.
write32(fTFSet ? fTFSet->
add(obj) : 0);
275 fFactorySet = std::move(rec);
279 fTFSet = std::move(rec);
283 if (
nullptr == flattenable) {
307 if (uint32_t* indexPtr = fFlattenableDict.
find(
name)) {
318 fFlattenableDict.
set(
name, fFlattenableDict.
count() + 1);
323 (void)fWriter.
reserve(
sizeof(uint32_t));
static SkImage_Base * as_IB(SkImage *image)
constexpr int32_t SkToS32(S x)
constexpr uint32_t SkToU32(S x)
static sk_sp< SkData > serialize_image(const SkImage *image, SkSerialProcs procs)
static sk_sp< SkData > serialize_mipmap(const SkMipmap *mipmap, SkSerialProcs procs)
void writeBool(bool value) override
void writeByteArray(const void *data, size_t size) override
void writeFlattenable(const SkFlattenable *flattenable) override
void writeColor(SkColor color) override
void writeIntArray(const int32_t *value, uint32_t count) override
void writePoint(const SkPoint &point) override
void writeColor4f(const SkColor4f &color) override
void writeIRect(const SkIRect &rect) override
size_t writeStream(SkStream *stream, size_t length) override
void writeColorArray(const SkColor *color, uint32_t count) override
void writeTypeface(SkTypeface *typeface) override
void writeScalar(SkScalar value) override
void writeScalarArray(const SkScalar *value, uint32_t count) override
size_t bytesWritten() const
void writePointArray(const SkPoint *point, uint32_t count) override
bool writeToStream(SkWStream *) const
void writeString(std::string_view value) override
void writePoint3(const SkPoint3 &point) override
void writePath(const SkPath &path) override
void writeColor4fArray(const SkColor4f *color, uint32_t count) override
SkBinaryWriteBuffer(const SkSerialProcs &)
void writePaint(const SkPaint &paint) override
void writeUInt(uint32_t value) override
void setTypefaceRecorder(sk_sp< SkRefCntSet >)
void setFactoryRecorder(sk_sp< SkFactorySet >)
~SkBinaryWriteBuffer() override
void writeRect(const SkRect &rect) override
void writeMatrix(const SkMatrix &matrix) override
void writeInt(int32_t value) override
void writeSampling(const SkSamplingOptions &) override
bool usingInitialStorage() const
void writeImage(const SkImage *) override
void writeRegion(const SkRegion ®ion) override
void write(const void *buffer, size_t bytes)
void writePad32(const void *buffer, size_t bytes) override
const SkPixmap & pixmap() const
virtual void flatten(SkWriteBuffer &) const
sk_sp< SkFlattenable >(* Factory)(SkReadBuffer &)
virtual const char * getTypeName() const =0
virtual Factory getFactory() const =0
virtual SkMipmap * onPeekMips() const
SkAlphaType alphaType() const
sk_sp< SkData > refEncodedData() const
static const SkScalar * M44ColMajor(const SkM44 &m)
bool getLevel(int index, Level *) const
static void Flatten(const SkPaint &paint, SkWriteBuffer &buffer)
void writeDataAsByteArray(const SkData *data)
void write32(int32_t value)
void overwriteTAt(size_t offset, const T &value)
void write32(int32_t value)
void write(const void *values, size_t size)
bool usingInitialStorage() const
void writeSampling(const SkSamplingOptions &sampling)
uint32_t * reservePad(size_t size)
void writeRect(const SkRect &rect)
void writeScalar(SkScalar value)
size_t readFromStream(SkStream *stream, size_t length)
void writeMatrix(const SkMatrix &matrix)
uint32_t * reserve(size_t size)
void writePad(const void *src, size_t size)
void writePath(const SkPath &path)
bool writeToStream(SkWStream *stream) const
bool writeBool(bool value)
void writeRegion(const SkRegion &rgn)
void writeString(const char *str, size_t len=(size_t) -1)
size_t bytesWritten() const
V * find(const K &key) const
FlutterSemanticsFlag flags
static const uint8_t buffer[]
SK_API sk_sp< SkImage > RasterFromPixmap(const SkPixmap &pixmap, RasterReleaseProc rasterReleaseProc, ReleaseContext releaseContext)
SK_API bool Encode(SkWStream *dst, const SkPixmap &src, const Options &options)
SkSerialImageProc fImageProc
SkSerialTypefaceProc fTypefaceProc