aboutsummaryrefslogtreecommitdiffhomepage
path: root/include
diff options
context:
space:
mode:
authorGravatar commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81>2014-01-30 22:16:32 +0000
committerGravatar commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81>2014-01-30 22:16:32 +0000
commita2bd2d12ad9504583e9311404fcd82b40df49d30 (patch)
treef9543b2f185075f58c77354356728aacfa1e7f61 /include
parent0b9ada1318acf7d5fe90c57331c2a4548aad8b98 (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.h15
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;