Browse Source

Adapted to Corrade::PluginManager changes.

pull/51/head
Vladimír Vondruš 12 years ago
parent
commit
3a1c776557
  1. 4
      doc/plugins.dox
  2. 14
      src/Magnum/Text/fontconverter.cpp
  3. 18
      src/Magnum/TextureTools/distancefieldconverter.cpp

4
doc/plugins.dox

@ -120,10 +120,6 @@ lifetime of all plugin instances created from it.
std::exit(1); std::exit(1);
} }
std::unique_ptr<Trade::AbstractImporter> tgaImporter = manager.instance("TgaImporter"); std::unique_ptr<Trade::AbstractImporter> tgaImporter = manager.instance("TgaImporter");
if(!tgaImporter) {
Error() << "Cannot instantiate TgaImporter plugin";
std::exit(2);
}
// Use the plugin... // Use the plugin...

14
src/Magnum/Text/fontconverter.cpp

@ -72,21 +72,15 @@ int FontConverter::exec() {
/* Load font */ /* Load font */
PluginManager::Manager<Text::AbstractFont> fontManager(Utility::Directory::join(MAGNUM_PLUGINS_DIR, "fonts/")); PluginManager::Manager<Text::AbstractFont> fontManager(Utility::Directory::join(MAGNUM_PLUGINS_DIR, "fonts/"));
std::unique_ptr<Text::AbstractFont> font; if(!(fontManager.load(args.value("font")) & PluginManager::LoadState::Loaded))
if(!(fontManager.load(args.value("font")) & PluginManager::LoadState::Loaded) ||
!(font = fontManager.instance(args.value("font")))) {
Error() << "Cannot load plugin" << args.value("font") << "from" << fontManager.pluginDirectory();
std::exit(1); std::exit(1);
} std::unique_ptr<Text::AbstractFont> font = fontManager.instance(args.value("font"));
/* Load font converter */ /* Load font converter */
PluginManager::Manager<Text::AbstractFontConverter> converterManager(Utility::Directory::join(MAGNUM_PLUGINS_DIR, "fontconverters/")); PluginManager::Manager<Text::AbstractFontConverter> converterManager(Utility::Directory::join(MAGNUM_PLUGINS_DIR, "fontconverters/"));
std::unique_ptr<Text::AbstractFontConverter> converter; if(!(converterManager.load(args.value("converter")) & PluginManager::LoadState::Loaded))
if(!(converterManager.load(args.value("converter")) & PluginManager::LoadState::Loaded) ||
!(converter = converterManager.instance(args.value("converter")))) {
Error() << "Cannot load plugin" << args.value("converter") << "from" << converterManager.pluginDirectory();
std::exit(1); std::exit(1);
} std::unique_ptr<Text::AbstractFontConverter> converter = converterManager.instance(args.value("converter"));
/* Open font */ /* Open font */
if(!font->openFile(args.value("input"), args.value<Float>("font-size"))) { if(!font->openFile(args.value("input"), args.value<Float>("font-size"))) {

18
src/Magnum/TextureTools/distancefieldconverter.cpp

@ -66,23 +66,17 @@ DistanceFieldConverter::DistanceFieldConverter(const Arguments& arguments): Wind
} }
int DistanceFieldConverter::exec() { int DistanceFieldConverter::exec() {
/* Load plugins */ /* Load importer plugin */
PluginManager::Manager<Trade::AbstractImporter> importerManager(MAGNUM_IMPORTER_PLUGIN_DIR); PluginManager::Manager<Trade::AbstractImporter> importerManager(MAGNUM_IMPORTER_PLUGIN_DIR);
if(!(importerManager.load(args.value("importer")) & PluginManager::LoadState::Loaded)) { if(!(importerManager.load(args.value("importer")) & PluginManager::LoadState::Loaded))
Error() << "Cannot load importer plugin" << args.value("importer") << "from" << MAGNUM_IMPORTER_PLUGIN_DIR;
return 1; return 1;
} std::unique_ptr<Trade::AbstractImporter> importer = importerManager.instance(args.value("importer"));
/* Load converter plugin */
PluginManager::Manager<Trade::AbstractImageConverter> converterManager(MAGNUM_IMAGECONVERTER_PLUGIN_DIR); PluginManager::Manager<Trade::AbstractImageConverter> converterManager(MAGNUM_IMAGECONVERTER_PLUGIN_DIR);
if(!(converterManager.load(args.value("converter")) & PluginManager::LoadState::Loaded)) { if(!(converterManager.load(args.value("converter")) & PluginManager::LoadState::Loaded))
Error() << "Cannot load converter plugin" << args.value("converter") << "from" << MAGNUM_IMAGECONVERTER_PLUGIN_DIR;
return 1; return 1;
}
/* Instance plugins */
std::unique_ptr<Trade::AbstractImporter> importer = importerManager.instance(args.value("importer"));
CORRADE_INTERNAL_ASSERT(importer);
std::unique_ptr<Trade::AbstractImageConverter> converter = converterManager.instance(args.value("converter")); std::unique_ptr<Trade::AbstractImageConverter> converter = converterManager.instance(args.value("converter"));
CORRADE_INTERNAL_ASSERT(converter);
/* Open input file */ /* Open input file */
std::optional<Trade::ImageData2D> image; std::optional<Trade::ImageData2D> image;

Loading…
Cancel
Save