aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTobia Tesan2017-04-30 00:14:23 +0200
committerEugene Sandulenko2017-04-30 09:48:08 +0200
commitaf664fe757b0834e011e93420911428b361c516e (patch)
treeffb2857ba31d5191bed3d181c2f859eacf3b9e29
parentd602850b0c3bd9e99d729da335ac3f068c5cd73a (diff)
downloadscummvm-rg350-af664fe757b0834e011e93420911428b361c516e.tar.gz
scummvm-rg350-af664fe757b0834e011e93420911428b361c516e.tar.bz2
scummvm-rg350-af664fe757b0834e011e93420911428b361c516e.zip
GRAPHICS: Use MacFont in lieu of Graphics::Font in MacText
-rw-r--r--engines/director/frame.cpp9
-rw-r--r--graphics/macgui/mactext.cpp11
-rw-r--r--graphics/macgui/mactext.h4
3 files changed, 14 insertions, 10 deletions
diff --git a/engines/director/frame.cpp b/engines/director/frame.cpp
index ba5b9033ab..3b3c1ff978 100644
--- a/engines/director/frame.cpp
+++ b/engines/director/frame.cpp
@@ -846,11 +846,10 @@ void Frame::renderText(Graphics::ManagedSurface &surface, uint16 spriteId, Commo
return;
}
- Graphics::MacFont macFont = Graphics::MacFont(textCast->fontId, textCast->fontSize, textCast->textSlant);
+ Graphics::MacFont *macFont = new Graphics::MacFont(textCast->fontId, textCast->fontSize, textCast->textSlant);
+ // TODO: MacText must destroy me
- const Graphics::Font *font = _vm->_wm->_fontMan->getFont(macFont);
-
- debugC(3, kDebugText, "renderText: x: %d y: %d w: %d h: %d font: '%s'", x, y, width, height, _vm->_wm->_fontMan->getFontName(macFont));
+ debugC(3, kDebugText, "renderText: x: %d y: %d w: %d h: %d font: '%s'", x, y, width, height, _vm->_wm->_fontMan->getFontName(*macFont));
int alignment = (int)textCast->textAlign;
if (alignment == -1)
@@ -866,7 +865,7 @@ void Frame::renderText(Graphics::ManagedSurface &surface, uint16 spriteId, Commo
}
}
- Graphics::MacText mt(ftext, _vm->_wm, font, 0x00, 0xff, width, (Graphics::TextAlign)alignment);
+ Graphics::MacText mt(ftext, _vm->_wm, macFont, 0x00, 0xff, width, (Graphics::TextAlign)alignment);
mt.setInterLinear(1);
mt.render();
const Graphics::ManagedSurface *textSurface = mt.getSurface();
diff --git a/graphics/macgui/mactext.cpp b/graphics/macgui/mactext.cpp
index 180b08175b..9dcb380833 100644
--- a/graphics/macgui/mactext.cpp
+++ b/graphics/macgui/mactext.cpp
@@ -37,10 +37,10 @@ const Font *MacFontRun::getFont() {
return font;
}
-MacText::MacText(Common::String s, MacWindowManager *wm, const Font *font, int fgcolor, int bgcolor, int maxWidth, TextAlign textAlignment) {
+MacText::MacText(Common::String s, MacWindowManager *wm, const MacFont *macFont, int fgcolor, int bgcolor, int maxWidth, TextAlign textAlignment) {
_str = s;
_wm = wm;
- _font = font;
+ _macFont = macFont;
_fgcolor = fgcolor;
_bgcolor = bgcolor;
_maxWidth = maxWidth;
@@ -51,7 +51,12 @@ MacText::MacText(Common::String s, MacWindowManager *wm, const Font *font, int f
_interLinear = 0; // 0 pixels between the lines by default
- _defaultFormatting.font = font;
+ if (macFont) {
+ _defaultFormatting.font = wm->_fontMan->getFont(*macFont);
+ } else {
+ _defaultFormatting.font = NULL;
+ }
+
_defaultFormatting.wm = wm;
_currentFormatting = _defaultFormatting;
diff --git a/graphics/macgui/mactext.h b/graphics/macgui/mactext.h
index 85c855950f..c9d24a006d 100644
--- a/graphics/macgui/mactext.h
+++ b/graphics/macgui/mactext.h
@@ -88,7 +88,7 @@ struct MacTextLine {
class MacText {
public:
- MacText(Common::String s, MacWindowManager *wm, const Graphics::Font *font, int fgcolor, int bgcolor,
+ MacText(Common::String s, MacWindowManager *wm, const MacFont *font, int fgcolor, int bgcolor,
int maxWidth = -1, TextAlign textAlignment = kTextAlignLeft);
void setInterLinear(int interLinear);
@@ -113,7 +113,7 @@ private:
MacWindowManager *_wm;
Common::String _str;
- const Graphics::Font *_font;
+ const MacFont *_macFont;
int _fgcolor, _bgcolor;
int _maxWidth;