diff options
author | 2014-01-30 22:16:32 +0000 | |
---|---|---|
committer | 2014-01-30 22:16:32 +0000 | |
commit | a2bd2d12ad9504583e9311404fcd82b40df49d30 (patch) | |
tree | f9543b2f185075f58c77354356728aacfa1e7f61 /include | |
parent | 0b9ada1318acf7d5fe90c57331c2a4548aad8b98 (diff) |
Set write buffer flags only in SkWriteBuffer and SkFlatController constructors.
This is a baby step toward refactored (and faster in-process) typeface and flattenable factory encoding and decoding. The sooner SkWriteBuffer knows its flags, the better.
Next steps will be to rearrange Sk{Read,Write}Buffer members into disjoint strategies to handle typefaces and flattenable factories: one for in-process, one for cross-process, one when validating.
BUG=skia:
R=reed@google.com, scroggo@google.com
Author: mtklein@google.com
Review URL: https://codereview.chromium.org/138803005
git-svn-id: http://skia.googlecode.com/svn/trunk@13253 2bbb7eff-a529-9590-31e7-b0007b416f81
Diffstat (limited to 'include')
-rw-r--r-- | include/core/SkWriteBuffer.h | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/include/core/SkWriteBuffer.h b/include/core/SkWriteBuffer.h index ab56f9d48d..332dfaea40 100644 --- a/include/core/SkWriteBuffer.h +++ b/include/core/SkWriteBuffer.h @@ -24,18 +24,15 @@ class SkRefCntSet; class SkWriteBuffer { public: - SkWriteBuffer(); - SkWriteBuffer(void* initialStorage, size_t storageSize); - ~SkWriteBuffer(); - enum Flags { kCrossProcess_Flag = 1 << 0, kValidation_Flag = 1 << 1, }; - void setFlags(uint32_t flags) { fFlags = flags; } - uint32_t getFlags() const { return fFlags; } - bool isValidating() const { return SkToBool(fFlags & kValidation_Flag); } + SkWriteBuffer(uint32_t flags = 0); + SkWriteBuffer(void* initialStorage, size_t storageSize, uint32_t flags = 0); + ~SkWriteBuffer(); + bool isCrossProcess() const { return this->isValidating() || SkToBool(fFlags & kCrossProcess_Flag); } @@ -107,7 +104,9 @@ public: void setBitmapEncoder(SkPicture::EncodeBitmap bitmapEncoder); private: - uint32_t fFlags; + bool isValidating() const { return SkToBool(fFlags & kValidation_Flag); } + + const uint32_t fFlags; SkFactorySet* fFactorySet; SkNamedFactorySet* fNamedFactorySet; SkWriter32 fWriter; |