diff options
author | Adrienne Walker <enne@chromium.org> | 2017-05-01 13:45:01 -0700 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2017-05-02 13:52:09 +0000 |
commit | 6a280a50eddc30c6b2a090d9e8e7df78afe7a457 (patch) | |
tree | 8b239c8a431ac716d1fdacc7c7e75e41e0f344e9 /src/core/SkRecorder.cpp | |
parent | 687cc6c033506c767a960eb57b4d703a76424bfd (diff) |
Expose resetForNextPicture in SkNoDrawCanvas
SkRecorder has some private Skia behavior with the way it handles an
SkNoDrawCanvas that is not exposed. In particular, it's able to create
an arbitrary SkIRect device clip at construction time.
This is a performance optimization when reusing SkNoDrawCanvas across
multiple recordings instead of reconstructing a new canvas every time.
https://codereview.chromium.org/2768143002 is trying to implement
another version of SkPictureBuilder/SkRecorder and so wants to be able
to use similar SkNoDrawCanvas behavior.
Change-Id: I0ac5f0eef8f0548cefd7354062311667cf448b07
Reviewed-on: https://skia-review.googlesource.com/11320
Reviewed-by: Mike Reed <reed@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
Diffstat (limited to 'src/core/SkRecorder.cpp')
-rw-r--r-- | src/core/SkRecorder.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/core/SkRecorder.cpp b/src/core/SkRecorder.cpp index 3fdc17dfbf..47e4d74909 100644 --- a/src/core/SkRecorder.cpp +++ b/src/core/SkRecorder.cpp @@ -54,7 +54,8 @@ void SkRecorder::reset(SkRecord* record, const SkRect& bounds, this->forgetRecord(); fDrawPictureMode = dpm; fRecord = record; - this->resetForNextPicture(bounds.roundOut()); + SkIRect rounded = bounds.roundOut(); + this->resetCanvas(rounded.right(), rounded.bottom()); fMiniRecorder = mr; } |