24 #ifndef __CU_FONT_LOADER__
25 #define __CU_FONT_LOADER__
26 #include <unordered_set>
30 #include "CUThreadPool.h"
35 #define DEFAULT_SIZE 12.0f
69 #pragma mark Font Coordinator
79 std::unordered_map<std::string,TTFont*> _objects;
81 std::unordered_map<std::string, int> _refcnts;
83 std::unordered_map<std::string,std::vector<std::function<void(TTFont* s)>>> _callbacks;
116 bool isLoaded(std::string
id)
const {
return _objects.find(
id) != _objects.end(); }
126 bool isPending(std::string
id)
const {
return _callbacks.find(
id) != _callbacks.end(); }
129 #pragma mark Allocation Methods
141 TTFont* load(std::string source,
float size);
155 void loadAsync(std::string source,
float size, std::function<
void(
TTFont* s)> callback);
185 void allocateAsync(
TTFont* texture, FontAtlas* atlas);
197 void release(
TTFont* font);
204 #pragma mark Font Loader
221 void allocate(std::string key,
TTFont* font);
225 #pragma mark Activation/Deactivation
248 void start()
override;
260 void stop()
override;
263 #pragma mark Loading/Unloading
274 size_t waitCount()
const override {
return _fqueue.size(); }
291 TTFont*
load(std::string key, std::string source)
override {
return load(key,source,_default); }
307 TTFont*
load(std::string key, std::string source,
float size);
342 void loadAsync(std::string key, std::string source,
float size);
355 void unload(std::string key)
override;
369 #pragma mark Default Parameters
389 CC_CONSTRUCTOR_ACCESS:
390 #pragma mark Initializers
size_t instances
Definition: CUFontLoader.h:92
virtual void start()
Definition: CULoader.h:66
virtual ~FontLoader()
Definition: CUFontLoader.h:401
size_t waitCount() const override
Definition: CUFontLoader.h:274
Definition: CUFontLoader.h:62
float getDefaultSize() const
Definition: CUFontLoader.h:377
Definition: CUThreadPool.h:51
void setDefaultSize(float size)
Definition: CUFontLoader.h:386
std::unordered_set< std::string > _fqueue
Definition: CUFontLoader.h:209
float _default
Definition: CUFontLoader.h:206
bool isLoaded(std::string id) const
Definition: CUFontLoader.h:116
virtual void unload(std::string key)
Definition: CULoader.h:125
void loadAsync(std::string key, std::string source) override
Definition: CUFontLoader.h:325
static Coordinator * _gCoordinator
Definition: CUFontLoader.h:201
bool isPending(std::string id) const
Definition: CUFontLoader.h:126
virtual void unloadAll()
Definition: CULoader.h:138
Definition: CUTTFont.h:38
TTFont * load(std::string key, std::string source) override
Definition: CUFontLoader.h:291
virtual void stop()
Definition: CULoader.h:82
Definition: CULoader.h:237
Definition: CUFontLoader.h:76
virtual T * load(std::string key, std::string source)
Definition: CULoader.h:310
virtual void loadAsync(std::string key, std::string source)
Definition: CULoader.h:111