Index: include/core/SkPaint.h |
diff --git a/include/core/SkPaint.h b/include/core/SkPaint.h |
index abb859950c5bb6a66aecccded690ca8cd6ae02a2..bf0f91ceb25e896493afbb3c2e98f8291be56e13 100644 |
--- a/include/core/SkPaint.h |
+++ b/include/core/SkPaint.h |
@@ -980,6 +980,11 @@ public: |
SkDEVCODE(void toString(SkString*) const;) |
+ struct FlatteningTraits { |
+ static void Flatten(SkWriteBuffer& buffer, const SkPaint& paint); |
+ static void Unflatten(SkReadBuffer& buffer, SkPaint* paint); |
+ }; |
+ |
private: |
SkTypeface* fTypeface; |
SkScalar fTextSize; |
@@ -999,15 +1004,25 @@ private: |
SkColor fColor; |
SkScalar fWidth; |
SkScalar fMiterLimit; |
- // all of these bitfields should add up to 32 |
- unsigned fFlags : 16; |
- unsigned fTextAlign : 2; |
- unsigned fCapType : 2; |
- unsigned fJoinType : 2; |
- unsigned fStyle : 2; |
- unsigned fTextEncoding : 2; // 3 values |
- unsigned fHinting : 2; |
- //unsigned fFreeBits : 4; |
+ |
+ union { |
+ struct { |
+ // all of these bitfields should add up to 32 |
+ unsigned fFlags : 16; |
+ unsigned fTextAlign : 2; |
+ unsigned fCapType : 2; |
+ unsigned fJoinType : 2; |
+ unsigned fStyle : 2; |
+ unsigned fTextEncoding : 2; // 3 values |
+ unsigned fHinting : 2; |
+ //unsigned fFreeBits : 4; |
+ }; |
+ uint32_t fBitfields; |
+ }; |
+ uint32_t getBitfields() const { return fBitfields; } |
+ void setBitfields(uint32_t bitfields); |
+ |
+ uint32_t fDirtyBits; |
SkDrawCacheProc getDrawCacheProc() const; |