Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
Static Public Member Functions | Private Member Functions | List of all members
skresources::CachingResourceProvider Class Referencefinal

#include <SkResources.h>

Inheritance diagram for skresources::CachingResourceProvider:
skresources::ResourceProviderProxyBase skresources::ResourceProvider SkRefCnt SkRefCntBase

Static Public Member Functions

static sk_sp< CachingResourceProviderMake (sk_sp< ResourceProvider > rp)
 

Private Member Functions

sk_sp< ImageAssetloadImageAsset (const char[], const char[], const char[]) const override
 

Additional Inherited Members

- Public Member Functions inherited from SkRefCntBase
 SkRefCntBase ()
 
virtual ~SkRefCntBase ()
 
bool unique () const
 
void ref () const
 
void unref () const
 
- Protected Member Functions inherited from skresources::ResourceProviderProxyBase
 ResourceProviderProxyBase (sk_sp< ResourceProvider >)
 
sk_sp< SkDataload (const char[], const char[]) const override
 
sk_sp< ImageAssetloadImageAsset (const char[], const char[], const char[]) const override
 
sk_sp< SkTypefaceloadTypeface (const char[], const char[]) const override
 
sk_sp< SkDataloadFont (const char[], const char[]) const override
 
sk_sp< ExternalTrackAssetloadAudioAsset (const char[], const char[], const char[]) override
 
- Protected Attributes inherited from skresources::ResourceProviderProxyBase
const sk_sp< ResourceProviderfProxy
 

Detailed Description

Definition at line 245 of file SkResources.h.

Member Function Documentation

◆ loadImageAsset()

sk_sp< ImageAsset > skresources::CachingResourceProvider::loadImageAsset ( const char  [],
const char  [],
const char  [] 
) const
overrideprivatevirtual

Load an image asset specified by |path| + |name|, and returns the corresponding ImageAsset proxy.

Reimplemented from skresources::ResourceProvider.

Definition at line 256 of file SkResources.cpp.

258 {
259 SkAutoMutexExclusive amx(fMutex);
260
261 const SkString key(resource_id);
262 if (const auto* asset = fImageCache.find(key)) {
263 return *asset;
264 }
265
266 auto asset = this->INHERITED::loadImageAsset(resource_path, resource_name, resource_id);
267 fImageCache.set(key, asset);
268
269 return asset;
270}
static const char * resource_name(SkPDFResourceType type)
sk_sp< ImageAsset > loadImageAsset(const char[], const char[], const char[]) const override

◆ Make()

static sk_sp< CachingResourceProvider > skresources::CachingResourceProvider::Make ( sk_sp< ResourceProvider rp)
inlinestatic

Definition at line 247 of file SkResources.h.

247 {
248 return rp ? sk_sp<CachingResourceProvider>(new CachingResourceProvider(std::move(rp)))
249 : nullptr;
250 }

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