Chromium Code Reviews| Index: src/core/SkPictureRecord.h |
| =================================================================== |
| --- src/core/SkPictureRecord.h (revision 13386) |
| +++ src/core/SkPictureRecord.h (working copy) |
| @@ -10,6 +10,9 @@ |
| #include "SkCanvas.h" |
| #include "SkFlattenable.h" |
| +#ifdef COLLAPSE_MATRIX_CLIP_STATE |
|
reed1
2014/02/10 20:59:25
nit: SK_COLLAPS_...
robertphillips
2014/02/11 15:11:00
Done.
|
| +#include "SkMatrixClipStateMgr.h" |
| +#endif |
| #include "SkPathHeap.h" |
| #include "SkPicture.h" |
| #include "SkPictureFlat.h" |
| @@ -111,11 +114,13 @@ |
| int recordRestoreOffsetPlaceholder(SkRegion::Op); |
| void fillRestoreOffsetPlaceholdersForCurrentStackLevel(uint32_t restoreOffset); |
| +#ifndef COLLAPSE_MATRIX_CLIP_STATE |
| SkTDArray<int32_t> fRestoreOffsetStack; |
| int fFirstSavedLayerIndex; |
| enum { |
| kNoSavedLayerIndex = -1 |
| }; |
| +#endif |
| /* |
| * Write the 'drawType' operation and chunk size to the skp. 'size' |
| @@ -250,7 +255,7 @@ |
| int recordClipRegion(const SkRegion& region, SkRegion::Op op); |
| void recordSave(SaveFlags flags); |
| void recordSaveLayer(const SkRect* bounds, const SkPaint* paint, SaveFlags flags); |
| - void recordRestore(); |
| + void recordRestore(bool fillInSkips = true); |
| // These are set to NULL in our constructor, but may be changed by |
| // subclasses, in which case they will be SkSafeUnref'd in our destructor. |
| @@ -261,6 +266,9 @@ |
| SkBitmapHeap* fBitmapHeap; |
| private: |
| + friend class MatrixClipState; // for access to *Impl methods |
| + friend class SkMatrixClipStateMgr; // for access to *Impl methods |
| + |
| SkChunkFlatController fFlattenableHeap; |
| SkPaintDictionary fPaints; |
| @@ -277,6 +285,10 @@ |
| friend class SkPicturePlayback; |
| friend class SkPictureTester; // for unit testing |
| +#ifdef COLLAPSE_MATRIX_CLIP_STATE |
| + SkMatrixClipStateMgr fMCMgr; |
| +#endif |
| + |
| typedef SkCanvas INHERITED; |
| }; |