diff options
author | Eugene Sandulenko | 2017-01-27 10:15:54 +0100 |
---|---|---|
committer | Eugene Sandulenko | 2017-01-27 10:15:54 +0100 |
commit | 01133310c4c909333b5ebc1c0a78b701e5932312 (patch) | |
tree | edd61d7ca701a7978b010da9e085ddb244fc6835 | |
parent | 399f5b9be55f61d8b7650d77af8db9fbf43bde73 (diff) | |
download | scummvm-rg350-01133310c4c909333b5ebc1c0a78b701e5932312.tar.gz scummvm-rg350-01133310c4c909333b5ebc1c0a78b701e5932312.tar.bz2 scummvm-rg350-01133310c4c909333b5ebc1c0a78b701e5932312.zip |
GRAPHICS: Overload loadFonts() method in MacResMnager
-rw-r--r-- | engines/director/resource.cpp | 8 | ||||
-rw-r--r-- | graphics/macgui/macfontmanager.cpp | 23 | ||||
-rw-r--r-- | graphics/macgui/macfontmanager.h | 5 |
3 files changed, 22 insertions, 14 deletions
diff --git a/engines/director/resource.cpp b/engines/director/resource.cpp index f2a44d5e69..cb870d2c61 100644 --- a/engines/director/resource.cpp +++ b/engines/director/resource.cpp @@ -219,13 +219,7 @@ void DirectorEngine::loadSharedCastsFrom(Common::String filename) { if (shardcst->hasResource(MKTAG('F', 'O', 'N', 'D'), -1)) { debug("Shared cast has fonts. Loading...."); - Common::File file; - - if (!file.open(filename)) { - warning("Oops, cannot open file"); - } else { - _wm->_fontMan->loadFontsFromStream(&file); - } + _wm->_fontMan->loadFonts(filename); } castScore->loadConfig(*shardcst->getResource(MKTAG('V','W','C','F'), 1024)); diff --git a/graphics/macgui/macfontmanager.cpp b/graphics/macgui/macfontmanager.cpp index 9d66e495ad..1b664d53b0 100644 --- a/graphics/macgui/macfontmanager.cpp +++ b/graphics/macgui/macfontmanager.cpp @@ -158,7 +158,7 @@ void MacFontManager::loadFonts() { for (Common::ArchiveMemberList::iterator it = list.begin(); it != list.end(); ++it) { Common::SeekableReadStream *stream = dat->createReadStreamForMember((*it)->getName()); - loadFontsFromStream(stream); + loadFonts(stream); } _builtInFonts = false; @@ -166,12 +166,25 @@ void MacFontManager::loadFonts() { delete dat; } -void MacFontManager::loadFontsFromStream(Common::SeekableReadStream *stream) { - Common::MacResManager *fontFile = new Common::MacResManager(); +void MacFontManager::loadFonts(Common::SeekableReadStream *stream) { + Common::MacResManager fontFile; - if (!fontFile->loadFromMacBinary(*stream)) + if (!fontFile.loadFromMacBinary(*stream)) return; + loadFonts(&fontFile); +} + +void MacFontManager::loadFonts(const Common::String &fileName) { + Common::MacResManager fontFile; + + if (!fontFile.open(fileName)) + return; + + loadFonts(&fontFile); +} + +void MacFontManager::loadFonts(Common::MacResManager *fontFile) { Common::MacResIDArray fonds = fontFile->getResIDArray(MKTAG('F','O','N','D')); if (fonds.size() > 0) { for (Common::Array<uint16>::iterator iterator = fonds.begin(); iterator != fonds.end(); ++iterator) { @@ -222,8 +235,6 @@ void MacFontManager::loadFontsFromStream(Common::SeekableReadStream *stream) { delete fond; } } - - delete fontFile; } const Font *MacFontManager::getFont(MacFont macFont) { diff --git a/graphics/macgui/macfontmanager.h b/graphics/macgui/macfontmanager.h index 6d6122e2e7..2743f8b550 100644 --- a/graphics/macgui/macfontmanager.h +++ b/graphics/macgui/macfontmanager.h @@ -27,6 +27,7 @@ namespace Common { class SeekableReadStream; + class MacResManager; } namespace Graphics { @@ -126,7 +127,9 @@ public: const char *getFontName(MacFont &font); int getFontIdByName(Common::String name); - void loadFontsFromStream(Common::SeekableReadStream *stream); + void loadFonts(Common::SeekableReadStream *stream); + void loadFonts(const Common::String &fileName); + void loadFonts(Common::MacResManager *fontFile); private: void loadFontsBDF(); |