Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(112)

Unified Diff: src/core/SkPictureRecord.h

Issue 153883002: Update SkPictureRecord to allow some ops to be written separately (Closed) Base URL: http://skia.googlecode.com/svn/trunk/
Patch Set: removed accidentally added file Created 6 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | src/core/SkPictureRecord.cpp » ('j') | src/core/SkPictureRecord.cpp » ('J')
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/core/SkPictureRecord.h
===================================================================
--- src/core/SkPictureRecord.h (revision 13304)
+++ src/core/SkPictureRecord.h (working copy)
@@ -108,9 +108,8 @@
private:
void handleOptimization(int opt);
- void recordRestoreOffsetPlaceholder(SkRegion::Op);
- void fillRestoreOffsetPlaceholdersForCurrentStackLevel(
- uint32_t restoreOffset);
+ int recordRestoreOffsetPlaceholder(SkRegion::Op);
+ void fillRestoreOffsetPlaceholdersForCurrentStackLevel(uint32_t restoreOffset);
SkTDArray<int32_t> fRestoreOffsetStack;
int fFirstSavedLayerIndex;
@@ -165,6 +164,7 @@
const SkFlatData* addPaint(const SkPaint& paint) { return this->addPaintPtr(&paint); }
const SkFlatData* addPaintPtr(const SkPaint* paint);
void addFlatPaint(const SkFlatData* flatPaint);
+ int addPathToHeap(const SkPath& path);
mtklein 2014/02/04 16:33:58 // does not write to ops stream ?
robertphillips 2014/02/04 19:08:01 Right now they still do.
mtklein 2014/02/04 19:09:02 But not addPathToHeap, right? That's the surprisi
robertphillips 2014/02/04 19:20:33 Fair enough. Done & moved to protected block.
void addPath(const SkPath& path);
void addPicture(SkPicture& picture);
void addPoint(const SkPoint& point);
@@ -237,6 +237,19 @@
const SkScalar xpos[], SkScalar constY,
const SkPaint& paint, const SkFlatData* flatPaintData);
+ // These entry points allow the writing of matrices, clips, saves &
+ // restores to be deferred (e.g., if the MC state is being collapsed and
+ // only written out as needed).
+ void concatImpl(const SkMatrix& matrix);
+ int clipRectImpl(const SkRect& rect, SkRegion::Op op, bool doAA);
+ int clipRRectImpl(const SkRRect& rrect, SkRegion::Op op, bool doAA);
+ int clipPathImpl(int pathID, SkRegion::Op op, bool doAA);
+ int clipRegionImpl(const SkRegion& region, SkRegion::Op op);
+ void saveImpl(SaveFlags flags);
mtklein 2014/02/04 16:33:58 given the way they're used, maybe rename to recor
robertphillips 2014/02/04 19:08:01 Done.
+ void saveLayerImpl(const SkRect* bounds, const SkPaint* paint,
+ SaveFlags flags);
+ void restoreImpl();
+
// 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.
SkBBoxHierarchy* fBoundingHierarchy;
« no previous file with comments | « no previous file | src/core/SkPictureRecord.cpp » ('j') | src/core/SkPictureRecord.cpp » ('J')

Powered by Google App Engine
This is Rietveld 408576698