| Index: src/core/SkPictureContentInfo.h
|
| diff --git a/src/core/SkPictureContentInfo.h b/src/core/SkPictureContentInfo.h
|
| index cfeedcf48312317ca0c4684b7cb536c5c78aa297..d4d1d4fc5f76af0cde01bf59ceb4253f9c13c05e 100644
|
| --- a/src/core/SkPictureContentInfo.h
|
| +++ b/src/core/SkPictureContentInfo.h
|
| @@ -17,6 +17,11 @@ public:
|
|
|
| int numOperations() const { return fNumOperations; }
|
| bool hasText() const { return fNumTexts > 0; }
|
| +
|
| + int numLayers() const { return fNumLayers; }
|
| + int numInteriorLayers() const { return fNumInteriorLayers; }
|
| + int numLeafLayers() const { return fNumLeafLayers; }
|
| +
|
| bool suitableForGpuRasterization(GrContext* context, const char **reason,
|
| int sampleCount) const;
|
|
|
| @@ -27,6 +32,12 @@ public:
|
| void onAddPaintPtr(const SkPaint* paint);
|
| void onDrawText() { ++fNumTexts; }
|
|
|
| + void onSaveLayer();
|
| + void onSave();
|
| + void onRestore();
|
| + void rescindLastSave();
|
| + void rescindLastSaveLayer();
|
| +
|
| void set(const SkPictureContentInfo& src);
|
| void reset();
|
| void swap(SkPictureContentInfo* other);
|
| @@ -49,6 +60,25 @@ private:
|
| // This field is incremented every time a drawPath call is
|
| // issued for a hairline stroked concave path.
|
| int fNumAAHairlineConcavePaths;
|
| + // These fields track the different layer flavors. fNumLayers is just
|
| + // a count of all saveLayers, fNumInteriorLayers is the number of layers
|
| + // with a layer inside them, fNumLeafLayers is the number of layers with
|
| + // no layer inside them.
|
| + int fNumLayers;
|
| + int fNumInteriorLayers;
|
| + int fNumLeafLayers;
|
| +
|
| + enum Flags {
|
| + kSave_Flag = 0x1,
|
| + kSaveLayer_Flag = 0x2,
|
| +
|
| + // Did the current save or saveLayer contain another saveLayer.
|
| + // Percolated back down the save stack.
|
| + kContainedSaveLayer_Flag = 0x4
|
| + };
|
| +
|
| + // Stack of save vs saveLayer information to track nesting
|
| + SkTDArray<uint32_t> fSaveStack;
|
| };
|
|
|
| #endif
|
|
|