class GrDirectContext; class GrImageContext; class SkBitmap; class SkColorSpace; class SkPixmap; class SkRecorder; class SkSurface; enum SkYUVColorSpace : int; struct SkIRect; struct SkISize; struct SkImageInfo;
enum {
kNeedNewImageUniqueID = 0
};
class SkImage_Base : public SkImage {
public:
~SkImage_Base() override;
// From SkImage.h
sk_sp<SkImage> makeColorSpace(SkRecorder*,
sk_sp<SkColorSpace>,
RequiredProperties) const override;
/** this->context() try-casted to GrDirectContext. Useful for migrations – avoid otherwise! */
virtual GrDirectContext* directContext() const { return nullptr; }
// If this image is the current cached image snapshot of a surface then this is called when the // surface is destroyed to indicate no further writes may happen to surface backing store.
virtual void generatingSurfaceIsDeleted() {}
// return a read-only copy of the pixels. We promise to not modify them, // but only inspect them (or encode them).
virtual bool getROPixels(GrDirectContext*, SkBitmap*,
CachingHint = kAllow_CachingHint) const = 0;
// Create the surface used by makeScaled. If this is a GPU backed image, the surface // should be Ganesh or Graphite backed (as appropriate), otherwise this can raster backed.
virtual sk_sp<SkSurface> onMakeSurface(SkRecorder*, const SkImageInfo&) const = 0;
// Call when this image is part of the key to a resourcecache entry. This allows the cache // to know automatically those entries can be purged when this SkImage deleted.
virtual void notifyAddedToRasterCache() const {
fAddedToRasterCache.store(true);
}
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.