532 : fDstBounds(dstBounds)
533#if defined(SK_DONT_PAD_LAYER_IMAGES)
534 , fBoundary(PixelBoundary::kUnknown) {
535#else
536 , fBoundary(boundary) {
537#endif
538
539
540
541
543 if (!dstBounds.isEmpty()) {
544 fDstBounds.
outset(LayerSpace<SkISize>({this->padding(), this->padding()}));
546 ctx.refColorSpace(),
547 props);
548 }
549
551 return;
552 }
553
554
555
556
557 ctx.markNewSurface();
558 fCanvas.emplace(std::move(
device));
559 fCanvas->translate(-fDstBounds.
left(), -fDstBounds.
top());
561 if (fBoundary == PixelBoundary::kTransparent) {
562
563
564 fCanvas->clipIRect(
SkIRect(dstBounds));
565 } else {
566
567
568
569 fCanvas->clipIRect(
SkIRect(fDstBounds));
570 }
571
572 if (renderInParameterSpace) {
573 fCanvas->concat(
SkMatrix(ctx.mapping().layerMatrix()));
574 }
575 }
void outset(const LayerSpace< SkISize > &delta)
LayerSpace< SkISize > size() const
constexpr SkColor4f kTransparent