Lines Matching refs:reader
26 static const SkRect* get_rect_ptr(SkReadBuffer* reader, SkRect* storage) { in get_rect_ptr() argument
27 if (reader->readBool()) { in get_rect_ptr()
28 reader->readRect(storage); in get_rect_ptr()
41 SkReadBuffer reader(fPictureData->opData()->bytes(), in draw() local
49 while (!reader.eof() && reader.isValid()) { in draw()
54 fCurOffset = reader.offset(); in draw()
56 uint32_t bits = reader.readInt(); in draw()
60 size = reader.readInt(); in draw()
63 if (!reader.validate(size > 0 && op > UNUSED && op <= LAST_DRAWTYPE_ENUM)) { in draw()
67 this->handleOp(&reader, (DrawType)op, size, canvas, initialMatrix); in draw()
72 buffer->validate(reader.isValid()); in draw()
76 static void validate_offsetToRestore(SkReadBuffer* reader, size_t offsetToRestore) { in validate_offsetToRestore() argument
78 reader->validate(SkIsAlign4(offsetToRestore) && offsetToRestore >= reader->offset()); in validate_offsetToRestore()
82 static bool do_clip_op(SkReadBuffer* reader, SkCanvas* canvas, SkRegion::Op op, in do_clip_op() argument
92 SkASSERT(reader->isVersionLT(SkPicturePriv::kNoExpandingClipOps)); in do_clip_op()
98 SkASSERT(reader->isVersionLT(SkPicturePriv::kNoExpandingClipOps)); in do_clip_op()
103 void SkPicturePlayback::handleOp(SkReadBuffer* reader, in handleOp() argument
113 reader->skip(size - 4); in handleOp()
119 const SkPath& path = fPictureData->getPath(reader); in handleOp()
120 uint32_t packed = reader->readInt(); in handleOp()
121 SkRegion::Op rgnOp = ClipParams_unpackRegionOp(reader, packed); in handleOp()
123 size_t offsetToRestore = reader->readInt(); in handleOp()
124 validate_offsetToRestore(reader, offsetToRestore); in handleOp()
125 BREAK_ON_READ_ERROR(reader); in handleOp()
128 if (do_clip_op(reader, canvas, rgnOp, &clipOp)) { in handleOp()
132 reader->skip(offsetToRestore - reader->offset()); in handleOp()
137 reader->readRegion(®ion); in handleOp()
138 uint32_t packed = reader->readInt(); in handleOp()
139 SkRegion::Op rgnOp = ClipParams_unpackRegionOp(reader, packed); in handleOp()
140 size_t offsetToRestore = reader->readInt(); in handleOp()
141 validate_offsetToRestore(reader, offsetToRestore); in handleOp()
142 BREAK_ON_READ_ERROR(reader); in handleOp()
145 if (do_clip_op(reader, canvas, rgnOp, &clipOp)) { in handleOp()
149 reader->skip(offsetToRestore - reader->offset()); in handleOp()
154 reader->readRect(&rect); in handleOp()
155 uint32_t packed = reader->readInt(); in handleOp()
156 SkRegion::Op rgnOp = ClipParams_unpackRegionOp(reader, packed); in handleOp()
158 size_t offsetToRestore = reader->readInt(); in handleOp()
159 validate_offsetToRestore(reader, offsetToRestore); in handleOp()
160 BREAK_ON_READ_ERROR(reader); in handleOp()
163 if (do_clip_op(reader, canvas, rgnOp, &clipOp)) { in handleOp()
167 reader->skip(offsetToRestore - reader->offset()); in handleOp()
172 reader->readRRect(&rrect); in handleOp()
173 uint32_t packed = reader->readInt(); in handleOp()
174 SkRegion::Op rgnOp = ClipParams_unpackRegionOp(reader, packed); in handleOp()
176 size_t offsetToRestore = reader->readInt(); in handleOp()
177 validate_offsetToRestore(reader, offsetToRestore); in handleOp()
178 BREAK_ON_READ_ERROR(reader); in handleOp()
181 if (do_clip_op(reader, canvas, rgnOp, &clipOp)) { in handleOp()
185 reader->skip(offsetToRestore - reader->offset()); in handleOp()
189 const SkPaint& paint = fPictureData->requiredPaint(reader); in handleOp()
192 SkClipOp clipOp = reader->checkRange(SkClipOp::kDifference, SkClipOp::kIntersect); in handleOp()
193 BREAK_ON_READ_ERROR(reader); in handleOp()
207 reader->readMatrix(&matrix); in handleOp()
208 BREAK_ON_READ_ERROR(reader); in handleOp()
214 const SkScalar* colMaj = reader->skipT<SkScalar>(16); in handleOp()
215 BREAK_ON_READ_ERROR(reader); in handleOp()
221 reader->readRect(&rect); in handleOp()
223 reader->readString(&key); in handleOp()
224 sk_sp<SkData> data = reader->readByteArrayAsData(); in handleOp()
225 BREAK_ON_READ_ERROR(reader); in handleOp()
231 const SkPaint& paint = fPictureData->requiredPaint(reader); in handleOp()
233 reader->readRect(&rect); in handleOp()
234 SkScalar startAngle = reader->readScalar(); in handleOp()
235 SkScalar sweepAngle = reader->readScalar(); in handleOp()
236 int useCenter = reader->readInt(); in handleOp()
237 BREAK_ON_READ_ERROR(reader); in handleOp()
242 const SkPaint* paint = fPictureData->optionalPaint(reader); in handleOp()
243 const SkImage* atlas = fPictureData->getImage(reader); in handleOp()
244 const uint32_t flags = reader->readUInt(); in handleOp()
245 const int count = reader->readUInt(); in handleOp()
246 const SkRSXform* xform = (const SkRSXform*)reader->skip(count, sizeof(SkRSXform)); in handleOp()
247 const SkRect* tex = (const SkRect*)reader->skip(count, sizeof(SkRect)); in handleOp()
251 colors = (const SkColor*)reader->skip(count, sizeof(SkColor)); in handleOp()
252 mode = (SkBlendMode)reader->readUInt(); in handleOp()
256 cull = (const SkRect*)reader->skip(sizeof(SkRect)); in handleOp()
258 BREAK_ON_READ_ERROR(reader); in handleOp()
262 sampling = reader->readSampling(); in handleOp()
263 BREAK_ON_READ_ERROR(reader); in handleOp()
268 auto c = reader->readInt(); in handleOp()
269 BREAK_ON_READ_ERROR(reader); in handleOp()
275 size_t length = reader->readInt(); in handleOp()
276 (void)reader->skip(length); in handleOp()
280 auto* d = fPictureData->getDrawable(reader); in handleOp()
281 BREAK_ON_READ_ERROR(reader); in handleOp()
287 reader->readMatrix(&matrix); in handleOp()
288 SkDrawable* drawable = fPictureData->getDrawable(reader); in handleOp()
289 BREAK_ON_READ_ERROR(reader); in handleOp()
294 const SkPaint& paint = fPictureData->requiredPaint(reader); in handleOp()
296 reader->readRRect(&outer); in handleOp()
297 reader->readRRect(&inner); in handleOp()
298 BREAK_ON_READ_ERROR(reader); in handleOp()
304 reader->readRect(&rect); in handleOp()
305 SkCanvas::QuadAAFlags aaFlags = static_cast<SkCanvas::QuadAAFlags>(reader->read32()); in handleOp()
307 reader->readColor4f(&color); in handleOp()
308 SkBlendMode blend = static_cast<SkBlendMode>(reader->read32()); in handleOp()
309 bool hasClip = reader->readInt(); in handleOp()
312 clip = (SkPoint*) reader->skip(4, sizeof(SkPoint)); in handleOp()
314 BREAK_ON_READ_ERROR(reader); in handleOp()
323 int cnt = reader->readInt(); in handleOp()
324 if (!reader->validate(cnt >= 0)) { in handleOp()
327 const SkPaint* paint = fPictureData->optionalPaint(reader); in handleOp()
331 sampling = reader->readSampling(); in handleOp()
337 reader->checkRange(SkCanvas::kStrict_SrcRectConstraint, in handleOp()
340 if (!reader->validate(SkSafeMath::Mul(cnt, kEntryReadSize) <= reader->available())) { in handleOp()
349 for (int i = 0; i < cnt && reader->isValid(); ++i) { in handleOp()
350 set[i].fImage = sk_ref_sp(fPictureData->getImage(reader)); in handleOp()
351 reader->readRect(&set[i].fSrcRect); in handleOp()
352 reader->readRect(&set[i].fDstRect); in handleOp()
353 set[i].fMatrixIndex = reader->readInt(); in handleOp()
354 set[i].fAlpha = reader->readScalar(); in handleOp()
355 set[i].fAAFlags = reader->readUInt(); in handleOp()
356 set[i].fHasClip = reader->readInt(); in handleOp()
364 int dstClipCount = reader->readInt(); in handleOp()
366 if (!reader->validate(expectedClips <= dstClipCount)) { in handleOp()
370 dstClips = (SkPoint*) reader->skip(dstClipCount, sizeof(SkPoint)); in handleOp()
376 int matrixCount = reader->readInt(); in handleOp()
377 if (!reader->validate((maxMatrixIndex + 1) <= matrixCount) || in handleOp()
378 !reader->validate( in handleOp()
379 SkSafeMath::Mul(matrixCount, kMatrixSize) <= reader->available())) { in handleOp()
385 for (int i = 0; i < matrixCount && reader->isValid(); ++i) { in handleOp()
386 reader->readMatrix(&matrices.push_back()); in handleOp()
388 BREAK_ON_READ_ERROR(reader); in handleOp()
394 const SkPaint* paint = fPictureData->optionalPaint(reader); in handleOp()
395 const SkImage* image = fPictureData->getImage(reader); in handleOp()
397 reader->readPoint(&loc); in handleOp()
398 BREAK_ON_READ_ERROR(reader); in handleOp()
405 const SkPaint* paint = fPictureData->optionalPaint(reader); in handleOp()
406 const SkImage* image = fPictureData->getImage(reader); in handleOp()
408 reader->readPoint(&loc); in handleOp()
409 SkSamplingOptions sampling = reader->readSampling(); in handleOp()
410 BREAK_ON_READ_ERROR(reader); in handleOp()
415 const SkPaint* paint = fPictureData->optionalPaint(reader); in handleOp()
416 const SkImage* image = fPictureData->getImage(reader); in handleOp()
418 (void)SkCanvasPriv::ReadLattice(*reader, &lattice); in handleOp()
419 const SkRect* dst = reader->skipT<SkRect>(); in handleOp()
420 BREAK_ON_READ_ERROR(reader); in handleOp()
425 const SkPaint* paint = fPictureData->optionalPaint(reader); in handleOp()
426 const SkImage* image = fPictureData->getImage(reader); in handleOp()
428 (void)SkCanvasPriv::ReadLattice(*reader, &lattice); in handleOp()
429 const SkRect* dst = reader->skipT<SkRect>(); in handleOp()
430 SkFilterMode filter = reader->read32LE(SkFilterMode::kLinear); in handleOp()
431 BREAK_ON_READ_ERROR(reader); in handleOp()
436 const SkPaint* paint = fPictureData->optionalPaint(reader); in handleOp()
437 const SkImage* image = fPictureData->getImage(reader); in handleOp()
439 reader->readIRect(¢er); in handleOp()
441 reader->readRect(&dst); in handleOp()
442 BREAK_ON_READ_ERROR(reader); in handleOp()
447 const SkPaint* paint = fPictureData->optionalPaint(reader); in handleOp()
448 const SkImage* image = fPictureData->getImage(reader); in handleOp()
450 const SkRect* src = get_rect_ptr(reader, &storage); // may be null in handleOp()
452 reader->readRect(&dst); // required in handleOp()
457 constraint = reader->checkRange(SkCanvas::kStrict_SrcRectConstraint, in handleOp()
460 BREAK_ON_READ_ERROR(reader); in handleOp()
470 const SkPaint* paint = fPictureData->optionalPaint(reader); in handleOp()
471 const SkImage* image = fPictureData->getImage(reader); in handleOp()
472 SkRect src = reader->readRect(); in handleOp()
473 SkRect dst = reader->readRect(); in handleOp()
474 SkSamplingOptions sampling = reader->readSampling(); in handleOp()
475 auto constraint = reader->read32LE(SkCanvas::kFast_SrcRectConstraint); in handleOp()
476 BREAK_ON_READ_ERROR(reader); in handleOp()
481 const SkPaint& paint = fPictureData->requiredPaint(reader); in handleOp()
483 reader->readRect(&rect); in handleOp()
484 BREAK_ON_READ_ERROR(reader); in handleOp()
489 const SkPaint& paint = fPictureData->requiredPaint(reader); in handleOp()
490 BREAK_ON_READ_ERROR(reader); in handleOp()
495 const SkPaint& paint = fPictureData->requiredPaint(reader); in handleOp()
496 BREAK_ON_READ_ERROR(reader); in handleOp()
501 const SkPaint& paint = fPictureData->requiredPaint(reader); in handleOp()
503 const SkPoint* cubics = (const SkPoint*)reader->skip(SkPatchUtils::kNumCtrlPts, in handleOp()
505 uint32_t flag = reader->readInt(); in handleOp()
508 colors = (const SkColor*)reader->skip(SkPatchUtils::kNumCorners, sizeof(SkColor)); in handleOp()
512 texCoords = (const SkPoint*)reader->skip(SkPatchUtils::kNumCorners, in handleOp()
517 unsigned mode = reader->readInt(); in handleOp()
522 BREAK_ON_READ_ERROR(reader); in handleOp()
527 const SkPaint& paint = fPictureData->requiredPaint(reader); in handleOp()
528 const auto& path = fPictureData->getPath(reader); in handleOp()
529 BREAK_ON_READ_ERROR(reader); in handleOp()
534 const auto* pic = fPictureData->getPicture(reader); in handleOp()
535 BREAK_ON_READ_ERROR(reader); in handleOp()
540 const SkPaint* paint = fPictureData->optionalPaint(reader); in handleOp()
542 reader->readMatrix(&matrix); in handleOp()
543 const SkPicture* pic = fPictureData->getPicture(reader); in handleOp()
544 BREAK_ON_READ_ERROR(reader); in handleOp()
549 const SkPaint& paint = fPictureData->requiredPaint(reader); in handleOp()
550 SkCanvas::PointMode mode = reader->checkRange(SkCanvas::kPoints_PointMode, in handleOp()
552 size_t count = reader->readInt(); in handleOp()
553 const SkPoint* pts = (const SkPoint*)reader->skip(count, sizeof(SkPoint)); in handleOp()
554 BREAK_ON_READ_ERROR(reader); in handleOp()
559 const SkPaint& paint = fPictureData->requiredPaint(reader); in handleOp()
561 reader->readRect(&rect); in handleOp()
562 BREAK_ON_READ_ERROR(reader); in handleOp()
567 const SkPaint& paint = fPictureData->requiredPaint(reader); in handleOp()
569 reader->readRegion(®ion); in handleOp()
570 BREAK_ON_READ_ERROR(reader); in handleOp()
575 const SkPaint& paint = fPictureData->requiredPaint(reader); in handleOp()
577 reader->readRRect(&rrect); in handleOp()
578 BREAK_ON_READ_ERROR(reader); in handleOp()
583 const auto& path = fPictureData->getPath(reader); in handleOp()
585 reader->readPoint3(&rec.fZPlaneParams); in handleOp()
586 reader->readPoint3(&rec.fLightPos); in handleOp()
587 rec.fLightRadius = reader->readScalar(); in handleOp()
588 rec.fAmbientColor = reader->read32(); in handleOp()
589 rec.fSpotColor = reader->read32(); in handleOp()
590 rec.fFlags = reader->read32(); in handleOp()
591 BREAK_ON_READ_ERROR(reader); in handleOp()
596 const SkPaint& paint = fPictureData->requiredPaint(reader); in handleOp()
597 const SkTextBlob* blob = fPictureData->getTextBlob(reader); in handleOp()
598 SkScalar x = reader->readScalar(); in handleOp()
599 SkScalar y = reader->readScalar(); in handleOp()
600 BREAK_ON_READ_ERROR(reader); in handleOp()
605 const SkPaint& paint = fPictureData->requiredPaint(reader); in handleOp()
606 const SkVertices* vertices = fPictureData->getVertices(reader); in handleOp()
607 const int boneCount = reader->readInt(); in handleOp()
608 (void)reader->skip(boneCount, sizeof(SkVertices_DeprecatedBone)); in handleOp()
609 SkBlendMode bmode = reader->read32LE(SkBlendMode::kLastMode); in handleOp()
610 BREAK_ON_READ_ERROR(reader); in handleOp()
620 auto deg = reader->readScalar(); in handleOp()
627 uint32_t flags = reader->readInt(); in handleOp()
631 reader->readRect(&storage); in handleOp()
638 const uint32_t flatFlags = reader->readInt(); in handleOp()
641 reader->readRect(&bounds); in handleOp()
645 rec.fPaint = &fPictureData->requiredPaint(reader); in handleOp()
648 const SkPaint& paint = fPictureData->requiredPaint(reader); in handleOp()
652 rec.fSaveLayerFlags = reader->readInt(); in handleOp()
655 (void)fPictureData->getImage(reader); in handleOp()
659 reader->readMatrix(&clipMatrix_ignored); in handleOp()
661 if (!reader->isVersionLT(SkPicturePriv::Version::kBackdropScaleFactor) && in handleOp()
663 SkCanvasPriv::SetBackdropScaleFactor(&rec, reader->readScalar()); in handleOp()
665 BREAK_ON_READ_ERROR(reader); in handleOp()
670 SkScalar sx = reader->readScalar(); in handleOp()
671 SkScalar sy = reader->readScalar(); in handleOp()
676 reader->read(&m); in handleOp()
681 reader->readMatrix(&matrix); in handleOp()
685 SkScalar sx = reader->readScalar(); in handleOp()
686 SkScalar sy = reader->readScalar(); in handleOp()
690 SkScalar dx = reader->readScalar(); in handleOp()
691 SkScalar dy = reader->readScalar(); in handleOp()
695 reader->validate(false); // unknown op in handleOp()