8#ifndef skgpu_graphite_AtlasProvider_DEFINED
9#define skgpu_graphite_AtlasProvider_DEFINED
17#include <unordered_map>
22class ComputePathAtlas;
27class TextAtlasManager;
57 return SkToBool(fPathAtlasFlags & atlasType);
72 bool requireStorageUsage);
83 std::unique_ptr<TextAtlasManager> fTextAtlasManager;
95 std::unique_ptr<RasterPathAtlas> fRasterPathAtlas;
104 std::unordered_map<uint64_t, sk_sp<TextureProxy>> fTexturePool;
#define SK_DECL_BITMASK_OPS_FRIENDS(E)
#define SK_MAKE_BITMASK_OPS(E)
static constexpr bool SkToBool(const T &x)
bool isAvailable(PathAtlasFlags atlasType) const
static PathAtlasFlagsBitMask QueryPathAtlasSupport(const Caps *)
sk_sp< TextureProxy > getAtlasTexture(Recorder *, uint16_t width, uint16_t height, SkColorType, uint16_t identifier, bool requireStorageUsage)
TextAtlasManager * textAtlasManager() const
void recordUploads(DrawContext *)
std::unique_ptr< ComputePathAtlas > createComputePathAtlas(Recorder *recorder) const
SkEnumBitMask< PathAtlasFlags > PathAtlasFlagsBitMask
RasterPathAtlas * getRasterPathAtlas() const
static SkString identifier(const FontFamilyDesc &family, const FontDesc &font)