aboutsummaryrefslogtreecommitdiffhomepage
path: root/tools/PictureRenderer.h
diff options
context:
space:
mode:
Diffstat (limited to 'tools/PictureRenderer.h')
-rw-r--r--tools/PictureRenderer.h18
1 files changed, 17 insertions, 1 deletions
diff --git a/tools/PictureRenderer.h b/tools/PictureRenderer.h
index 5d32203b3c..579e413ad2 100644
--- a/tools/PictureRenderer.h
+++ b/tools/PictureRenderer.h
@@ -36,6 +36,11 @@ public:
#endif
};
+ enum BBoxHierarchyType {
+ kNone_BBoxHierarchyType = 0,
+ kRTree_BBoxHierarchyType,
+ };
+
virtual void init(SkPicture* pict);
/**
@@ -62,6 +67,10 @@ public:
fDeviceType = deviceType;
}
+ void setBBoxHierarchyType(BBoxHierarchyType bbhType) {
+ fBBoxHierarchyType = bbhType;
+ }
+
bool isUsingBitmapDevice() {
return kBitmap_DeviceType == fDeviceType;
}
@@ -97,12 +106,17 @@ public:
{}
protected:
+ void buildBBoxHierarchy();
+ SkPicture* createPicture();
+ uint32_t recordFlags();
SkCanvas* setupCanvas();
virtual SkCanvas* setupCanvas(int width, int height);
SkAutoTUnref<SkCanvas> fCanvas;
SkPicture* fPicture;
SkDeviceTypes fDeviceType;
+ BBoxHierarchyType fBBoxHierarchyType;
+
#if SK_SUPPORT_GPU
GrContextFactory fGrContextFactory;
@@ -135,6 +149,8 @@ private:
class SimplePictureRenderer : public PictureRenderer {
public:
+ virtual void init(SkPicture* pict) SK_OVERRIDE;
+
virtual bool render(const SkString*) SK_OVERRIDE;
private:
@@ -255,7 +271,7 @@ public:
virtual SkString getNormalTimeFormat() SK_OVERRIDE { return SkString("%6.4f"); }
private:
- SkPicture fReplayer;
+ SkAutoTUnref<SkPicture> fReplayer;
typedef PictureRenderer INHERITED;
};