diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/core/SkPicture.h | 70 | ||||
-rw-r--r-- | include/core/SkPictureRecorder.h | 3 |
2 files changed, 5 insertions, 68 deletions
diff --git a/include/core/SkPicture.h b/include/core/SkPicture.h index 82c78a7880..0b6261af4e 100644 --- a/include/core/SkPicture.h +++ b/include/core/SkPicture.h @@ -286,73 +286,11 @@ protected: // playback is unchanged. SkPicture(SkPicturePlayback*, int width, int height); -private: - friend class SkPictureRecord; - friend class SkPictureTester; // for unit testing + SkPicture(int width, int height, SkPictureRecord& record, bool deepCopyOps); +private: SkAutoTUnref<SkPathHeap> fPathHeap; // reference counted - // ContentInfo is not serialized! It is intended solely for use - // with suitableForGpuRasterization. - class ContentInfo { - public: - ContentInfo() { this->reset(); } - - ContentInfo(const ContentInfo& src) { this->set(src); } - - void set(const ContentInfo& src) { - fNumPaintWithPathEffectUses = src.fNumPaintWithPathEffectUses; - fNumAAConcavePaths = src.fNumAAConcavePaths; - fNumAAHairlineConcavePaths = src.fNumAAHairlineConcavePaths; - } - - void reset() { - fNumPaintWithPathEffectUses = 0; - fNumAAConcavePaths = 0; - fNumAAHairlineConcavePaths = 0; - } - - void swap(ContentInfo* other) { - SkTSwap(fNumPaintWithPathEffectUses, other->fNumPaintWithPathEffectUses); - SkTSwap(fNumAAConcavePaths, other->fNumAAConcavePaths); - SkTSwap(fNumAAHairlineConcavePaths, other->fNumAAHairlineConcavePaths); - } - - // This field is incremented every time a paint with a path effect is - // used (i.e., it is not a de-duplicated count) - int fNumPaintWithPathEffectUses; - // This field is incremented every time an anti-aliased drawPath call is - // issued with a concave path - int fNumAAConcavePaths; - // This field is incremented every time a drawPath call is - // issued for a hairline stroked concave path. - int fNumAAHairlineConcavePaths; - }; - - ContentInfo fContentInfo; - - void incPaintWithPathEffectUses() { - ++fContentInfo.fNumPaintWithPathEffectUses; - } - int numPaintWithPathEffectUses() const { - return fContentInfo.fNumPaintWithPathEffectUses; - } - - void incAAConcavePaths() { - ++fContentInfo.fNumAAConcavePaths; - } - int numAAConcavePaths() const { - return fContentInfo.fNumAAConcavePaths; - } - - void incAAHairlineConcavePaths() { - ++fContentInfo.fNumAAHairlineConcavePaths; - SkASSERT(fContentInfo.fNumAAHairlineConcavePaths <= fContentInfo.fNumAAConcavePaths); - } - int numAAHairlineConcavePaths() const { - return fContentInfo.fNumAAHairlineConcavePaths; - } - const SkPath& getPath(int index) const; int addPathToHeap(const SkPath& path); @@ -399,12 +337,10 @@ private: void createHeader(SkPictInfo* info) const; static bool IsValidPictInfo(const SkPictInfo& info); - static SkPicturePlayback* FakeEndRecording(const SkPicture* resourceSrc, - const SkPictureRecord& record); friend class SkFlatPicture; friend class SkPicturePlayback; - friend class SkPictureRecorder; + friend class SkPictureRecorder; // just for SkPicture-based constructor friend class SkGpuDevice; friend class GrGatherCanvas; friend class GrGatherDevice; diff --git a/include/core/SkPictureRecorder.h b/include/core/SkPictureRecorder.h index e9ddcf5958..8d29ff36da 100644 --- a/include/core/SkPictureRecorder.h +++ b/include/core/SkPictureRecorder.h @@ -61,7 +61,8 @@ private: friend class SkPictureRecorderReplayTester; // for unit testing void partialReplay(SkCanvas* canvas) const; - SkAutoTUnref<SkPicture> fPicture; + int fWidth; + int fHeight; SkPictureRecord* fCanvas; // ref counted typedef SkNoncopyable INHERITED; |