Lines Matching refs:writer
23 template <typename T> void write_rrect(T* writer, const SkRRect& rrect) { in write_rrect() argument
26 writer->write(tmp, SkRRect::kSizeInMemory); in write_rrect()
29 template <typename T> void write_pad(T* writer, const void* buffer, size_t len) { in write_pad() argument
30 writer->write(buffer, len & ~3); in write_pad()
36 writer->write(&tmp, 4); in write_pad()
126 #define CHECK_WRITE_SCALAR(writer, nondef, paint, Field) \ argument
128 writer.writeScalar(paint.get##Field()); \
131 #define CHECK_WRITE_FLATTENABLE(writer, nondef, paint, Field) \ argument
135 writer.writeFlattenable(f); \
145 static void write_paint(SkWriteBuffer& writer, const SkPaint& paint, unsigned usage) { in write_paint() argument
150 writer.write32(packedFlags); in write_paint()
154 writer.write32((nondef << 16) | ((unsigned)paint.getBlendMode() << 8) | pad); in write_paint()
156 CHECK_WRITE_SCALAR(writer, nondef, paint, TextSize); in write_paint()
157 CHECK_WRITE_SCALAR(writer, nondef, paint, TextScaleX); in write_paint()
158 CHECK_WRITE_SCALAR(writer, nondef, paint, TextSkewX); in write_paint()
159 CHECK_WRITE_SCALAR(writer, nondef, paint, StrokeWidth); in write_paint()
160 CHECK_WRITE_SCALAR(writer, nondef, paint, StrokeMiter); in write_paint()
163 writer.write32(paint.getColor()); in write_paint()
170 writer.writeTypeface(tf); in write_paint()
173 CHECK_WRITE_FLATTENABLE(writer, nondef, paint, PathEffect); in write_paint()
174 CHECK_WRITE_FLATTENABLE(writer, nondef, paint, Shader); in write_paint()
175 CHECK_WRITE_FLATTENABLE(writer, nondef, paint, MaskFilter); in write_paint()
176 CHECK_WRITE_FLATTENABLE(writer, nondef, paint, ColorFilter); in write_paint()
177 CHECK_WRITE_FLATTENABLE(writer, nondef, paint, Rasterizer); in write_paint()
178 CHECK_WRITE_FLATTENABLE(writer, nondef, paint, ImageFilter); in write_paint()
179 CHECK_WRITE_FLATTENABLE(writer, nondef, paint, DrawLooper); in write_paint()
225 SkPipeWriter writer(this); in getSaveLayerStrategy() local
250 writer.write32(pack_verb(SkPipeVerb::kSaveLayer, extra)); in getSaveLayerStrategy()
252 writer.writeRect(*rec.fBounds); in getSaveLayerStrategy()
255 write_paint(writer, *rec.fPaint, kSaveLayer_PaintUsage); in getSaveLayerStrategy()
258 writer.writeFlattenable(rec.fBackdrop); in getSaveLayerStrategy()
261 writer.writeImage(rec.fClipMask); in getSaveLayerStrategy()
264 writer.writeMatrix(*rec.fClipMatrix); in getSaveLayerStrategy()
275 template <typename T> void write_sparse_matrix(T* writer, const SkMatrix& matrix) { in write_sparse_matrix() argument
280 writer->write(tmp, 9 * sizeof(SkScalar)); in write_sparse_matrix()
288 writer->write(tmp, 6 * sizeof(SkScalar)); in write_sparse_matrix()
294 writer->write(tmp, 4 * sizeof(SkScalar)); in write_sparse_matrix()
298 writer->write(tmp, 2 * sizeof(SkScalar)); in write_sparse_matrix()
341 SkPipeWriter writer(this); in onClipPath() local
342 writer.write32(pack_verb(SkPipeVerb::kClipPath, ((unsigned)op << 1) | edgeStyle)); in onClipPath()
343 writer.writePath(path); in onClipPath()
349 SkPipeWriter writer(this); in onClipRegion() local
350 writer.write32(pack_verb(SkPipeVerb::kClipRegion, (unsigned)op << 1)); in onClipRegion()
351 writer.writeRegion(deviceRgn); in onClipRegion()
360 SkPipeWriter writer(this); in onDrawArc() local
361 writer.write32(pack_verb(SkPipeVerb::kDrawArc, (int)useCenter)); in onDrawArc()
362 writer.writeRect(bounds); in onDrawArc()
363 writer.writeScalar(startAngle); in onDrawArc()
364 writer.writeScalar(sweepAngle); in onDrawArc()
365 write_paint(writer, paint, kGeometry_PaintUsage); in onDrawArc()
383 SkPipeWriter writer(this); in onDrawAtlas() local
384 writer.write32(pack_verb(SkPipeVerb::kDrawAtlas, extra)); in onDrawAtlas()
385 writer.writeImage(image); in onDrawAtlas()
386 writer.write32(count); in onDrawAtlas()
387 writer.write(xform, count * sizeof(SkRSXform)); in onDrawAtlas()
388 writer.write(rect, count * sizeof(SkRect)); in onDrawAtlas()
390 writer.write(colors, count * sizeof(SkColor)); in onDrawAtlas()
393 writer.writeRect(*cull); in onDrawAtlas()
396 write_paint(writer, *paint, kImage_PaintUsage); in onDrawAtlas()
401 SkPipeWriter writer(this); in onDrawPaint() local
402 writer.write32(pack_verb(SkPipeVerb::kDrawPaint)); in onDrawPaint()
403 write_paint(writer, paint, kDrawPaint_PaintUsage); in onDrawPaint()
408 SkPipeWriter writer(this); in onDrawPoints() local
409 writer.write32(pack_verb(SkPipeVerb::kDrawPoints, mode)); in onDrawPoints()
410 writer.write32(SkToU32(count)); in onDrawPoints()
411 writer.write(pts, count * sizeof(SkPoint)); in onDrawPoints()
412 write_paint(writer, paint, kGeometry_PaintUsage | kRespectsStroke_PaintUsage); in onDrawPoints()
416 SkPipeWriter writer(this); in onDrawRect() local
417 writer.write32(pack_verb(SkPipeVerb::kDrawRect)); in onDrawRect()
418 writer.write(&rect, sizeof(SkRect)); in onDrawRect()
419 write_paint(writer, paint, kGeometry_PaintUsage); in onDrawRect()
423 SkPipeWriter writer(this); in onDrawOval() local
424 writer.write32(pack_verb(SkPipeVerb::kDrawOval)); in onDrawOval()
425 writer.write(&rect, sizeof(SkRect)); in onDrawOval()
426 write_paint(writer, paint, kGeometry_PaintUsage); in onDrawOval()
430 SkPipeWriter writer(this); in onDrawRRect() local
431 writer.write32(pack_verb(SkPipeVerb::kDrawRRect)); in onDrawRRect()
432 write_rrect(&writer, rrect); in onDrawRRect()
433 write_paint(writer, paint, kGeometry_PaintUsage); in onDrawRRect()
437 SkPipeWriter writer(this); in onDrawDRRect() local
438 writer.write32(pack_verb(SkPipeVerb::kDrawDRRect)); in onDrawDRRect()
439 write_rrect(&writer, outer); in onDrawDRRect()
440 write_rrect(&writer, inner); in onDrawDRRect()
441 write_paint(writer, paint, kGeometry_PaintUsage); in onDrawDRRect()
445 SkPipeWriter writer(this); in onDrawPath() local
446 writer.write32(pack_verb(SkPipeVerb::kDrawPath)); in onDrawPath()
447 writer.writePath(path); in onDrawPath()
448 write_paint(writer, paint, kGeometry_PaintUsage); in onDrawPath()
503 SkPipeWriter writer(this); in onDrawImage() local
504 writer.write32(pack_verb(SkPipeVerb::kDrawImage, extra)); in onDrawImage()
505 writer.writeImage(image); in onDrawImage()
506 writer.writeScalar(left); in onDrawImage()
507 writer.writeScalar(top); in onDrawImage()
509 write_paint(writer, *paint, kImage_PaintUsage); in onDrawImage()
524 SkPipeWriter writer(this); in onDrawImageRect() local
525 writer.write32(pack_verb(SkPipeVerb::kDrawImageRect, extra)); in onDrawImageRect()
526 writer.writeImage(image); in onDrawImageRect()
528 writer.write(src, sizeof(*src)); in onDrawImageRect()
530 writer.write(&dst, sizeof(dst)); in onDrawImageRect()
532 write_paint(writer, *paint, kImage_PaintUsage); in onDrawImageRect()
542 SkPipeWriter writer(this); in onDrawImageNine() local
543 writer.write32(pack_verb(SkPipeVerb::kDrawImageNine, extra)); in onDrawImageNine()
544 writer.writeImage(image); in onDrawImageNine()
545 writer.write(¢er, sizeof(center)); in onDrawImageNine()
546 writer.write(&dst, sizeof(dst)); in onDrawImageNine()
548 write_paint(writer, *paint, kImage_PaintUsage); in onDrawImageNine()
572 SkPipeWriter writer(this); in onDrawImageLattice() local
573 writer.write32(pack_verb(SkPipeVerb::kDrawImageLattice, extra)); in onDrawImageLattice()
574 writer.writeImage(image); in onDrawImageLattice()
576 writer.write32(lattice.fXCount); in onDrawImageLattice()
579 writer.write32(lattice.fYCount); in onDrawImageLattice()
583 writer.write(lattice.fXDivs, lattice.fXCount * sizeof(int32_t)); in onDrawImageLattice()
584 writer.write(lattice.fYDivs, lattice.fYCount * sizeof(int32_t)); in onDrawImageLattice()
588 write_pad(&writer, lattice.fFlags, count); in onDrawImageLattice()
591 writer.write(&lattice.fBounds, sizeof(*lattice.fBounds)); in onDrawImageLattice()
592 writer.write(&dst, sizeof(dst)); in onDrawImageLattice()
594 write_paint(writer, *paint, kImage_PaintUsage); in onDrawImageLattice()
606 SkPipeWriter writer(this); in onDrawText() local
607 writer.write32(pack_verb(SkPipeVerb::kDrawText, compact ? (unsigned)byteLength : 0)); in onDrawText()
609 writer.write32(SkToU32(byteLength)); in onDrawText()
611 write_pad(&writer, text, byteLength); in onDrawText()
612 writer.writeScalar(x); in onDrawText()
613 writer.writeScalar(y); in onDrawText()
614 write_paint(writer, paint, kText_PaintUsage); in onDrawText()
623 SkPipeWriter writer(this); in onDrawPosText() local
624 writer.write32(pack_verb(SkPipeVerb::kDrawPosText, compact ? (unsigned)byteLength : 0)); in onDrawPosText()
626 writer.write32(SkToU32(byteLength)); in onDrawPosText()
628 write_pad(&writer, text, byteLength); in onDrawPosText()
629 writer.writePointArray(pos, paint.countText(text, byteLength)); in onDrawPosText()
630 write_paint(writer, paint, kText_PaintUsage); in onDrawPosText()
639 SkPipeWriter writer(this); in onDrawPosTextH() local
640 writer.write32(pack_verb(SkPipeVerb::kDrawPosTextH, compact ? (unsigned)byteLength : 0)); in onDrawPosTextH()
642 writer.write32(SkToU32(byteLength)); in onDrawPosTextH()
644 write_pad(&writer, text, byteLength); in onDrawPosTextH()
645 writer.writeScalarArray(xpos, paint.countText(text, byteLength)); in onDrawPosTextH()
646 writer.writeScalar(constY); in onDrawPosTextH()
647 write_paint(writer, paint, kText_PaintUsage); in onDrawPosTextH()
661 SkPipeWriter writer(this); in onDrawTextOnPath() local
662 writer.write32(pack_verb(SkPipeVerb::kDrawTextOnPath, extra)); in onDrawTextOnPath()
664 writer.write32(byteLength); in onDrawTextOnPath()
666 write_pad(&writer, text, byteLength); in onDrawTextOnPath()
667 writer.writePath(path); in onDrawTextOnPath()
669 write_sparse_matrix(&writer, *matrix); in onDrawTextOnPath()
671 write_paint(writer, paint, kText_PaintUsage); in onDrawTextOnPath()
684 SkPipeWriter writer(this); in onDrawTextRSXform() local
685 writer.write32(pack_verb(SkPipeVerb::kDrawTextRSXform, extra)); in onDrawTextRSXform()
687 writer.write32(SkToU32(byteLength)); in onDrawTextRSXform()
689 write_pad(&writer, text, byteLength); in onDrawTextRSXform()
692 writer.write32(count); // maybe we can/should store this in extra as well? in onDrawTextRSXform()
693 writer.write(xform, count * sizeof(SkRSXform)); in onDrawTextRSXform()
695 writer.writeRect(*cull); in onDrawTextRSXform()
697 write_paint(writer, paint, kText_PaintUsage); in onDrawTextRSXform()
702 SkPipeWriter writer(this); in onDrawTextBlob() local
703 writer.write32(pack_verb(SkPipeVerb::kDrawTextBlob, 0)); in onDrawTextBlob()
704 blob->flatten(writer); in onDrawTextBlob()
705 writer.writeScalar(x); in onDrawTextBlob()
706 writer.writeScalar(y); in onDrawTextBlob()
707 write_paint(writer, paint, kTextBlob_PaintUsage); in onDrawTextBlob()
719 SkPipeWriter writer(this); in onDrawPicture() local
720 writer.write32(pack_verb(SkPipeVerb::kDrawPicture, extra)); in onDrawPicture()
722 writer.writeMatrix(*matrix); in onDrawPicture()
725 write_paint(writer, *paint, kSaveLayer_PaintUsage); in onDrawPicture()
736 SkPipeWriter writer(this); in onDrawRegion() local
737 writer.write32(pack_verb(SkPipeVerb::kDrawRegion, extra)); in onDrawRegion()
739 writer.write32(size); in onDrawRegion()
743 write_pad(&writer, storage.get(), size); in onDrawRegion()
744 write_paint(writer, paint, kGeometry_PaintUsage); in onDrawRegion()
751 SkPipeWriter writer(this); in onDrawVerticesObject() local
752 writer.write32(pack_verb(SkPipeVerb::kDrawVertices, extra)); in onDrawVerticesObject()
754 writer.writeDataAsByteArray(vertices->encode().get()); in onDrawVerticesObject()
755 write_paint(writer, paint, kVertices_PaintUsage); in onDrawVerticesObject()
761 SkPipeWriter writer(this); in onDrawPatch() local
771 writer.write32(pack_verb(SkPipeVerb::kDrawPatch, extra)); in onDrawPatch()
772 writer.write(cubics, sizeof(SkPoint) * 12); in onDrawPatch()
774 writer.write(colors, sizeof(SkColor) * 4); in onDrawPatch()
777 writer.write(texCoords, sizeof(SkPoint) * 4); in onDrawPatch()
779 write_paint(writer, paint, kGeometry_PaintUsage); in onDrawPatch()