| Index: src/core/SkMatrixClipStateMgr.h
|
| ===================================================================
|
| --- src/core/SkMatrixClipStateMgr.h (revision 13551)
|
| +++ src/core/SkMatrixClipStateMgr.h (working copy)
|
| @@ -53,7 +53,7 @@
|
| static const int32_t kIdentityWideOpenStateID = 0;
|
| static const int kIdentityMatID = 0;
|
|
|
| - class MatrixClipState {
|
| + class MatrixClipState : public SkNoncopyable {
|
| public:
|
| class MatrixInfo {
|
| public:
|
| @@ -104,6 +104,8 @@
|
| private:
|
| SkMatrix fMatrix;
|
| int fMatrixID;
|
| +
|
| + typedef SkNoncopyable INHERITED;
|
| };
|
|
|
| class ClipInfo : public SkNoncopyable {
|
| @@ -162,7 +164,7 @@
|
| ClipType fClipType;
|
|
|
| union {
|
| - SkRRect fRRect; // also stores clipRect
|
| + SkRRect fRRect; // also stores clip rect
|
| int fPathID;
|
| int fRegionID;
|
| } fGeom;
|
| @@ -236,8 +238,7 @@
|
| // Does this MC state represent a saveLayer call?
|
| bool fIsSaveLayer;
|
|
|
| - // The next two fields are only valid when fIsSaveLayer is set.
|
| - int32_t fSaveLayerBaseStateID;
|
| + // The next field is only valid when fIsSaveLayer is set.
|
| SkTDArray<int>* fSavedSkipOffsets;
|
|
|
| // Does the MC state have an open block in the skp?
|
| @@ -399,11 +400,15 @@
|
| return fMatrixDict[index];
|
| }
|
|
|
| - bool isCurrentlyOpen(int32_t stateID);
|
| + bool isNestingMCState(int stateID);
|
|
|
| #ifdef SK_DEBUG
|
| int fActualDepth;
|
| #endif
|
| +
|
| + // save layers are nested within a specific MC state. This stack tracks
|
| + // the nesting MC state's ID as save layers are pushed and popped.
|
| + SkTDArray<int> fStateIDStack;
|
| };
|
|
|
| #endif
|
|
|