aboutsummaryrefslogtreecommitdiff
path: root/graphics
diff options
context:
space:
mode:
authorChris Warren-Smith2011-08-07 21:33:32 +1000
committerChris Warren-Smith2011-08-21 16:37:06 +1000
commit59739a7a0e3e4826ba7b27d5270a8d7a26b787ef (patch)
treedcf98438157963eabd0ca4499b7794548b08f5fa /graphics
parentf705a9b2865a3379b3423c7cc929086eee17a4f1 (diff)
downloadscummvm-rg350-59739a7a0e3e4826ba7b27d5270a8d7a26b787ef.tar.gz
scummvm-rg350-59739a7a0e3e4826ba7b27d5270a8d7a26b787ef.tar.bz2
scummvm-rg350-59739a7a0e3e4826ba7b27d5270a8d7a26b787ef.zip
BADA: Initial BADA port implementation
Diffstat (limited to 'graphics')
-rw-r--r--graphics/fontman.cpp20
-rw-r--r--graphics/fontman.h10
-rw-r--r--graphics/fonts/bdf.cpp3
3 files changed, 32 insertions, 1 deletions
diff --git a/graphics/fontman.cpp b/graphics/fontman.cpp
index e59e5a33c5..19f702ab30 100644
--- a/graphics/fontman.cpp
+++ b/graphics/fontman.cpp
@@ -79,6 +79,26 @@ bool FontManager::assignFontToName(const Common::String &name, const Font *font)
return true;
}
+bool FontManager::assignFontToUsage(FontUsage usage, const Font *font) {
+ switch (usage) {
+ case kConsoleFont:
+ delete g_consolefont;
+ g_consolefont = (const BdfFont*)font;
+ break;
+ case kGUIFont:
+ delete g_sysfont;
+ g_sysfont = (const BdfFont*)font;
+ break;
+ case kBigGUIFont:
+ delete g_sysfont_big;
+ g_sysfont_big = (const BdfFont*)font;
+ break;
+ default:
+ return false;
+ }
+ return true;
+}
+
void FontManager::removeFontName(const Common::String &name) {
Common::String lowercaseName = name;
lowercaseName.toLowercase();
diff --git a/graphics/fontman.h b/graphics/fontman.h
index 858a733d45..7c132e613e 100644
--- a/graphics/fontman.h
+++ b/graphics/fontman.h
@@ -60,6 +60,16 @@ public:
bool assignFontToName(const Common::String &name, const Font *font);
/**
+ * Associates a BDF font object with an 'usage'. This is useful for platforms
+ * with a screen DPI much larger than a regular desktop workstation.
+ *
+ * @param name the name of the font
+ * @param font the font object
+ * @return true on success, false on failure
+ */
+ bool assignFontToUsage(FontUsage usage, const Font *font);
+
+ /**
* Removes binding from name to font
*
* @param name name which should be removed
diff --git a/graphics/fonts/bdf.cpp b/graphics/fonts/bdf.cpp
index cf2e38d3f1..58c48ed877 100644
--- a/graphics/fonts/bdf.cpp
+++ b/graphics/fonts/bdf.cpp
@@ -81,7 +81,8 @@ void drawCharIntern(byte *ptr, uint pitch, const bitmap_t *src, int h, int minX,
void BdfFont::drawChar(Surface *dst, byte chr, const int tx, const int ty, const uint32 color) const {
assert(dst != 0);
- assert(_desc.bits != 0 && _desc.maxwidth <= 16);
+ // asserting _desc.maxwidth <= 50: let the theme designer decide what looks best
+ assert(_desc.bits != 0 && _desc.maxwidth <= 50);
assert(dst->format.bytesPerPixel == 1 || dst->format.bytesPerPixel == 2);
// If this character is not included in the font, use the default char.