8 #ifndef SkPicture_DEFINED
9 #define SkPicture_DEFINED
28 class SkTypefacePlayback;
53 typedef bool (*InstallPixelRefProc)(
const void* src,
size_t length,
SkBitmap* dst);
91 virtual bool abort() = 0;
106 virtual SkRect cullRect()
const = 0;
109 uint32_t uniqueID()
const;
132 virtual bool willPlayBackBitmaps()
const = 0;
139 virtual int approximateOpCount()
const = 0;
142 virtual size_t approximateBytesUsed()
const = 0;
152 static bool InternalOnly_StreamIsSKP(
SkStream*, SkPictInfo*);
153 static bool InternalOnly_BufferIsSKP(SkReadBuffer*, SkPictInfo*);
155 #ifdef SK_SUPPORT_LEGACY_PICTURE_GPUVETO
157 bool suitableForGpuRasterization(
GrContext*,
const char** whyNot = NULL)
const;
164 virtual const SkBigPicture* asSkBigPicture()
const {
return NULL; }
167 static void SetPictureIOSecurityPrecautionsEnabled_Dangerous(
bool set);
168 static bool PictureIOSecurityPrecautionsEnabled();
173 friend class SkBigPicture;
174 friend class SkEmptyPicture;
175 template <
typename>
friend class SkMiniPicture;
179 friend class SkPictureData;
181 virtual int numSlowPaths()
const = 0;
183 friend struct SkPathCounter;
208 static const uint32_t MIN_PICTURE_VERSION = 51;
209 static const uint32_t CURRENT_PICTURE_VERSION = 55;
211 static bool IsValidPictInfo(
const SkPictInfo& info);
213 const SkPictureData*,
214 SkReadBuffer* buffer);
216 SkPictInfo createHeader()
const;
217 SkPictureData* backport()
const;
219 mutable uint32_t fUniqueID;
A Canvas encapsulates all of the state about drawing into a device (bitmap).
Definition: SkCanvas.h:59
The SkPath class encapsulates compound (multiple contour) geometric paths consisting of straight line...
Definition: SkPath.h:25
Definition: SkRefCnt.h:125
An SkPicture records drawing commands made to a canvas to be played back at a later time...
Definition: SkPicture.h:38
Subclasses of this can be passed to playback().
Definition: SkPicture.h:87
Definition: SkPicture.h:161
SkData holds an immutable data buffer.
Definition: SkData.h:22
The SkBitmap class specifies a raster bitmap.
Definition: SkBitmap.h:37
Definition: GrContext.h:47
Interface for serializing pixels, e.g.
Definition: SkPixelSerializer.h:19
SkStream – abstraction for a source of bytes.
Definition: SkStream.h:40
Definition: SkStream.h:182
Definition: SkWriteBuffer.h:27
Definition: SkImageDeserializer.h:17
SkImage is an abstraction for drawing a rectagle of pixels, though the particular type of image could...
Definition: SkImage.h:48
Gathers GPU-related statistics for one or more SkPictures.
Definition: SkPictureAnalyzer.h:26