[Core] Make ImageFormatLoader extensible.
This commit is contained in:
@ -33,7 +33,7 @@
|
||||
#include "core/os/os.h"
|
||||
#include "core/string/print_string.h"
|
||||
|
||||
Error ImageLoaderHDR::load_image(Ref<Image> p_image, Ref<FileAccess> f, uint32_t p_flags, float p_scale) {
|
||||
Error ImageLoaderHDR::load_image(Ref<Image> p_image, Ref<FileAccess> f, BitField<ImageFormatLoader::LoaderFlags> p_flags, float p_scale) {
|
||||
String header = f->get_token();
|
||||
|
||||
ERR_FAIL_COND_V_MSG(header != "#?RADIANCE" && header != "#?RGBE", ERR_FILE_UNRECOGNIZED, "Unsupported header information in HDR: " + header + ".");
|
||||
|
||||
@ -35,7 +35,7 @@
|
||||
|
||||
class ImageLoaderHDR : public ImageFormatLoader {
|
||||
public:
|
||||
virtual Error load_image(Ref<Image> p_image, Ref<FileAccess> f, uint32_t p_flags, float p_scale);
|
||||
virtual Error load_image(Ref<Image> p_image, Ref<FileAccess> f, BitField<ImageFormatLoader::LoaderFlags> p_flags, float p_scale);
|
||||
virtual void get_recognized_extensions(List<String> *p_extensions) const;
|
||||
ImageLoaderHDR();
|
||||
};
|
||||
|
||||
@ -32,14 +32,14 @@
|
||||
|
||||
#include "image_loader_hdr.h"
|
||||
|
||||
static ImageLoaderHDR *image_loader_hdr = nullptr;
|
||||
static Ref<ImageLoaderHDR> image_loader_hdr;
|
||||
|
||||
void initialize_hdr_module(ModuleInitializationLevel p_level) {
|
||||
if (p_level != MODULE_INITIALIZATION_LEVEL_SCENE) {
|
||||
return;
|
||||
}
|
||||
|
||||
image_loader_hdr = memnew(ImageLoaderHDR);
|
||||
image_loader_hdr.instantiate();
|
||||
ImageLoader::add_image_format_loader(image_loader_hdr);
|
||||
}
|
||||
|
||||
@ -48,5 +48,6 @@ void uninitialize_hdr_module(ModuleInitializationLevel p_level) {
|
||||
return;
|
||||
}
|
||||
|
||||
memdelete(image_loader_hdr);
|
||||
ImageLoader::remove_image_format_loader(image_loader_hdr);
|
||||
image_loader_hdr.unref();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user