45 #ifndef __CU_WIDGET_LOADER_H__
46 #define __CU_WIDGET_LOADER_H__
47 #include <cugl/assets/CULoader.h>
48 #include <cugl/assets/CUJsonLoader.h>
49 #include <cugl/assets/CUJsonValue.h>
50 #include <cugl/assets/CUWidgetValue.h>
84 void materialize(
const std::string& key,
const std::shared_ptr<WidgetValue>& widget,
85 LoaderCallback callback);
104 virtual bool read(
const std::string& key,
const std::string& source,
105 LoaderCallback callback,
bool async)
override;
127 virtual bool read(
const std::shared_ptr<JsonValue>& json,
128 LoaderCallback callback,
bool async)
override;
132 #pragma mark Constructors
167 static std::shared_ptr<WidgetLoader>
alloc() {
168 std::shared_ptr<WidgetLoader> result = std::make_shared<WidgetLoader>();
169 return (result->init() ? result :
nullptr);
185 static std::shared_ptr<WidgetLoader>
alloc(
const std::shared_ptr<ThreadPool>& threads) {
186 std::shared_ptr<WidgetLoader> result = std::make_shared<WidgetLoader>();
187 return (result->init(threads) ? result :
nullptr);