• Home
  • Raw
  • Download

Lines Matching refs:reader

25 static bool do_playback(SkPipeReader& reader, SkCanvas* canvas, int* endPictureIndex = nullptr);
96 static SkRRect read_rrect(SkReadBuffer& reader) { in read_rrect() argument
98 rrect.readFromMemory(reader.skip(SkRRect::kSizeInMemory), SkRRect::kSizeInMemory); in read_rrect()
102 static SkMatrix read_sparse_matrix(SkReadBuffer& reader, SkMatrix::TypeMask tm) { in read_sparse_matrix() argument
107 matrix.set9(reader.skipT<SkScalar>(9)); in read_sparse_matrix()
109 const SkScalar* tmp = reader.skipT<SkScalar>(6); in read_sparse_matrix()
117 const SkScalar* tmp = reader.skipT<SkScalar>(4); in read_sparse_matrix()
123 const SkScalar* tmp = reader.skipT<SkScalar>(2); in read_sparse_matrix()
135 paint.set##Field(reader.readScalar()); \
140 paint.set##Field(reader.read##Field()); \
150 static SkPaint read_paint(SkReadBuffer& reader) { in read_paint() argument
153 uint32_t packedFlags = reader.read32(); in read_paint()
154 uint32_t extra = reader.read32(); in read_paint()
176 paint.setColor(reader.read32()); in read_paint()
219 static void save_handler(SkPipeReader& reader, uint32_t packedVerb, SkCanvas* canvas) { in save_handler() argument
224 static void saveLayer_handler(SkPipeReader& reader, uint32_t packedVerb, SkCanvas* canvas) { in saveLayer_handler() argument
227 const SkRect* bounds = (extra & kHasBounds_SaveLayerMask) ? reader.skipT<SkRect>() : nullptr; in saveLayer_handler()
230 paintStorage = read_paint(reader); in saveLayer_handler()
235 backdrop = reader.readImageFilter(); in saveLayer_handler()
239 clipMask = reader.readImage(); in saveLayer_handler()
243 reader.readMatrix(&clipMatrix); in saveLayer_handler()
256 static void restore_handler(SkPipeReader& reader, uint32_t packedVerb, SkCanvas* canvas) { in restore_handler() argument
261 static void concat_handler(SkPipeReader& reader, uint32_t packedVerb, SkCanvas* canvas) { in concat_handler() argument
264 const SkMatrix matrix = read_sparse_matrix(reader, tm); in concat_handler()
272 static void clipRect_handler(SkPipeReader& reader, uint32_t packedVerb, SkCanvas* canvas) { in clipRect_handler() argument
276 canvas->clipRect(*reader.skipT<SkRect>(), op, isAA); in clipRect_handler()
279 static void clipRRect_handler(SkPipeReader& reader, uint32_t packedVerb, SkCanvas* canvas) { in clipRRect_handler() argument
283 canvas->clipRRect(read_rrect(reader), op, isAA); in clipRRect_handler()
286 static void clipPath_handler(SkPipeReader& reader, uint32_t packedVerb, SkCanvas* canvas) { in clipPath_handler() argument
291 reader.readPath(&path); in clipPath_handler()
295 static void clipRegion_handler(SkPipeReader& reader, uint32_t packedVerb, SkCanvas* canvas) { in clipRegion_handler() argument
299 reader.readRegion(&region); in clipRegion_handler()
303 static void drawArc_handler(SkPipeReader& reader, uint32_t packedVerb, SkCanvas* canvas) { in drawArc_handler() argument
306 const SkScalar* scalars = reader.skipT<SkScalar>(6); // bounds[0..3], start[4], sweep[5] in drawArc_handler()
308 canvas->drawArc(*bounds, scalars[4], scalars[5], useCenter, read_paint(reader)); in drawArc_handler()
311 static void drawAtlas_handler(SkPipeReader& reader, uint32_t packedVerb, SkCanvas* canvas) { in drawAtlas_handler() argument
314 sk_sp<SkImage> image(reader.readImage()); in drawAtlas_handler()
315 int count = reader.read32(); in drawAtlas_handler()
316 const SkRSXform* xform = reader.skipT<SkRSXform>(count); in drawAtlas_handler()
317 const SkRect* rect = reader.skipT<SkRect>(count); in drawAtlas_handler()
320 color = reader.skipT<SkColor>(count); in drawAtlas_handler()
324 cull = reader.skipT<SkRect>(); in drawAtlas_handler()
328 paintStorage = read_paint(reader); in drawAtlas_handler()
334 static void drawDRRect_handler(SkPipeReader& reader, uint32_t packedVerb, SkCanvas* canvas) { in drawDRRect_handler() argument
336 const SkRRect outer = read_rrect(reader); in drawDRRect_handler()
337 const SkRRect inner = read_rrect(reader); in drawDRRect_handler()
338 canvas->drawDRRect(outer, inner, read_paint(reader)); in drawDRRect_handler()
341 static void drawText_handler(SkPipeReader& reader, uint32_t packedVerb, SkCanvas* canvas) { in drawText_handler() argument
345 len = reader.read32(); in drawText_handler()
347 const void* text = reader.skip(SkAlign4(len)); in drawText_handler()
348 SkScalar x = reader.readScalar(); in drawText_handler()
349 SkScalar y = reader.readScalar(); in drawText_handler()
350 canvas->drawText(text, len, x, y, read_paint(reader)); in drawText_handler()
353 static void drawPosText_handler(SkPipeReader& reader, uint32_t packedVerb, SkCanvas* canvas) { in drawPosText_handler() argument
357 len = reader.read32(); in drawPosText_handler()
359 const void* text = reader.skip(SkAlign4(len)); in drawPosText_handler()
360 int count = reader.read32(); in drawPosText_handler()
361 const SkPoint* pos = reader.skipT<SkPoint>(count); in drawPosText_handler()
362 SkPaint paint = read_paint(reader); in drawPosText_handler()
367 static void drawPosTextH_handler(SkPipeReader& reader, uint32_t packedVerb, SkCanvas* canvas) { in drawPosTextH_handler() argument
371 len = reader.read32(); in drawPosTextH_handler()
373 const void* text = reader.skip(SkAlign4(len)); in drawPosTextH_handler()
374 int count = reader.read32(); in drawPosTextH_handler()
375 const SkScalar* xpos = reader.skipT<SkScalar>(count); in drawPosTextH_handler()
376 SkScalar constY = reader.readScalar(); in drawPosTextH_handler()
377 SkPaint paint = read_paint(reader); in drawPosTextH_handler()
382 static void drawTextOnPath_handler(SkPipeReader& reader, uint32_t packedVerb, SkCanvas* canvas) { in drawTextOnPath_handler() argument
389 byteLength = reader.read32(); in drawTextOnPath_handler()
391 const void* text = reader.skip(SkAlign4(byteLength)); in drawTextOnPath_handler()
393 reader.readPath(&path); in drawTextOnPath_handler()
397 matrixStorage = read_sparse_matrix(reader, tm); in drawTextOnPath_handler()
400 canvas->drawTextOnPath(text, byteLength, path, matrix, read_paint(reader)); in drawTextOnPath_handler()
403 static void drawTextBlob_handler(SkPipeReader& reader, uint32_t packedVerb, SkCanvas* canvas) { in drawTextBlob_handler() argument
404 sk_sp<SkTextBlob> tb = SkTextBlob::MakeFromBuffer(reader); in drawTextBlob_handler()
405 SkScalar x = reader.readScalar(); in drawTextBlob_handler()
406 SkScalar y = reader.readScalar(); in drawTextBlob_handler()
407 canvas->drawTextBlob(tb, x, y, read_paint(reader)); in drawTextBlob_handler()
410 static void drawTextRSXform_handler(SkPipeReader& reader, uint32_t packedVerb, SkCanvas* canvas) { in drawTextRSXform_handler() argument
414 len = reader.read32(); in drawTextRSXform_handler()
416 const void* text = reader.skip(SkAlign4(len)); in drawTextRSXform_handler()
417 int count = reader.read32(); in drawTextRSXform_handler()
418 const SkRSXform* xform = reader.skipT<SkRSXform>(count); in drawTextRSXform_handler()
419 const SkRect* cull = (packedVerb & 1) ? reader.skipT<SkRect>() : nullptr; in drawTextRSXform_handler()
420 SkPaint paint = read_paint(reader); in drawTextRSXform_handler()
425 static void drawPatch_handler(SkPipeReader& reader, uint32_t packedVerb, SkCanvas* canvas) { in drawPatch_handler() argument
429 const SkPoint* cubics = reader.skipT<SkPoint>(12); in drawPatch_handler()
431 colors = reader.skipT<SkColor>(4); in drawPatch_handler()
434 tex = reader.skipT<SkPoint>(4); in drawPatch_handler()
437 canvas->drawPatch(cubics, colors, tex, mode, read_paint(reader)); in drawPatch_handler()
440 static void drawPaint_handler(SkPipeReader& reader, uint32_t packedVerb, SkCanvas* canvas) { in drawPaint_handler() argument
442 canvas->drawPaint(read_paint(reader)); in drawPaint_handler()
445 static void drawRect_handler(SkPipeReader& reader, uint32_t packedVerb, SkCanvas* canvas) { in drawRect_handler() argument
447 const SkRect* rect = reader.skipT<SkRect>(); in drawRect_handler()
448 canvas->drawRect(*rect, read_paint(reader)); in drawRect_handler()
451 static void drawRegion_handler(SkPipeReader& reader, uint32_t packedVerb, SkCanvas* canvas) { in drawRegion_handler() argument
455 size = reader.read32(); in drawRegion_handler()
458 region.readFromMemory(reader.skipT<char>(size), size); in drawRegion_handler()
459 canvas->drawRegion(region, read_paint(reader)); in drawRegion_handler()
462 static void drawOval_handler(SkPipeReader& reader, uint32_t packedVerb, SkCanvas* canvas) { in drawOval_handler() argument
464 const SkRect* rect = reader.skipT<SkRect>(); in drawOval_handler()
465 canvas->drawOval(*rect, read_paint(reader)); in drawOval_handler()
468 static void drawRRect_handler(SkPipeReader& reader, uint32_t packedVerb, SkCanvas* canvas) { in drawRRect_handler() argument
470 SkRRect rrect = read_rrect(reader); in drawRRect_handler()
471 canvas->drawRRect(rrect, read_paint(reader)); in drawRRect_handler()
474 static void drawPath_handler(SkPipeReader& reader, uint32_t packedVerb, SkCanvas* canvas) { in drawPath_handler() argument
477 reader.readPath(&path); in drawPath_handler()
478 canvas->drawPath(path, read_paint(reader)); in drawPath_handler()
481 static void drawShadowRec_handler(SkPipeReader& reader, uint32_t packedVerb, SkCanvas* canvas) { in drawShadowRec_handler() argument
484 reader.readPath(&path); in drawShadowRec_handler()
486 reader.readPad32(&rec, sizeof(rec)); in drawShadowRec_handler()
490 static void drawPoints_handler(SkPipeReader& reader, uint32_t packedVerb, SkCanvas* canvas) { in drawPoints_handler() argument
493 int count = reader.read32(); in drawPoints_handler()
494 const SkPoint* points = reader.skipT<SkPoint>(count); in drawPoints_handler()
495 canvas->drawPoints(mode, count, points, read_paint(reader)); in drawPoints_handler()
498 static void drawImage_handler(SkPipeReader& reader, uint32_t packedVerb, SkCanvas* canvas) { in drawImage_handler() argument
500 sk_sp<SkImage> image(reader.readImage()); in drawImage_handler()
501 SkScalar x = reader.readScalar(); in drawImage_handler()
502 SkScalar y = reader.readScalar(); in drawImage_handler()
505 paintStorage = read_paint(reader); in drawImage_handler()
511 static void drawImageRect_handler(SkPipeReader& reader, uint32_t packedVerb, SkCanvas* canvas) { in drawImageRect_handler() argument
513 sk_sp<SkImage> image(reader.readImage()); in drawImageRect_handler()
517 reader.skipT<SkRect>() : nullptr; in drawImageRect_handler()
518 const SkRect* dst = reader.skipT<SkRect>(); in drawImageRect_handler()
521 paintStorage = read_paint(reader); in drawImageRect_handler()
531 static void drawImageNine_handler(SkPipeReader& reader, uint32_t packedVerb, SkCanvas* canvas) { in drawImageNine_handler() argument
533 sk_sp<SkImage> image(reader.readImage()); in drawImageNine_handler()
534 const SkIRect* center = reader.skipT<SkIRect>(); in drawImageNine_handler()
535 const SkRect* dst = reader.skipT<SkRect>(); in drawImageNine_handler()
538 paintStorage = read_paint(reader); in drawImageNine_handler()
544 static void drawImageLattice_handler(SkPipeReader& reader, uint32_t packedVerb, SkCanvas* canvas) { in drawImageLattice_handler() argument
546 sk_sp<SkImage> image(reader.readImage()); in drawImageLattice_handler()
549 if (!SkCanvasPriv::ReadLattice(reader, &lattice)) { in drawImageLattice_handler()
552 const SkRect* dst = reader.skipT<SkRect>(); in drawImageLattice_handler()
556 paintStorage = read_paint(reader); in drawImageLattice_handler()
562 static void drawVertices_handler(SkPipeReader& reader, uint32_t packedVerb, SkCanvas* canvas) { in drawVertices_handler() argument
565 sk_sp<SkData> data = reader.readByteArrayAsData(); in drawVertices_handler()
566 canvas->drawVertices(SkVertices::Decode(data->data(), data->size()), bmode, read_paint(reader)); in drawVertices_handler()
569 static void drawPicture_handler(SkPipeReader& reader, uint32_t packedVerb, SkCanvas* canvas) { in drawPicture_handler() argument
573 SkPicture* pic = reader.getInflator()->getPicture(index); in drawPicture_handler()
577 reader.readMatrix(&matrixStorage); in drawPicture_handler()
581 paintStorage = read_paint(reader); in drawPicture_handler()
587 static void drawAnnotation_handler(SkPipeReader& reader, uint32_t packedVerb, SkCanvas* canvas) { in drawAnnotation_handler() argument
589 const SkRect* rect = reader.skipT<SkRect>(); in drawAnnotation_handler()
594 len = reader.read32(); in drawAnnotation_handler()
596 const char* key = reader.skipT<char>(len); in drawAnnotation_handler()
599 uint32_t size = reader.read32(); in drawAnnotation_handler()
600 data = SkData::MakeWithCopy(reader.skip(SkAlign4(size)), size); in drawAnnotation_handler()
625 static void defineImage_handler(SkPipeReader& reader, uint32_t packedVerb, SkCanvas*) { in defineImage_handler() argument
627 SkPipeInflator* inflator = (SkPipeInflator*)reader.getInflator(); in defineImage_handler()
636 sk_sp<SkData> data = reader.readByteArrayAsData(); in defineImage_handler()
653 static void defineTypeface_handler(SkPipeReader& reader, uint32_t packedVerb, SkCanvas* canvas) { in defineTypeface_handler() argument
655 SkPipeInflator* inflator = (SkPipeInflator*)reader.getInflator(); in defineTypeface_handler()
664 sk_sp<SkData> data = reader.readByteArrayAsData(); in defineTypeface_handler()
671 static void defineFactory_handler(SkPipeReader& reader, uint32_t packedVerb, SkCanvas* canvas) { in defineFactory_handler() argument
673 SkPipeInflator* inflator = (SkPipeInflator*)reader.getInflator(); in defineFactory_handler()
678 const char* name = (const char*)reader.skip(SkAlign4(len + 1)); in defineFactory_handler()
679 SkFlattenable::Factory factory = reader.findFactory(name); in defineFactory_handler()
685 static void definePicture_handler(SkPipeReader& reader, uint32_t packedVerb, SkCanvas* canvas) { in definePicture_handler() argument
689 SkPipeInflator* inflator = (SkPipeInflator*)reader.getInflator(); in definePicture_handler()
696 const SkRect* cull = reader.skipT<SkRect>(); in definePicture_handler()
700 do_playback(reader, recorder.beginRecording(*cull), &pictureIndex); in definePicture_handler()
707 static void endPicture_handler(SkPipeReader& reader, uint32_t packedVerb, SkCanvas* canvas) { in endPicture_handler() argument
799 SkPipeReader reader(this, ptr, size); in readImage() local
800 reader.setInflator(&inflator); in readImage()
801 defineImage_handler(reader, packedVerb, nullptr); in readImage()
802 packedVerb = reader.read32(); // read the next verb in readImage()
829 SkPipeReader reader(this, ptr, size); in readPicture() local
830 reader.setInflator(&inflator); in readPicture()
831 definePicture_handler(reader, packedVerb, nullptr); in readPicture()
832 packedVerb = reader.read32(); // read the next verb in readPicture()
845 static bool do_playback(SkPipeReader& reader, SkCanvas* canvas, int* endPictureIndex) { in do_playback() argument
850 while (!reader.eof()) { in do_playback()
851 uint32_t prevOffset = reader.offset(); in do_playback()
852 uint32_t packedVerb = reader.read32(); in do_playback()
870 rec.fProc(reader, packedVerb, canvas); in do_playback()
875 … SkDebugf("%d [%d] %s %d\n", prevOffset, counter++, rec.fName, reader.offset() - prevOffset); in do_playback()
877 if (!reader.isValid()) { in do_playback()
898 SkPipeReader reader(this, data, size); in playback() local
899 reader.setInflator(&inflator); in playback()
900 return do_playback(reader, canvas); in playback()