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

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

Issue 1911963008: DNC - JSON of flattenables, with field names. Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Add names to call sites Created 4 years, 8 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
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 #include <new> 7 #include <new>
8 #include "SkImageGenerator.h" 8 #include "SkImageGenerator.h"
9 #include "SkPictureData.h" 9 #include "SkPictureData.h"
10 #include "SkPictureRecord.h" 10 #include "SkPictureRecord.h"
(...skipping 132 matching lines...) Expand 10 before | Expand all | Expand 10 after
143 size_t len = strlen(name); 143 size_t len = strlen(name);
144 size += SkWStream::SizeOfPackedUInt(len); 144 size += SkWStream::SizeOfPackedUInt(len);
145 size += len; 145 size += len;
146 } 146 }
147 } 147 }
148 148
149 return size; 149 return size;
150 } 150 }
151 151
152 static void write_tag_size(SkWriteBuffer& buffer, uint32_t tag, size_t size) { 152 static void write_tag_size(SkWriteBuffer& buffer, uint32_t tag, size_t size) {
153 buffer.writeUInt(tag); 153 buffer.writeUInt("tag", tag);
154 buffer.writeUInt(SkToU32(size)); 154 buffer.writeUInt("size", SkToU32(size));
155 } 155 }
156 156
157 static void write_tag_size(SkWStream* stream, uint32_t tag, size_t size) { 157 static void write_tag_size(SkWStream* stream, uint32_t tag, size_t size) {
158 stream->write32(tag); 158 stream->write32(tag);
159 stream->write32(SkToU32(size)); 159 stream->write32(SkToU32(size));
160 } 160 }
161 161
162 void SkPictureData::WriteFactories(SkWStream* stream, const SkFactorySet& rec) { 162 void SkPictureData::WriteFactories(SkWStream* stream, const SkFactorySet& rec) {
163 int count = rec.count(); 163 int count = rec.count();
164 164
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
200 array[i]->serialize(stream); 200 array[i]->serialize(stream);
201 } 201 }
202 } 202 }
203 203
204 void SkPictureData::flattenToBuffer(SkWriteBuffer& buffer) const { 204 void SkPictureData::flattenToBuffer(SkWriteBuffer& buffer) const {
205 int i, n; 205 int i, n;
206 206
207 if ((n = fBitmaps.count()) > 0) { 207 if ((n = fBitmaps.count()) > 0) {
208 write_tag_size(buffer, SK_PICT_BITMAP_BUFFER_TAG, n); 208 write_tag_size(buffer, SK_PICT_BITMAP_BUFFER_TAG, n);
209 for (i = 0; i < n; i++) { 209 for (i = 0; i < n; i++) {
210 buffer.writeBitmap(fBitmaps[i]); 210 buffer.writeBitmap("fBitmap", fBitmaps[i]);
211 } 211 }
212 } 212 }
213 213
214 if ((n = fPaints.count()) > 0) { 214 if ((n = fPaints.count()) > 0) {
215 write_tag_size(buffer, SK_PICT_PAINT_BUFFER_TAG, n); 215 write_tag_size(buffer, SK_PICT_PAINT_BUFFER_TAG, n);
216 for (i = 0; i < n; i++) { 216 for (i = 0; i < n; i++) {
217 buffer.writePaint(fPaints[i]); 217 buffer.writePaint("fPaint", fPaints[i]);
218 } 218 }
219 } 219 }
220 220
221 if ((n = fPaths.count()) > 0) { 221 if ((n = fPaths.count()) > 0) {
222 write_tag_size(buffer, SK_PICT_PATH_BUFFER_TAG, n); 222 write_tag_size(buffer, SK_PICT_PATH_BUFFER_TAG, n);
223 buffer.writeInt(n); 223 buffer.writeInt("pathCount", n);
224 for (int i = 0; i < n; i++) { 224 for (int i = 0; i < n; i++) {
225 buffer.writePath(fPaths[i]); 225 buffer.writePath("fPath", fPaths[i]);
226 } 226 }
227 } 227 }
228 228
229 if (fTextBlobCount > 0) { 229 if (fTextBlobCount > 0) {
230 write_tag_size(buffer, SK_PICT_TEXTBLOB_BUFFER_TAG, fTextBlobCount); 230 write_tag_size(buffer, SK_PICT_TEXTBLOB_BUFFER_TAG, fTextBlobCount);
231 for (i = 0; i < fTextBlobCount; ++i) { 231 for (i = 0; i < fTextBlobCount; ++i) {
232 fTextBlobRefs[i]->flatten(buffer); 232 fTextBlobRefs[i]->flatten(buffer);
233 } 233 }
234 } 234 }
235 235
236 if (fImageCount > 0) { 236 if (fImageCount > 0) {
237 write_tag_size(buffer, SK_PICT_IMAGE_BUFFER_TAG, fImageCount); 237 write_tag_size(buffer, SK_PICT_IMAGE_BUFFER_TAG, fImageCount);
238 for (i = 0; i < fImageCount; ++i) { 238 for (i = 0; i < fImageCount; ++i) {
239 buffer.writeImage(fImageRefs[i]); 239 buffer.writeImage("fImageRef", fImageRefs[i]);
240 } 240 }
241 } 241 }
242 } 242 }
243 243
244 void SkPictureData::serialize(SkWStream* stream, 244 void SkPictureData::serialize(SkWStream* stream,
245 SkPixelSerializer* pixelSerializer, 245 SkPixelSerializer* pixelSerializer,
246 SkRefCntSet* topLevelTypeFaceSet) const { 246 SkRefCntSet* topLevelTypeFaceSet) const {
247 // This can happen at pretty much any time, so might as well do it first. 247 // This can happen at pretty much any time, so might as well do it first.
248 write_tag_size(stream, SK_PICT_READER_TAG, fOpData->size()); 248 write_tag_size(stream, SK_PICT_READER_TAG, fOpData->size());
249 stream->write(fOpData->bytes(), fOpData->size()); 249 stream->write(fOpData->bytes(), fOpData->size());
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
290 for (int i = 0; i < fPictureCount; i++) { 290 for (int i = 0; i < fPictureCount; i++) {
291 fPictureRefs[i]->serialize(stream, pixelSerializer, typefaceSet); 291 fPictureRefs[i]->serialize(stream, pixelSerializer, typefaceSet);
292 } 292 }
293 } 293 }
294 294
295 stream->write32(SK_PICT_EOF_TAG); 295 stream->write32(SK_PICT_EOF_TAG);
296 } 296 }
297 297
298 void SkPictureData::flatten(SkWriteBuffer& buffer) const { 298 void SkPictureData::flatten(SkWriteBuffer& buffer) const {
299 write_tag_size(buffer, SK_PICT_READER_TAG, fOpData->size()); 299 write_tag_size(buffer, SK_PICT_READER_TAG, fOpData->size());
300 buffer.writeByteArray(fOpData->bytes(), fOpData->size()); 300 buffer.writeByteArray("fOpData", fOpData->bytes(), fOpData->size());
301 301
302 if (fPictureCount > 0) { 302 if (fPictureCount > 0) {
303 write_tag_size(buffer, SK_PICT_PICTURE_TAG, fPictureCount); 303 write_tag_size(buffer, SK_PICT_PICTURE_TAG, fPictureCount);
304 for (int i = 0; i < fPictureCount; i++) { 304 for (int i = 0; i < fPictureCount; i++) {
305 fPictureRefs[i]->flatten(buffer); 305 fPictureRefs[i]->flatten(buffer);
306 } 306 }
307 } 307 }
308 308
309 // Write this picture playback's data into a writebuffer 309 // Write this picture playback's data into a writebuffer
310 this->flattenToBuffer(buffer); 310 this->flattenToBuffer(buffer);
311 buffer.write32(SK_PICT_EOF_TAG); 311 buffer.write32("eofTag", SK_PICT_EOF_TAG);
312 } 312 }
313 313
314 /////////////////////////////////////////////////////////////////////////////// 314 ///////////////////////////////////////////////////////////////////////////////
315 315
316 /** 316 /**
317 * Return the corresponding SkReadBuffer flags, given a set of 317 * Return the corresponding SkReadBuffer flags, given a set of
318 * SkPictInfo flags. 318 * SkPictInfo flags.
319 */ 319 */
320 static uint32_t pictInfoFlagsToReadBufferFlags(uint32_t pictInfoFlags) { 320 static uint32_t pictInfoFlagsToReadBufferFlags(uint32_t pictInfoFlags) {
321 static const struct { 321 static const struct {
(...skipping 301 matching lines...) Expand 10 before | Expand all | Expand 10 after
623 } else { 623 } else {
624 return this->suitableForGpuRasterization(nullptr, reason); 624 return this->suitableForGpuRasterization(nullptr, reason);
625 } 625 }
626 } 626 }
627 627
628 bool SkPictureData::suitableForLayerOptimization() const { 628 bool SkPictureData::suitableForLayerOptimization() const {
629 return fContentInfo.numLayers() > 0; 629 return fContentInfo.numLayers() > 0;
630 } 630 }
631 #endif 631 #endif
632 /////////////////////////////////////////////////////////////////////////////// 632 ///////////////////////////////////////////////////////////////////////////////
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698