Lines Matching refs:subset
37 SkSpecialImage_Base(const SkIRect& subset, uint32_t uniqueID, const SkSurfaceProps* props) in SkSpecialImage_Base() argument
38 : INHERITED(subset, uniqueID, props) { in SkSpecialImage_Base()
54 virtual sk_sp<SkSpecialImage> onMakeSubset(const SkIRect& subset) const = 0;
60 virtual sk_sp<SkImage> onAsImage(const SkIRect* subset) const = 0;
74 SkSpecialImage::SkSpecialImage(const SkIRect& subset, in SkSpecialImage() argument
78 , fSubset(subset) in SkSpecialImage()
165 sk_sp<SkSpecialImage> SkSpecialImage::makeSubset(const SkIRect& subset) const { in makeSubset()
166 return as_SIB(this)->onMakeSubset(subset); in makeSubset()
169 sk_sp<SkImage> SkSpecialImage::asImage(const SkIRect* subset) const { in asImage()
170 return as_SIB(this)->onAsImage(subset); in asImage()
188 const SkIRect& subset, in MakeFromImage() argument
191 SkASSERT(rect_fits(subset, image->width(), image->height())); in MakeFromImage()
199 return MakeDeferredFromGpu(context, subset, image->uniqueID(), std::move(proxy), in MakeFromImage()
206 return MakeFromRaster(subset, bm, props); in MakeFromImage()
216 SkSpecialImage_Raster(const SkIRect& subset, const SkBitmap& bm, const SkSurfaceProps* props) in SkSpecialImage_Raster() argument
217 : INHERITED(subset, bm.getGenerationID(), props) in SkSpecialImage_Raster()
230 this->subset().width(), this->subset().height()); in onDraw()
232 canvas->drawBitmapRect(fBitmap, this->subset(), in onDraw()
275 sk_sp<SkSpecialImage> onMakeSubset(const SkIRect& subset) const override { in onMakeSubset()
278 if (!fBitmap.extractSubset(&subsetBM, subset)) { in onMakeSubset()
282 return SkSpecialImage::MakeFromRaster(SkIRect::MakeWH(subset.width(), subset.height()), in onMakeSubset()
287 sk_sp<SkImage> onAsImage(const SkIRect* subset) const override { in onAsImage()
288 if (subset) { in onAsImage()
291 if (!fBitmap.extractSubset(&subsetBM, *subset)) { in onAsImage()
321 sk_sp<SkSpecialImage> SkSpecialImage::MakeFromRaster(const SkIRect& subset, in MakeFromRaster() argument
324 SkASSERT(rect_fits(subset, bm.width(), bm.height())); in MakeFromRaster()
341 return sk_make_sp<SkSpecialImage_Raster>(subset, *srcBM, props); in MakeFromRaster()
344 sk_sp<SkSpecialImage> SkSpecialImage::CopyFromRaster(const SkIRect& subset, in CopyFromRaster() argument
347 SkASSERT(rect_fits(subset, bm.width(), bm.height())); in CopyFromRaster()
354 if (!tmp.tryAllocPixels(bm.info().makeWH(subset.width(), subset.height()))) { in CopyFromRaster()
357 if (!bm.readPixels(tmp.info(), tmp.getPixels(), tmp.rowBytes(), subset.x(), subset.y())) { in CopyFromRaster()
360 return sk_make_sp<SkSpecialImage_Raster>(subset, tmp, props); in CopyFromRaster()
373 SkSpecialImage_Gpu(GrContext* context, const SkIRect& subset, in SkSpecialImage_Gpu() argument
376 : INHERITED(subset, uniqueID, props) in SkSpecialImage_Gpu()
396 this->subset().width(), this->subset().height()); in onDraw()
408 canvas->drawImageRect(img, this->subset(), in onDraw()
419 const auto desc = SkBitmapCacheDesc::Make(this->uniqueID(), this->subset()); in onGetROPixels()
441 this->subset().left(), this->subset().top())) { in onGetROPixels()
470 sk_sp<SkSpecialImage> onMakeSubset(const SkIRect& subset) const override { in onMakeSubset()
472 subset, in onMakeSubset()
481 sk_sp<SkImage> onAsImage(const SkIRect* subset) const override { in onAsImage()
482 if (subset) { in onAsImage()
486 0 == subset->fLeft && 0 == subset->fTop && in onAsImage()
487 fTextureProxy->width() == subset->width() && in onAsImage()
488 fTextureProxy->height() == subset->height()) { in onAsImage()
495 GrSurfaceProxy::Copy(fContext, fTextureProxy.get(), GrMipMapped::kNo, *subset, in onAsImage()
533 const SkIRect& subset, in MakeDeferredFromGpu() argument
542 SkASSERT_RELEASE(rect_fits(subset, proxy->width(), proxy->height())); in MakeDeferredFromGpu()
543 return sk_make_sp<SkSpecialImage_Gpu>(context, subset, uniqueID, std::move(proxy), at, in MakeDeferredFromGpu()