Index: include/core/SkPicture.h |
diff --git a/include/core/SkPicture.h b/include/core/SkPicture.h |
index 7ccd3379e239e359a1e0c67fa3716328ace8263e..1b570858b6635d8770f3afa06faa20b9a0cece21 100644 |
--- a/include/core/SkPicture.h |
+++ b/include/core/SkPicture.h |
@@ -132,6 +132,9 @@ public: |
*/ |
void clone(SkPicture* pictures, int count) const; |
+ // TODO: kUsePathBoundsForClip_RecordingFlag no longer belongs in |
+ // SkPicture. It should be moved to SkPictureRecorder (or just made |
mtklein
2014/06/03 15:27:44
+1 to default.
|
+ // the default behavior). |
enum RecordingFlags { |
/* This flag specifies that when clipPath() is called, the path will |
be faithfully recorded, but the recording canvas' current clip will |
@@ -144,68 +147,6 @@ public: |
kUsePathBoundsForClip_RecordingFlag = 0x01 |
}; |
-#ifndef SK_SUPPORT_DEPRECATED_RECORD_FLAGS |
- // TODO: once kOptimizeForClippedPlayback_RecordingFlag is hidden from |
- // all external consumers, SkPicture::createBBoxHierarchy can also be |
- // cleaned up. |
-private: |
-#endif |
- enum Deprecated_RecordingFlags { |
- /* This flag causes the picture to compute bounding boxes and build |
- up a spatial hierarchy (currently an R-Tree), plus a tree of Canvas' |
- usually stack-based clip/etc state. This requires an increase in |
- recording time (often ~2x; likely more for very complex pictures), |
- but allows us to perform much faster culling at playback time, and |
- completely avoid some unnecessary clips and other operations. This |
- is ideal for tiled rendering, or any other situation where you're |
- drawing a fraction of a large scene into a smaller viewport. |
- |
- In most cases the record cost is offset by the playback improvement |
- after a frame or two of tiled rendering (and complex pictures that |
- induce the worst record times will generally get the largest |
- speedups at playback time). |
- |
- Note: Currently this is not serializable, the bounding data will be |
- discarded if you serialize into a stream and then deserialize. |
- */ |
- kOptimizeForClippedPlayback_RecordingFlag = 0x02, |
- }; |
-#ifndef SK_SUPPORT_DEPRECATED_RECORD_FLAGS |
-public: |
-#endif |
- |
-#ifndef SK_SUPPORT_LEGACY_PICTURE_CAN_RECORD |
-private: |
-#endif |
- |
-#ifdef SK_SUPPORT_LEGACY_DERIVED_PICTURE_CLASSES |
- |
- /** Returns the canvas that records the drawing commands. |
- @param width the base width for the picture, as if the recording |
- canvas' bitmap had this width. |
- @param height the base width for the picture, as if the recording |
- canvas' bitmap had this height. |
- @param recordFlags optional flags that control recording. |
- @return the picture canvas. |
- */ |
- SkCanvas* beginRecording(int width, int height, uint32_t recordFlags = 0); |
-#endif |
- |
- /** Returns the recording canvas if one is active, or NULL if recording is |
- not active. This does not alter the refcnt on the canvas (if present). |
- */ |
- SkCanvas* getRecordingCanvas() const; |
- /** Signal that the caller is done recording. This invalidates the canvas |
- returned by beginRecording/getRecordingCanvas, and prepares the picture |
- for drawing. Note: this happens implicitly the first time the picture |
- is drawn. |
- */ |
- void endRecording(); |
- |
-#ifndef SK_SUPPORT_LEGACY_PICTURE_CAN_RECORD |
-public: |
-#endif |
- |
/** Replays the drawing commands on the specified canvas. This internally |
calls endRecording() if that has not already been called. |
@param canvas the canvas receiving the drawing commands. |
@@ -353,14 +294,6 @@ protected: |
// playback is unchanged. |
SkPicture(SkPicturePlayback*, int width, int height); |
-#ifdef SK_SUPPORT_LEGACY_DERIVED_PICTURE_CLASSES |
- // For testing. Derived classes may instantiate an alternate |
- // SkBBoxHierarchy implementation |
- virtual SkBBoxHierarchy* createBBoxHierarchy() const; |
-#endif |
- |
- SkCanvas* beginRecording(int width, int height, SkBBHFactory* factory, uint32_t recordFlags); |
- |
private: |
friend class SkPictureRecord; |
friend class SkPictureTester; // for unit testing |
@@ -486,6 +419,31 @@ private: |
friend class GrGatherDevice; |
friend class SkDebugCanvas; |
+ // TODO: beginRecording, getRecordingCanvas & endRecording can now be |
+ // be moved out of SkPicture (and, presumably, be directly implemented |
+ // in SkPictureRecorder) |
+ |
+ /** Returns the canvas that records the drawing commands. |
+ @param width the base width for the picture, as if the recording |
+ canvas' bitmap had this width. |
+ @param height the base width for the picture, as if the recording |
+ canvas' bitmap had this height. |
+ @param factory if non-NULL, the factory used to the BBH for the recorded picture |
+ @param recordFlags optional flags that control recording. |
+ @return the picture canvas. |
+ */ |
+ SkCanvas* beginRecording(int width, int height, SkBBHFactory* factory, uint32_t recordFlags); |
+ /** Returns the recording canvas if one is active, or NULL if recording is |
+ not active. This does not alter the refcnt on the canvas (if present). |
+ */ |
+ SkCanvas* getRecordingCanvas() const; |
+ /** Signal that the caller is done recording. This invalidates the canvas |
+ returned by beginRecording/getRecordingCanvas, and prepares the picture |
+ for drawing. Note: this happens implicitly the first time the picture |
+ is drawn. |
+ */ |
+ void endRecording(); |
+ |
typedef SkRefCnt INHERITED; |
}; |
@@ -507,23 +465,4 @@ public: |
virtual bool abortDrawing() = 0; |
}; |
-#ifdef SK_SUPPORT_LEGACY_DERIVED_PICTURE_CLASSES |
- |
-class SkPictureFactory : public SkRefCnt { |
-public: |
- /** |
- * Allocate a new SkPicture. Return NULL on failure. |
- */ |
- virtual SkPicture* create(int width, int height) = 0; |
- |
-private: |
- typedef SkRefCnt INHERITED; |
-}; |
- |
-#endif |
- |
-#ifdef SK_SUPPORT_LEGACY_PICTURE_HEADERS |
-#include "SkPictureRecorder.h" |
-#endif |
- |
#endif |