OLD | NEW |
1 | 1 |
2 /* | 2 /* |
3 * Copyright 2007 The Android Open Source Project | 3 * Copyright 2007 The Android Open Source Project |
4 * | 4 * |
5 * Use of this source code is governed by a BSD-style license that can be | 5 * Use of this source code is governed by a BSD-style license that can be |
6 * found in the LICENSE file. | 6 * found in the LICENSE file. |
7 */ | 7 */ |
8 | 8 |
9 | 9 |
10 #ifndef SkPicture_DEFINED | 10 #ifndef SkPicture_DEFINED |
(...skipping 250 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
261 SkPicture(const SkRect& cullRect, SkRecord*, SnapshotArray*, SkBBoxHierarchy
*); | 261 SkPicture(const SkRect& cullRect, SkRecord*, SnapshotArray*, SkBBoxHierarchy
*); |
262 | 262 |
263 static SkPicture* Forwardport(const SkPictInfo&, const SkPictureData*); | 263 static SkPicture* Forwardport(const SkPictInfo&, const SkPictureData*); |
264 static SkPictureData* Backport(const SkRecord&, const SkPictInfo&, | 264 static SkPictureData* Backport(const SkRecord&, const SkPictInfo&, |
265 SkPicture const* const drawablePics[], int dr
awableCount); | 265 SkPicture const* const drawablePics[], int dr
awableCount); |
266 | 266 |
267 // uint32_t fRefCnt; from SkNVRefCnt<SkPicture> | 267 // uint32_t fRefCnt; from SkNVRefCnt<SkPicture> |
268 const uint32_t fUniqueID; | 268 const uint32_t fUniqueID; |
269 const SkRect fCullRect; | 269 const SkRect fCullRect; |
270 mutable SkAutoTUnref<const AccelData> fAccelData; | 270 mutable SkAutoTUnref<const AccelData> fAccelData; |
271 SkAutoTDelete<const SkRecord> fRecord; | 271 SkAutoTUnref<const SkRecord> fRecord; |
272 SkAutoTUnref<const SkBBoxHierarchy> fBBH; | 272 SkAutoTUnref<const SkBBoxHierarchy> fBBH; |
273 SkAutoTDelete<const SnapshotArray> fDrawablePicts; | 273 SkAutoTDelete<const SnapshotArray> fDrawablePicts; |
274 | 274 |
275 // helpers for fDrawablePicts | 275 // helpers for fDrawablePicts |
276 int drawableCount() const; | 276 int drawableCount() const; |
277 // will return NULL if drawableCount() returns 0 | 277 // will return NULL if drawableCount() returns 0 |
278 SkPicture const* const* drawablePicts() const; | 278 SkPicture const* const* drawablePicts() const; |
279 | 279 |
280 struct PathCounter; | 280 struct PathCounter; |
281 | 281 |
282 struct Analysis { | 282 struct Analysis { |
283 Analysis() {} // Only used by SkPictureData codepath. | 283 Analysis() {} // Only used by SkPictureData codepath. |
284 explicit Analysis(const SkRecord&); | 284 explicit Analysis(const SkRecord&); |
285 | 285 |
286 bool suitableForGpuRasterization(const char** reason, int sampleCount) c
onst; | 286 bool suitableForGpuRasterization(const char** reason, int sampleCount) c
onst; |
287 | 287 |
288 bool fWillPlaybackBitmaps; | 288 bool fWillPlaybackBitmaps; |
289 bool fHasText; | 289 bool fHasText; |
290 int fNumPaintWithPathEffectUses; | 290 int fNumPaintWithPathEffectUses; |
291 int fNumFastPathDashEffects; | 291 int fNumFastPathDashEffects; |
292 int fNumAAConcavePaths; | 292 int fNumAAConcavePaths; |
293 int fNumAAHairlineConcavePaths; | 293 int fNumAAHairlineConcavePaths; |
294 int fNumAADFEligibleConcavePaths; | 294 int fNumAADFEligibleConcavePaths; |
295 } fAnalysis; | 295 } fAnalysis; |
296 | 296 |
297 friend class SkPictureRecorder; // SkRecord-based constructor. | 297 friend class SkPictureRecorder; // SkRecord-based constructor. |
298 friend class GrLayerHoister; // access to fRecord | 298 friend class GrLayerHoister; // access to fRecord |
299 friend class ReplaceDraw; | 299 friend class ReplaceDraw; |
300 friend class SkPictureUtils; | 300 friend class SkPictureUtils; |
| 301 friend class SkRecordedDrawable; |
301 }; | 302 }; |
302 SK_COMPILE_ASSERT(sizeof(SkPicture) <= 96, SkPictureSize); | 303 SK_COMPILE_ASSERT(sizeof(SkPicture) <= 96, SkPictureSize); |
303 | 304 |
304 #endif | 305 #endif |
OLD | NEW |