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

Side by Side Diff: src/core/SkPictureData.h

Issue 617953002: Strip old backend recording down to essentials (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: debug-only Created 6 years, 2 months 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 | « src/core/SkPicture.cpp ('k') | src/core/SkPictureData.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 * Copyright 2011 Google Inc. 2 * Copyright 2011 Google Inc.
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 SkPictureData_DEFINED 8 #ifndef SkPictureData_DEFINED
9 #define SkPictureData_DEFINED 9 #define SkPictureData_DEFINED
10 10
11 #include "SkBitmap.h" 11 #include "SkBitmap.h"
12 #include "SkPathHeap.h" 12 #include "SkPathHeap.h"
13 #include "SkPicture.h" 13 #include "SkPicture.h"
14 #include "SkPictureContentInfo.h" 14 #include "SkPictureContentInfo.h"
15 #include "SkPictureFlat.h" 15 #include "SkPictureFlat.h"
16 #include "SkPictureStateTree.h"
17 16
18 class SkData; 17 class SkData;
19 class SkPictureRecord; 18 class SkPictureRecord;
20 class SkReader32; 19 class SkReader32;
21 class SkStream; 20 class SkStream;
22 class SkWStream; 21 class SkWStream;
23 class SkBBoxHierarchy; 22 class SkBBoxHierarchy;
24 class SkMatrix; 23 class SkMatrix;
25 class SkPaint; 24 class SkPaint;
26 class SkPath; 25 class SkPath;
27 class SkPictureStateTree;
28 class SkReadBuffer; 26 class SkReadBuffer;
29 class SkTextBlob; 27 class SkTextBlob;
30 28
31 struct SkPictInfo { 29 struct SkPictInfo {
32 enum Flags { 30 enum Flags {
33 kCrossProcess_Flag = 1 << 0, 31 kCrossProcess_Flag = 1 << 0,
34 kScalarIsFloat_Flag = 1 << 1, 32 kScalarIsFloat_Flag = 1 << 1,
35 kPtrIs64Bit_Flag = 1 << 2, 33 kPtrIs64Bit_Flag = 1 << 2,
36 }; 34 };
37 35
(...skipping 22 matching lines...) Expand all
60 class SkPictureData { 58 class SkPictureData {
61 public: 59 public:
62 SkPictureData(const SkPictureRecord& record, const SkPictInfo&, bool deepCop yOps); 60 SkPictureData(const SkPictureRecord& record, const SkPictInfo&, bool deepCop yOps);
63 static SkPictureData* CreateFromStream(SkStream*, 61 static SkPictureData* CreateFromStream(SkStream*,
64 const SkPictInfo&, 62 const SkPictInfo&,
65 SkPicture::InstallPixelRefProc); 63 SkPicture::InstallPixelRefProc);
66 static SkPictureData* CreateFromBuffer(SkReadBuffer&, const SkPictInfo&); 64 static SkPictureData* CreateFromBuffer(SkReadBuffer&, const SkPictInfo&);
67 65
68 virtual ~SkPictureData(); 66 virtual ~SkPictureData();
69 67
70 const SkPicture::OperationList* getActiveOps(const SkRect& queryRect) const;
71
72 void serialize(SkWStream*, SkPicture::EncodeBitmap) const; 68 void serialize(SkWStream*, SkPicture::EncodeBitmap) const;
73 void flatten(SkWriteBuffer&) const; 69 void flatten(SkWriteBuffer&) const;
74 70
75 bool containsBitmaps() const; 71 bool containsBitmaps() const;
76 72
77 bool hasText() const { return fContentInfo.hasText(); } 73 bool hasText() const { return fContentInfo.hasText(); }
78 74
79 int opCount() const { return fContentInfo.numOperations(); } 75 int opCount() const { return fContentInfo.numOperations(); }
80 76
81 const SkData* opData() const { return fOpData; } 77 const SkData* opData() const { return fOpData; }
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
116 } 112 }
117 return &(*fPaints)[index - 1]; 113 return &(*fPaints)[index - 1];
118 } 114 }
119 115
120 const SkTextBlob* getTextBlob(SkReader32* reader) const { 116 const SkTextBlob* getTextBlob(SkReader32* reader) const {
121 int index = reader->readInt(); 117 int index = reader->readInt();
122 SkASSERT(index > 0 && index <= fTextBlobCount); 118 SkASSERT(index > 0 && index <= fTextBlobCount);
123 return fTextBlobRefs[index - 1]; 119 return fTextBlobRefs[index - 1];
124 } 120 }
125 121
126 void initIterator(SkPictureStateTree::Iterator* iter,
127 const SkTDArray<void*>& draws,
128 SkCanvas* canvas) const {
129 if (fStateTree) {
130 fStateTree->initIterator(iter, draws, canvas);
131 }
132 }
133
134 #if SK_SUPPORT_GPU 122 #if SK_SUPPORT_GPU
135 /** 123 /**
136 * sampleCount is the number of samples-per-pixel or zero if non-MSAA. 124 * sampleCount is the number of samples-per-pixel or zero if non-MSAA.
137 * It is defaulted to be zero. 125 * It is defaulted to be zero.
138 */ 126 */
139 bool suitableForGpuRasterization(GrContext* context, const char **reason, 127 bool suitableForGpuRasterization(GrContext* context, const char **reason,
140 int sampleCount = 0) const; 128 int sampleCount = 0) const;
141 129
142 /** 130 /**
143 * Calls getRecommendedSampleCount with GrPixelConfig and dpi to calculate s ampleCount 131 * Calls getRecommendedSampleCount with GrPixelConfig and dpi to calculate s ampleCount
(...skipping 24 matching lines...) Expand all
168 156
169 SkData* fOpData; // opcodes and parameters 157 SkData* fOpData; // opcodes and parameters
170 158
171 SkAutoTUnref<const SkPathHeap> fPathHeap; // reference counted 159 SkAutoTUnref<const SkPathHeap> fPathHeap; // reference counted
172 160
173 const SkPicture** fPictureRefs; 161 const SkPicture** fPictureRefs;
174 int fPictureCount; 162 int fPictureCount;
175 const SkTextBlob** fTextBlobRefs; 163 const SkTextBlob** fTextBlobRefs;
176 int fTextBlobCount; 164 int fTextBlobCount;
177 165
178 SkBBoxHierarchy* fBoundingHierarchy;
179 SkPictureStateTree* fStateTree;
180
181 SkPictureContentInfo fContentInfo; 166 SkPictureContentInfo fContentInfo;
182 167
183 SkTypefacePlayback fTFPlayback; 168 SkTypefacePlayback fTFPlayback;
184 SkFactoryPlayback* fFactoryPlayback; 169 SkFactoryPlayback* fFactoryPlayback;
185 170
186 const SkPictInfo fInfo; 171 const SkPictInfo fInfo;
187 172
188 static void WriteFactories(SkWStream* stream, const SkFactorySet& rec); 173 static void WriteFactories(SkWStream* stream, const SkFactorySet& rec);
189 static void WriteTypefaces(SkWStream* stream, const SkRefCntSet& rec); 174 static void WriteTypefaces(SkWStream* stream, const SkRefCntSet& rec);
190 175
191 void initForPlayback() const; 176 void initForPlayback() const;
192 }; 177 };
193 178
194 #endif 179 #endif
OLDNEW
« no previous file with comments | « src/core/SkPicture.cpp ('k') | src/core/SkPictureData.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698