Chromium Code Reviews| Index: include/core/SkPictureRecorder.h |
| diff --git a/include/core/SkPictureRecorder.h b/include/core/SkPictureRecorder.h |
| index b496aee28e25e54b7239135ff5700eb5d9926156..ea6dd2ddaa5ff028a899f52d55841eb7ba153389 100644 |
| --- a/include/core/SkPictureRecorder.h |
| +++ b/include/core/SkPictureRecorder.h |
| @@ -13,9 +13,13 @@ |
| #include "SkRefCnt.h" |
| class SkCanvas; |
| +class SkPictureRecord; |
| class SK_API SkPictureRecorder : SkNoncopyable { |
| public: |
| + SkPictureRecorder() : fCanvas(NULL) { } |
| + virtual ~SkPictureRecorder(); |
|
mtklein
2014/06/05 20:50:19
Drop virtual? Nothing else here is virtual; this
robertphillips
2014/06/05 21:01:53
Done.
|
| + |
| /** 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. |
| @@ -33,25 +37,14 @@ public: |
| /** 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() { |
| - if (NULL != fPicture.get()) { |
| - return fPicture->getRecordingCanvas(); |
| - } |
| - return NULL; |
| - } |
| + SkCanvas* getRecordingCanvas(); |
| /** Signal that the caller is done recording. This invalidates the canvas |
| returned by beginRecording/getRecordingCanvas, and returns the |
| created SkPicture. Note that the returned picture has its creation |
| ref which the caller must take ownership of. |
| */ |
| - SkPicture* endRecording() { |
| - if (NULL != fPicture.get()) { |
| - fPicture->endRecording(); |
| - return fPicture.detach(); |
| - } |
| - return NULL; |
| - } |
| + SkPicture* endRecording(); |
| /** Enable/disable all the picture recording optimizations (i.e., |
| those in SkPictureRecord). It is mainly intended for testing the |
| @@ -59,11 +52,7 @@ public: |
| appear in an .skp we have to disable the optimization). Call right |
| after 'beginRecording'. |
| */ |
| - void internalOnly_EnableOpts(bool enableOpts) { |
| - if (NULL != fPicture.get()) { |
| - fPicture->internalOnly_EnableOpts(enableOpts); |
| - } |
| - } |
| + void internalOnly_EnableOpts(bool enableOpts); |
| private: |
| #ifdef SK_BUILD_FOR_ANDROID |
| @@ -75,7 +64,8 @@ private: |
| void partialReplay(SkCanvas* canvas) const; |
| #endif |
| - SkAutoTUnref<SkPicture> fPicture; |
| + SkAutoTUnref<SkPicture> fPicture; |
| + SkPictureRecord* fCanvas; // ref counted |
| typedef SkNoncopyable INHERITED; |
| }; |