#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 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 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 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 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 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 ##