Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
Public Member Functions | List of all members
GrExternalTextureGenerator Class Referenceabstract

#include <GrExternalTextureGenerator.h>

Inheritance diagram for GrExternalTextureGenerator:
GrTextureGenerator SkImageGenerator TextureSourceImageGenerator

Public Member Functions

 GrExternalTextureGenerator (const SkImageInfo &info)
 
GrSurfaceProxyView onGenerateTexture (GrRecordingContext *, const SkImageInfo &, skgpu::Mipmapped, GrImageTexGenPolicy) override
 
virtual std::unique_ptr< GrExternalTexturegenerateExternalTexture (GrRecordingContext *, skgpu::Mipmapped)=0
 
- Public Member Functions inherited from GrTextureGenerator
bool isTextureGenerator () const final
 
GrSurfaceProxyView generateTexture (GrRecordingContext *, const SkImageInfo &info, skgpu::Mipmapped mipmapped, GrImageTexGenPolicy)
 
virtual GrSurfaceOrigin origin () const
 
- Public Member Functions inherited from SkImageGenerator
virtual ~SkImageGenerator ()
 
uint32_t uniqueID () const
 
sk_sp< SkDatarefEncodedData ()
 
const SkImageInfogetInfo () const
 
bool isValid (GrRecordingContext *context) const
 
bool isProtected () const
 
bool getPixels (const SkImageInfo &info, void *pixels, size_t rowBytes)
 
bool getPixels (const SkPixmap &pm)
 
bool queryYUVAInfo (const SkYUVAPixmapInfo::SupportedDataTypes &supportedDataTypes, SkYUVAPixmapInfo *yuvaPixmapInfo) const
 
bool getYUVAPlanes (const SkYUVAPixmaps &yuvaPixmaps)
 

Additional Inherited Members

- Protected Member Functions inherited from GrTextureGenerator
 GrTextureGenerator (const SkImageInfo &info, uint32_t uniqueId=kNeedNewImageUniqueID)
 
- Protected Member Functions inherited from SkImageGenerator
 SkImageGenerator (const SkImageInfo &info, uint32_t uniqueId=kNeedNewImageUniqueID)
 
virtual sk_sp< SkDataonRefEncodedData ()
 
virtual bool onGetPixels (const SkImageInfo &, void *, size_t, const Options &)
 
virtual bool onIsValid (GrRecordingContext *) const
 
virtual bool onIsProtected () const
 
virtual bool onQueryYUVAInfo (const SkYUVAPixmapInfo::SupportedDataTypes &, SkYUVAPixmapInfo *) const
 
virtual bool onGetYUVAPlanes (const SkYUVAPixmaps &)
 
- Protected Attributes inherited from SkImageGenerator
const SkImageInfo fInfo
 
- Static Protected Attributes inherited from SkImageGenerator
static constexpr int kNeedNewImageUniqueID = 0
 

Detailed Description

Definition at line 32 of file GrExternalTextureGenerator.h.

Constructor & Destructor Documentation

◆ GrExternalTextureGenerator()

GrExternalTextureGenerator::GrExternalTextureGenerator ( const SkImageInfo info)

Definition at line 58 of file GrTextureGenerator.cpp.

static void info(const char *fmt,...) SK_PRINTF_LIKE(1
Definition DM.cpp:213

Member Function Documentation

◆ generateExternalTexture()

virtual std::unique_ptr< GrExternalTexture > GrExternalTextureGenerator::generateExternalTexture ( GrRecordingContext ,
skgpu::Mipmapped   
)
pure virtual

Implemented in TextureSourceImageGenerator.

◆ onGenerateTexture()

GrSurfaceProxyView GrExternalTextureGenerator::onGenerateTexture ( GrRecordingContext ctx,
const SkImageInfo info,
skgpu::Mipmapped  mipmapped,
GrImageTexGenPolicy  texGenPolicy 
)
overridevirtual

Implements GrTextureGenerator.

Definition at line 60 of file GrTextureGenerator.cpp.

63 {
64 std::unique_ptr<GrExternalTexture> externalTexture = generateExternalTexture(ctx, mipmapped);
65 GrBackendTexture backendTexture = externalTexture->getBackendTexture();
66 const GrBackendFormat& format = backendTexture.getBackendFormat();
69 return {};
70 }
71
72 auto cleanupCallback = skgpu::RefCntedCallback::Make(dispose_external_texture, externalTexture.release());
74 backendTexture,
78 std::move(cleanupCallback));
79 if (!proxy) {
80 return {};
81 }
82 static constexpr auto kOrigin = kTopLeft_GrSurfaceOrigin;
84 return GrSurfaceProxyView(std::move(proxy), kOrigin, swizzle);
85}
static void dispose_external_texture(void *context)
@ kRead_GrIOType
@ kBorrow_GrWrapOwnership
Definition GrTypesPriv.h:78
GrColorType
static constexpr GrColorType SkColorTypeToGrColorType(SkColorType ct)
@ kTopLeft_GrSurfaceOrigin
Definition GrTypes.h:148
static SkColorType colorType(AImageDecoder *decoder, const AImageDecoderHeaderInfo *headerInfo)
GrBackendFormat getBackendFormat() const
const GrCaps * caps() const
bool areColorTypeAndFormatCompatible(GrColorType grCT, const GrBackendFormat &format) const
Definition GrCaps.cpp:428
skgpu::Swizzle getReadSwizzle(const GrBackendFormat &format, GrColorType colorType) const
Definition GrCaps.cpp:443
virtual std::unique_ptr< GrExternalTexture > generateExternalTexture(GrRecordingContext *, skgpu::Mipmapped)=0
sk_sp< GrTextureProxy > wrapBackendTexture(const GrBackendTexture &, GrWrapOwnership, GrWrapCacheable, GrIOType, sk_sp< skgpu::RefCntedCallback >=nullptr)
GrProxyProvider * proxyProvider()
GrRecordingContextPriv priv()
static sk_sp< RefCntedCallback > Make(Callback proc, Context ctx)
uint32_t uint32_t * format

The documentation for this class was generated from the following files: