aboutsummaryrefslogtreecommitdiff
path: root/graphics/macgui/macfontmanager.cpp
diff options
context:
space:
mode:
authorEugene Sandulenko2017-01-27 10:15:54 +0100
committerEugene Sandulenko2017-01-27 10:15:54 +0100
commit01133310c4c909333b5ebc1c0a78b701e5932312 (patch)
treeedd61d7ca701a7978b010da9e085ddb244fc6835 /graphics/macgui/macfontmanager.cpp
parent399f5b9be55f61d8b7650d77af8db9fbf43bde73 (diff)
downloadscummvm-rg350-01133310c4c909333b5ebc1c0a78b701e5932312.tar.gz
scummvm-rg350-01133310c4c909333b5ebc1c0a78b701e5932312.tar.bz2
scummvm-rg350-01133310c4c909333b5ebc1c0a78b701e5932312.zip
GRAPHICS: Overload loadFonts() method in MacResMnager
Diffstat (limited to 'graphics/macgui/macfontmanager.cpp')
-rw-r--r--graphics/macgui/macfontmanager.cpp23
1 files changed, 17 insertions, 6 deletions
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) {