| 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 241 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 252 // Only SKPs within the min/current picture version range (inclusive) can be
read. | 252 // Only SKPs within the min/current picture version range (inclusive) can be
read. |
| 253 static const uint32_t MIN_PICTURE_VERSION = 19; | 253 static const uint32_t MIN_PICTURE_VERSION = 19; |
| 254 static const uint32_t CURRENT_PICTURE_VERSION = 37; | 254 static const uint32_t CURRENT_PICTURE_VERSION = 37; |
| 255 | 255 |
| 256 void needsNewGenID() { fUniqueID = SK_InvalidGenID; } | 256 void needsNewGenID() { fUniqueID = SK_InvalidGenID; } |
| 257 void callDeletionListeners(); | 257 void callDeletionListeners(); |
| 258 | 258 |
| 259 void createHeader(SkPictInfo* info) const; | 259 void createHeader(SkPictInfo* info) const; |
| 260 static bool IsValidPictInfo(const SkPictInfo& info); | 260 static bool IsValidPictInfo(const SkPictInfo& info); |
| 261 | 261 |
| 262 // Takes ownership of the SkRecord, refs the (optional) BBH. | 262 // Takes ownership of the SkRecord, refs the (optional) drawablePicts and BB
H. |
| 263 SkPicture(SkScalar width, SkScalar height, SkRecord*, SkBBoxHierarchy*); | 263 SkPicture(SkScalar width, SkScalar height, SkRecord*, SkData* drawablePicts, |
| 264 SkBBoxHierarchy*); |
| 264 | 265 |
| 265 static SkPicture* Forwardport(const SkPictInfo&, const SkPictureData*); | 266 static SkPicture* Forwardport(const SkPictInfo&, const SkPictureData*); |
| 266 static SkPictureData* Backport(const SkRecord&, const SkPictInfo&); | 267 static SkPictureData* Backport(const SkRecord&, const SkPictInfo&, |
| 268 SkPicture const* const drawablePics[], int dr
awableCount); |
| 267 | 269 |
| 268 const SkScalar fCullWidth; | 270 const SkScalar fCullWidth; |
| 269 const SkScalar fCullHeight; | 271 const SkScalar fCullHeight; |
| 270 mutable SkAutoTUnref<const AccelData> fAccelData; | 272 mutable SkAutoTUnref<const AccelData> fAccelData; |
| 271 mutable SkTDArray<DeletionListener*> fDeletionListeners; // pointers are re
fed | 273 mutable SkTDArray<DeletionListener*> fDeletionListeners; // pointers are re
fed |
| 272 SkAutoTDelete<SkRecord> fRecord; | 274 SkAutoTDelete<SkRecord> fRecord; |
| 273 SkAutoTUnref<SkBBoxHierarchy> fBBH; | 275 SkAutoTUnref<SkBBoxHierarchy> fBBH; |
| 276 SkAutoTUnref<SkData> fDrawablePicts; |
| 277 |
| 278 // helpers for fDrawablePicts |
| 279 int drawableCount() const; |
| 280 // will return NULL if drawableCount() returns 0 |
| 281 SkPicture const* const* drawablePicts() const; |
| 282 |
| 283 struct PathCounter; |
| 284 |
| 274 struct Analysis { | 285 struct Analysis { |
| 275 Analysis() {} // Only used by SkPictureData codepath. | 286 Analysis() {} // Only used by SkPictureData codepath. |
| 276 explicit Analysis(const SkRecord&); | 287 explicit Analysis(const SkRecord&); |
| 277 | 288 |
| 278 bool suitableForGpuRasterization(const char** reason, int sampleCount) c
onst; | 289 bool suitableForGpuRasterization(const char** reason, int sampleCount) c
onst; |
| 279 | 290 |
| 280 bool fWillPlaybackBitmaps; | 291 bool fWillPlaybackBitmaps; |
| 281 bool fHasText; | 292 bool fHasText; |
| 282 int fNumPaintWithPathEffectUses; | 293 int fNumPaintWithPathEffectUses; |
| 283 int fNumFastPathDashEffects; | 294 int fNumFastPathDashEffects; |
| 284 int fNumAAConcavePaths; | 295 int fNumAAConcavePaths; |
| 285 int fNumAAHairlineConcavePaths; | 296 int fNumAAHairlineConcavePaths; |
| 286 int fNumAADFEligibleConcavePaths; | 297 int fNumAADFEligibleConcavePaths; |
| 287 } fAnalysis; | 298 } fAnalysis; |
| 288 mutable uint32_t fUniqueID; | 299 mutable uint32_t fUniqueID; |
| 289 | 300 |
| 290 struct PathCounter; | |
| 291 | |
| 292 friend class SkPictureRecorder; // SkRecord-based constructor. | 301 friend class SkPictureRecorder; // SkRecord-based constructor. |
| 293 friend class GrLayerHoister; // access to fRecord | 302 friend class GrLayerHoister; // access to fRecord |
| 294 friend class ReplaceDraw; | 303 friend class ReplaceDraw; |
| 295 | 304 |
| 296 typedef SkRefCnt INHERITED; | 305 typedef SkRefCnt INHERITED; |
| 297 }; | 306 }; |
| 298 | 307 |
| 299 #endif | 308 #endif |
| OLD | NEW |