aboutsummaryrefslogtreecommitdiffhomepage
path: root/include
diff options
context:
space:
mode:
authorGravatar Mike Reed <reed@google.com>2017-12-19 15:31:57 -0500
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2017-12-20 03:20:43 +0000
commitacd59ef08512a337b0ea274576d8d96eaec57e7e (patch)
treea6559abd81e5d5568e2f0850f39015490acd9954 /include
parentf6eb1f9b63da45b7dbd4f26a6edf9d968ac4a517 (diff)
move SkWriteBuffer.h to src
Need this to land first: https://chromium-review.googlesource.com/c/chromium/src/+/834714 Bug: skia: Change-Id: I426bc3d9b5c4382b5b874b991e37fdd1725bd9a3 Reviewed-on: https://skia-review.googlesource.com/87301 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Mike Reed <reed@google.com>
Diffstat (limited to 'include')
-rw-r--r--include/core/SkWriteBuffer.h165
1 files changed, 0 insertions, 165 deletions
diff --git a/include/core/SkWriteBuffer.h b/include/core/SkWriteBuffer.h
deleted file mode 100644
index 5d03e91caa..0000000000
--- a/include/core/SkWriteBuffer.h
+++ /dev/null
@@ -1,165 +0,0 @@
-
-/*
- * Copyright 2011 Google Inc.
- *
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file.
- */
-
-#ifndef SkWriteBuffer_DEFINED
-#define SkWriteBuffer_DEFINED
-
-#include "SkData.h"
-#include "SkImage.h"
-#include "SkPath.h"
-#include "SkPicture.h"
-#include "SkRefCnt.h"
-#include "SkSerialProcs.h"
-#include "SkWriter32.h"
-#include "../private/SkTHash.h"
-
-class SkBitmap;
-class SkDeduper;
-class SkFactorySet;
-class SkFlattenable;
-class SkRefCntSet;
-
-class SK_API SkWriteBuffer {
-public:
- SkWriteBuffer() {}
- virtual ~SkWriteBuffer() {}
-
- virtual bool isCrossProcess() const = 0;
-
- virtual void writePad32(const void* buffer, size_t bytes) = 0;
-
- virtual void writeByteArray(const void* data, size_t size) = 0;
- void writeDataAsByteArray(SkData* data) {
- this->writeByteArray(data->data(), data->size());
- }
- virtual void writeBool(bool value) = 0;
- virtual void writeScalar(SkScalar value) = 0;
- virtual void writeScalarArray(const SkScalar* value, uint32_t count) = 0;
- virtual void writeInt(int32_t value) = 0;
- virtual void writeIntArray(const int32_t* value, uint32_t count) = 0;
- virtual void writeUInt(uint32_t value) = 0;
- void write32(int32_t value) {
- this->writeInt(value);
- }
- virtual void writeString(const char* value) = 0;
-
- virtual void writeFlattenable(const SkFlattenable* flattenable) = 0;
- virtual void writeColor(SkColor color) = 0;
- virtual void writeColorArray(const SkColor* color, uint32_t count) = 0;
- virtual void writeColor4f(const SkColor4f& color) = 0;
- virtual void writeColor4fArray(const SkColor4f* color, uint32_t count) = 0;
- virtual void writePoint(const SkPoint& point) = 0;
- virtual void writePointArray(const SkPoint* point, uint32_t count) = 0;
- virtual void writeMatrix(const SkMatrix& matrix) = 0;
- virtual void writeIRect(const SkIRect& rect) = 0;
- virtual void writeRect(const SkRect& rect) = 0;
- virtual void writeRegion(const SkRegion& region) = 0;
- virtual void writePath(const SkPath& path) = 0;
- virtual size_t writeStream(SkStream* stream, size_t length) = 0;
- virtual void writeImage(const SkImage*) = 0;
- virtual void writeTypeface(SkTypeface* typeface) = 0;
- virtual void writePaint(const SkPaint& paint) = 0;
-
- void setDeduper(SkDeduper* deduper) { fDeduper = deduper; }
-
- /**
- * Return a client specified context pointer. This is not interpreted by the writebuffer.
- * It defaults to nullptr, but may be set with setClientContext(...).
- */
- void* getClientContext() const { return fClientCtx; }
-
- /**
- * Set the client specified context pointer. This is not interpreted by the writebuffer.
- * It defaults to nullptr. It can be inspected by calling getClientContext().
- */
- void setClientContext(void* ctx) { fClientCtx = ctx; }
-
- void setSerialProcs(const SkSerialProcs& procs) { fProcs = procs; }
-
-protected:
- SkDeduper* fDeduper = nullptr;
- void* fClientCtx = nullptr;
- SkSerialProcs fProcs;
-
- friend class SkPicture; // fProcs
-};
-
-/**
- * Concrete implementation that serializes to a flat binary blob.
- */
-class SK_API SkBinaryWriteBuffer : public SkWriteBuffer {
-public:
- enum Flags {
- kCrossProcess_Flag = 1 << 0,
- };
-
- SkBinaryWriteBuffer(uint32_t flags = 0);
- SkBinaryWriteBuffer(void* initialStorage, size_t storageSize, uint32_t flags = 0);
- ~SkBinaryWriteBuffer() override;
-
- bool isCrossProcess() const override {
- return SkToBool(fFlags & kCrossProcess_Flag);
- }
-
- void write(const void* buffer, size_t bytes) {
- fWriter.write(buffer, bytes);
- }
- void writePad32(const void* buffer, size_t bytes) override {
- fWriter.writePad(buffer, bytes);
- }
-
- void reset(void* storage = nullptr, size_t storageSize = 0) {
- fWriter.reset(storage, storageSize);
- }
-
- size_t bytesWritten() const { return fWriter.bytesWritten(); }
-
- void writeByteArray(const void* data, size_t size) override;
- void writeBool(bool value) override;
- void writeScalar(SkScalar value) override;
- void writeScalarArray(const SkScalar* value, uint32_t count) override;
- void writeInt(int32_t value) override;
- void writeIntArray(const int32_t* value, uint32_t count) override;
- void writeUInt(uint32_t value) override;
- void writeString(const char* value) override;
-
- void writeFlattenable(const SkFlattenable* flattenable) override;
- void writeColor(SkColor color) override;
- void writeColorArray(const SkColor* color, uint32_t count) override;
- void writeColor4f(const SkColor4f& color) override;
- void writeColor4fArray(const SkColor4f* color, uint32_t count) override;
- void writePoint(const SkPoint& point) override;
- void writePointArray(const SkPoint* point, uint32_t count) override;
- void writeMatrix(const SkMatrix& matrix) override;
- void writeIRect(const SkIRect& rect) override;
- void writeRect(const SkRect& rect) override;
- void writeRegion(const SkRegion& region) override;
- void writePath(const SkPath& path) override;
- size_t writeStream(SkStream* stream, size_t length) override;
- void writeImage(const SkImage*) override;
- void writeTypeface(SkTypeface* typeface) override;
- void writePaint(const SkPaint& paint) override;
-
- bool writeToStream(SkWStream*);
- void writeToMemory(void* dst) { fWriter.flatten(dst); }
-
- SkFactorySet* setFactoryRecorder(SkFactorySet*);
- SkRefCntSet* setTypefaceRecorder(SkRefCntSet*);
-
-private:
- const uint32_t fFlags;
- SkFactorySet* fFactorySet;
- SkWriter32 fWriter;
-
- SkRefCntSet* fTFSet;
-
- // Only used if we do not have an fFactorySet
- SkTHashMap<SkString, uint32_t> fFlattenableDict;
-};
-
-#endif // SkWriteBuffer_DEFINED