X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=src%2Fthird_party%2Fskia%2Fsrc%2Fcore%2FSkPictureRecord.h;h=8fd40bc230d014f1af6cc56f9be7b2603d54343b;hb=4a1a0bdd01eef90b0826a0e761d3379d3715c10f;hp=7e5c5c641096a34018c5f96f736883860a6d5ce3;hpb=b1be5ca53587d23e7aeb77b26861fdc0a181ffd8;p=platform%2Fframework%2Fweb%2Fcrosswalk.git diff --git a/src/third_party/skia/src/core/SkPictureRecord.h b/src/third_party/skia/src/core/SkPictureRecord.h index 7e5c5c6..8fd40bc 100644 --- a/src/third_party/skia/src/core/SkPictureRecord.h +++ b/src/third_party/skia/src/core/SkPictureRecord.h @@ -10,12 +10,9 @@ #include "SkCanvas.h" #include "SkFlattenable.h" -#ifdef SK_COLLAPSE_MATRIX_CLIP_STATE -#include "SkMatrixClipStateMgr.h" -#endif #include "SkPathHeap.h" #include "SkPicture.h" -#include "SkPicturePlayback.h" +#include "SkPictureData.h" #include "SkPictureFlat.h" #include "SkTemplates.h" #include "SkWriter32.h" @@ -119,13 +116,11 @@ private: size_t recordRestoreOffsetPlaceholder(SkRegion::Op); void fillRestoreOffsetPlaceholdersForCurrentStackLevel(uint32_t restoreOffset); -#ifndef SK_COLLAPSE_MATRIX_CLIP_STATE SkTDArray fRestoreOffsetStack; int fFirstSavedLayerIndex; enum { kNoSavedLayerIndex = -1 }; -#endif SkTDArray fCullOffsetStack; @@ -145,10 +140,7 @@ private: size_t offset = fWriter.bytesWritten(); this->predrawNotify(); - - #ifdef SK_DEBUG_TRACE - SkDebugf("add %s\n", DrawTypeToString(drawType)); - #endif + fContentInfo.addOperation(); SkASSERT(0 != *size); SkASSERT(((uint8_t) drawType) == drawType); @@ -177,6 +169,7 @@ private: const SkFlatData* addPaint(const SkPaint& paint) { return this->addPaintPtr(&paint); } const SkFlatData* addPaintPtr(const SkPaint* paint); void addFlatPaint(const SkFlatData* flatPaint); + void addPatch(const SkPoint cubics[12]); void addPath(const SkPath& path); void addPicture(const SkPicture* picture); void addPoint(const SkPoint& point); @@ -191,49 +184,17 @@ private: int find(const SkBitmap& bitmap); -#ifdef SK_DEBUG_DUMP -public: - void dumpMatrices(); - void dumpPaints(); -#endif - -#ifdef SK_DEBUG_SIZE -public: - size_t size() const; - int bitmaps(size_t* size) const; - int matrices(size_t* size) const; - int paints(size_t* size) const; - int paths(size_t* size) const; - int regions(size_t* size) const; - size_t streamlen() const; - - size_t fPointBytes, fRectBytes, fTextBytes; - int fPointWrites, fRectWrites, fTextWrites; -#endif - -#ifdef SK_DEBUG_VALIDATE -public: - void validate(size_t initialOffset, uint32_t size) const; -private: - void validateBitmaps() const; - void validateMatrices() const; - void validatePaints() const; - void validatePaths() const; - void validateRegions() const; -#else -public: +protected: void validate(size_t initialOffset, size_t size) const { SkASSERT(fWriter.bytesWritten() == initialOffset + size); } -#endif -protected: virtual SkSurface* onNewSurface(const SkImageInfo&) SK_OVERRIDE; const void* onPeekPixels(SkImageInfo*, size_t*) SK_OVERRIDE { return NULL; } - virtual void willSave(SaveFlags) SK_OVERRIDE; + virtual void willSave() SK_OVERRIDE; virtual SaveLayerStrategy willSaveLayer(const SkRect*, const SkPaint*, SaveFlags) SK_OVERRIDE; virtual void willRestore() SK_OVERRIDE; @@ -252,13 +213,17 @@ protected: SkScalar constY, const SkPaint&) SK_OVERRIDE; virtual void onDrawTextOnPath(const void* text, size_t byteLength, const SkPath& path, const SkMatrix* matrix, const SkPaint&) SK_OVERRIDE; + + virtual void onDrawPatch(const SkPoint cubics[12], const SkColor colors[4], + const SkPoint texCoords[4], SkXfermode* xmode, + const SkPaint& paint) SK_OVERRIDE; virtual void onClipRect(const SkRect&, SkRegion::Op, ClipEdgeStyle) SK_OVERRIDE; virtual void onClipRRect(const SkRRect&, SkRegion::Op, ClipEdgeStyle) SK_OVERRIDE; virtual void onClipPath(const SkPath&, SkRegion::Op, ClipEdgeStyle) SK_OVERRIDE; virtual void onClipRegion(const SkRegion&, SkRegion::Op) SK_OVERRIDE; - virtual void onDrawPicture(const SkPicture* picture) SK_OVERRIDE; + virtual void onDrawPicture(const SkPicture*, const SkMatrix*, const SkPaint*) SK_OVERRIDE; // Return fontmetrics.fTop,fBottom in topbot[0,1], after they have been // tweaked by paint.computeFastBounds(). @@ -293,7 +258,7 @@ protected: size_t recordClipRRect(const SkRRect& rrect, SkRegion::Op op, bool doAA); size_t recordClipPath(int pathID, SkRegion::Op op, bool doAA); size_t recordClipRegion(const SkRegion& region, SkRegion::Op op); - void recordSave(SaveFlags flags); + void recordSave(); void recordSaveLayer(const SkRect* bounds, const SkPaint* paint, SaveFlags flags); void recordRestore(bool fillInSkips = true); @@ -306,9 +271,6 @@ protected: SkBitmapHeap* fBitmapHeap; private: - friend class MatrixClipState; // for access to *Impl methods - friend class SkMatrixClipStateMgr; // for access to *Impl methods - SkPictureContentInfo fContentInfo; SkAutoTUnref fPathHeap; @@ -325,13 +287,9 @@ private: bool fOptsEnabled; int fInitialSaveCount; - friend class SkPicturePlayback; + friend class SkPictureData; // for SkPictureData's SkPictureRecord-based constructor friend class SkPictureTester; // for unit testing -#ifdef SK_COLLAPSE_MATRIX_CLIP_STATE - SkMatrixClipStateMgr fMCMgr; -#endif - typedef SkCanvas INHERITED; };