Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(284)

Side by Side Diff: include/core/SkPicture.h

Issue 727363003: wip for drawables (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: make the pictures in the array also const (the array already was const) Created 6 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | samplecode/SampleArc.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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
OLDNEW
« no previous file with comments | « no previous file | samplecode/SampleArc.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698