skia2/docs/SkPicture_Reference.bmh
Cary Clark 224c700a1f sync docs up with tip of tree
Also check in work in progress for blend modes,
round rects, and a placeholder for pictures.

One minor include change to add a parameter name
for SkBlendMode function.

TBR=reed@google.com
R=caryclark@google.com

Docs-Preview: https://skia.org/?cl=134200
Bug: skia:6898
Change-Id: I5d2a9221d61edb32d9c7edbb3193401605b2b513
Reviewed-on: https://skia-review.googlesource.com/134200
Reviewed-by: Cary Clark <caryclark@google.com>
Reviewed-by: Cary Clark <caryclark@skia.org>
Commit-Queue: Cary Clark <caryclark@skia.org>
Auto-Submit: Cary Clark <caryclark@skia.org>
2018-06-27 15:47:45 +00:00

313 lines
6.2 KiB
Plaintext

#Topic Picture
#Alias Pictures ##
#Alias Picture_Reference ##
#Class SkPicture
An SkPicture records drawing commands made to a canvas to be played back at a later time.
This base class handles serialization and a few other miscellany.
#Subtopic Overview
#Populate
##
#Subtopic Class
#Populate
##
#Subtopic Member_Function
#Populate
##
# ------------------------------------------------------------------------------
#Class AbortCallback
#Line # incomplete ##
#Code
#ToDo fill this in manually ##
##
Subclasses of this can be passed to playback(). During the playback
of the picture, this callback will periodically be invoked. If its
abort() returns true, then picture playback will be interrupted.
The resulting drawing is undefined, as there is no guarantee how often the
callback will be invoked. If the abort happens inside some level of nested
calls to save(), restore will automatically be called to return the state
to the same level it was before the playback call was made.
# ------------------------------------------------------------------------------
#Method AbortCallback()
#In incomplete
#Line # incomplete ##
#Return incomplete ##
#Example
// incomplete
##
#SeeAlso incomplete
#Method ##
# ------------------------------------------------------------------------------
#Method virtual ~AbortCallback()
#In Constructor
#Line # incomplete ##
#Example
// incomplete
##
#SeeAlso incomplete
#Method ##
# ------------------------------------------------------------------------------
#Method virtual bool abort() = 0
#In incomplete
#Line # incomplete ##
#Return incomplete ##
#Example
// incomplete
##
#SeeAlso incomplete
#Method ##
#Class AbortCallback ##
# ------------------------------------------------------------------------------
#Method static sk_sp<SkPicture> MakeFromStream(SkStream* stream,
const SkDeserialProcs* procs = nullptr)
#In incomplete
#Line # incomplete ##
Recreate a picture that was serialized into a stream or data.
#Param stream incomplete ##
#Param procs incomplete ##
#Return incomplete ##
#Example
// incomplete
##
#SeeAlso incomplete
#Method ##
# ------------------------------------------------------------------------------
#Method static sk_sp<SkPicture> MakeFromData(const SkData* data,
const SkDeserialProcs* procs = nullptr)
#In incomplete
#Line # incomplete ##
#Param data incomplete ##
#Param procs incomplete ##
#Return incomplete ##
#Example
// incomplete
##
#SeeAlso incomplete
#Method ##
# ------------------------------------------------------------------------------
#Method static sk_sp<SkPicture> MakeFromData(const void* data, size_t size,
const SkDeserialProcs* procs = nullptr)
#In incomplete
#Line # incomplete ##
#Param data incomplete ##
#Param size incomplete ##
#Param procs incomplete ##
#Return incomplete ##
#Example
// incomplete
##
#SeeAlso incomplete
#Method ##
# ------------------------------------------------------------------------------
#Method virtual void playback(SkCanvas* canvas, AbortCallback* callback = nullptr) const = 0
#In incomplete
#Line # incomplete ##
Replays the drawing commands on the specified canvas. Note that
this has the effect of unfurling this picture into the destination
canvas. Using the SkCanvas::drawPicture entry point gives the destination
canvas the option of just taking a ref.
#Param canvas the canvas receiving the drawing commands.
##
#Param callback a callback that allows interruption of playback
##
#Return incomplete ##
#Example
// incomplete
##
#SeeAlso incomplete
#Method ##
# ------------------------------------------------------------------------------
#Method virtual SkRect cullRect() const = 0
#In incomplete
#Line # incomplete ##
Return a cull rect for this picture.
Ops recorded into this picture that attempt to draw outside the cull might not be drawn.
#Return incomplete ##
#Example
// incomplete
##
#SeeAlso incomplete
#Method ##
# ------------------------------------------------------------------------------
#Method uint32_t uniqueID() const
#In incomplete
#Line # incomplete ##
Returns a non-zero value unique among all pictures.
#Return incomplete ##
#Example
// incomplete
##
#SeeAlso incomplete
#Method ##
# ------------------------------------------------------------------------------
#Method sk_sp<SkData> serialize(const SkSerialProcs* procs = nullptr) const
#In incomplete
#Line # incomplete ##
#Param procs incomplete ##
#Return incomplete ##
#Example
// incomplete
##
#SeeAlso incomplete
#Method ##
# ------------------------------------------------------------------------------
#Method void serialize(SkWStream* stream, const SkSerialProcs* procs = nullptr) const
#In incomplete
#Line # incomplete ##
#Param stream incomplete ##
#Param procs incomplete ##
#Example
// incomplete
##
#SeeAlso incomplete
#Method ##
# ------------------------------------------------------------------------------
#Method static sk_sp<SkPicture> MakePlaceholder(SkRect cull)
#In incomplete
#Line # incomplete ##
Return a placeholder SkPicture.
This placeholder does not draw anything itself. It has a distinct uniqueID()
(just like all Pictures) and will always be visible to SkSerialProcs.
#Param cull the placeholder's dimensions
##
#Return incomplete ##
#Example
// incomplete
##
#SeeAlso incomplete
#Method ##
# ------------------------------------------------------------------------------
#Method virtual int approximateOpCount() const = 0
#In incomplete
#Line # incomplete ##
Return the approximate number of operations in this picture. This
number may be greater or less than the number of SkCanvas calls
recorded: some calls may be recorded as more than one operation, or some
calls may be optimized away.
#Return incomplete ##
#Example
// incomplete
##
#SeeAlso incomplete
#Method ##
# ------------------------------------------------------------------------------
#Method virtual size_t approximateBytesUsed() const = 0
#In incomplete
#Line # incomplete ##
Returns the approximate byte size of this picture, not including large ref'd objects.
#Return incomplete ##
#Example
// incomplete
##
#SeeAlso incomplete
#Method ##
#Class SkPicture ##
#Topic Picture ##