Skia
2D Graphics Library
|
#include <SkPictureRecorder.h>
Public Member Functions | |
SkPictureRecorder () | |
~SkPictureRecorder () | |
SkCanvas * | beginRecording (const SkRect &bounds, sk_sp< SkBBoxHierarchy > bbh) |
Returns the canvas that records the drawing commands. More... | |
SkCanvas * | beginRecording (const SkRect &bounds, SkBBHFactory *bbhFactory=nullptr) |
SkCanvas * | beginRecording (SkScalar width, SkScalar height, SkBBHFactory *bbhFactory=nullptr) |
SkCanvas * | getRecordingCanvas () |
Returns the recording canvas if one is active, or NULL if recording is not active. More... | |
sk_sp< SkPicture > | finishRecordingAsPicture () |
Signal that the caller is done recording. More... | |
sk_sp< SkPicture > | finishRecordingAsPictureWithCull (const SkRect &cullRect) |
Signal that the caller is done recording, and update the cull rect to use for bounding box hierarchy (BBH) generation. More... | |
sk_sp< SkDrawable > | finishRecordingAsDrawable () |
Signal that the caller is done recording. More... | |
Friends | |
class | SkPictureRecorderReplayTester |
Replay the current (partially recorded) operation stream into canvas. More... | |
SkPictureRecorder::SkPictureRecorder | ( | ) |
SkPictureRecorder::~SkPictureRecorder | ( | ) |
SkCanvas* SkPictureRecorder::beginRecording | ( | const SkRect & | bounds, |
sk_sp< SkBBoxHierarchy > | bbh | ||
) |
Returns the canvas that records the drawing commands.
bounds | the cull rect used when recording this picture. Any drawing the falls outside of this rect is undefined, and may be drawn or it may not. |
bbh | optional acceleration structure |
recordFlags | optional flags that control recording. |
SkCanvas* SkPictureRecorder::beginRecording | ( | const SkRect & | bounds, |
SkBBHFactory * | bbhFactory = nullptr |
||
) |
|
inline |
sk_sp<SkDrawable> SkPictureRecorder::finishRecordingAsDrawable | ( | ) |
Signal that the caller is done recording.
This invalidates the canvas returned by beginRecording/getRecordingCanvas. Ownership of the object is passed to the caller, who must call unref() when they are done using it.
Unlike finishRecordingAsPicture(), which returns an immutable picture, the returned drawable may contain live references to other drawables (if they were added to the recording canvas) and therefore this drawable will reflect the current state of those nested drawables anytime it is drawn or a new picture is snapped from it (by calling drawable->makePictureSnapshot()).
Signal that the caller is done recording.
This invalidates the canvas returned by beginRecording/getRecordingCanvas. Ownership of the object is passed to the caller, who must call unref() when they are done using it.
The returned picture is immutable. If during recording drawables were added to the canvas, these will have been "drawn" into a recording canvas, so that this resulting picture will reflect their current state, but will not contain a live reference to the drawables themselves.
Signal that the caller is done recording, and update the cull rect to use for bounding box hierarchy (BBH) generation.
The behavior is the same as calling finishRecordingAsPicture(), except that this method updates the cull rect initially passed into beginRecording.
cullRect | the new culling rectangle to use as the overall bound for BBH generation and subsequent culling operations. |
SkCanvas* SkPictureRecorder::getRecordingCanvas | ( | ) |
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).
|
friend |
Replay the current (partially recorded) operation stream into canvas.
This call doesn't close the current recording.