OLD | NEW |
1 /* | 1 /* |
2 * Copyright 2007 The Android Open Source Project | 2 * Copyright 2007 The Android Open Source Project |
3 * | 3 * |
4 * Use of this source code is governed by a BSD-style license that can be | 4 * Use of this source code is governed by a BSD-style license that can be |
5 * found in the LICENSE file. | 5 * found in the LICENSE file. |
6 */ | 6 */ |
7 | 7 |
8 #ifndef SkPicture_DEFINED | 8 #ifndef SkPicture_DEFINED |
9 #define SkPicture_DEFINED | 9 #define SkPicture_DEFINED |
10 | 10 |
(...skipping 150 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
161 // Sent via SkMessageBus from destructor. | 161 // Sent via SkMessageBus from destructor. |
162 struct DeletionMessage { int32_t fUniqueID; }; // TODO: -> uint32_t? | 162 struct DeletionMessage { int32_t fUniqueID; }; // TODO: -> uint32_t? |
163 | 163 |
164 // Returns NULL if this is not an SkBigPicture. | 164 // Returns NULL if this is not an SkBigPicture. |
165 virtual const SkBigPicture* asSkBigPicture() const { return NULL; } | 165 virtual const SkBigPicture* asSkBigPicture() const { return NULL; } |
166 | 166 |
167 // Global setting to enable or disable security precautions for serializatio
n. | 167 // Global setting to enable or disable security precautions for serializatio
n. |
168 static void SetPictureIOSecurityPrecautionsEnabled_Dangerous(bool set); | 168 static void SetPictureIOSecurityPrecautionsEnabled_Dangerous(bool set); |
169 static bool PictureIOSecurityPrecautionsEnabled(); | 169 static bool PictureIOSecurityPrecautionsEnabled(); |
170 | 170 |
| 171 // Number of drawpath and clippath calls which may be slow to draw on the GP
U without MSAA. |
| 172 virtual int numSlowPaths() const = 0; |
| 173 |
171 #ifdef SK_SUPPORT_LEGACY_PICTURE_PTR | 174 #ifdef SK_SUPPORT_LEGACY_PICTURE_PTR |
172 static SkPicture* CreateFromStream(SkStream* stream, InstallPixelRefProc pro
c) { | 175 static SkPicture* CreateFromStream(SkStream* stream, InstallPixelRefProc pro
c) { |
173 return MakeFromStream(stream, proc).release(); | 176 return MakeFromStream(stream, proc).release(); |
174 } | 177 } |
175 static SkPicture* CreateFromStream(SkStream* stream) { | 178 static SkPicture* CreateFromStream(SkStream* stream) { |
176 return MakeFromStream(stream).release(); | 179 return MakeFromStream(stream).release(); |
177 } | 180 } |
178 static SkPicture* CreateFromBuffer(SkReadBuffer& rbuf) { | 181 static SkPicture* CreateFromBuffer(SkReadBuffer& rbuf) { |
179 return MakeFromBuffer(rbuf).release(); | 182 return MakeFromBuffer(rbuf).release(); |
180 } | 183 } |
181 #endif | 184 #endif |
182 | 185 |
183 private: | 186 private: |
184 // Subclass whitelist. | 187 // Subclass whitelist. |
185 SkPicture(); | 188 SkPicture(); |
186 friend class SkBigPicture; | 189 friend class SkBigPicture; |
187 friend class SkEmptyPicture; | 190 friend class SkEmptyPicture; |
188 template <typename> friend class SkMiniPicture; | 191 template <typename> friend class SkMiniPicture; |
189 | 192 |
190 void serialize(SkWStream*, SkPixelSerializer*, SkRefCntSet* typefaces) const
; | 193 void serialize(SkWStream*, SkPixelSerializer*, SkRefCntSet* typefaces) const
; |
191 static sk_sp<SkPicture> MakeFromStream(SkStream*, InstallPixelRefProc, SkTyp
efacePlayback*); | 194 static sk_sp<SkPicture> MakeFromStream(SkStream*, InstallPixelRefProc, SkTyp
efacePlayback*); |
192 friend class SkPictureData; | 195 friend class SkPictureData; |
193 | 196 |
194 virtual int numSlowPaths() const = 0; | |
195 friend class SkPictureGpuAnalyzer; | |
196 friend struct SkPathCounter; | 197 friend struct SkPathCounter; |
197 | 198 |
198 // V35: Store SkRect (rather then width & height) in header | 199 // V35: Store SkRect (rather then width & height) in header |
199 // V36: Remove (obsolete) alphatype from SkColorTable | 200 // V36: Remove (obsolete) alphatype from SkColorTable |
200 // V37: Added shadow only option to SkDropShadowImageFilter (last version to
record CLEAR) | 201 // V37: Added shadow only option to SkDropShadowImageFilter (last version to
record CLEAR) |
201 // V38: Added PictureResolution option to SkPictureImageFilter | 202 // V38: Added PictureResolution option to SkPictureImageFilter |
202 // V39: Added FilterLevel option to SkPictureImageFilter | 203 // V39: Added FilterLevel option to SkPictureImageFilter |
203 // V40: Remove UniqueID serialization from SkImageFilter. | 204 // V40: Remove UniqueID serialization from SkImageFilter. |
204 // V41: Added serialization of SkBitmapSource's filterQuality parameter | 205 // V41: Added serialization of SkBitmapSource's filterQuality parameter |
205 // V42: Added a bool to SkPictureShader serialization to indicate did-we-ser
ialize-a-picture? | 206 // V42: Added a bool to SkPictureShader serialization to indicate did-we-ser
ialize-a-picture? |
(...skipping 19 matching lines...) Expand all Loading... |
225 const SkPictureData*, | 226 const SkPictureData*, |
226 const SkReadBuffer* buffer); | 227 const SkReadBuffer* buffer); |
227 | 228 |
228 SkPictInfo createHeader() const; | 229 SkPictInfo createHeader() const; |
229 SkPictureData* backport() const; | 230 SkPictureData* backport() const; |
230 | 231 |
231 mutable uint32_t fUniqueID; | 232 mutable uint32_t fUniqueID; |
232 }; | 233 }; |
233 | 234 |
234 #endif | 235 #endif |
OLD | NEW |