diff options
-rw-r--r-- | engines/gargoyle/conf.cpp | 13 | ||||
-rw-r--r-- | engines/gargoyle/fonts.cpp | 13 | ||||
-rw-r--r-- | engines/gargoyle/window_text_grid.cpp | 16 |
3 files changed, 18 insertions, 24 deletions
diff --git a/engines/gargoyle/conf.cpp b/engines/gargoyle/conf.cpp index 7e11a2f295..31e2c5fb05 100644 --- a/engines/gargoyle/conf.cpp +++ b/engines/gargoyle/conf.cpp @@ -69,6 +69,8 @@ Conf::Conf() { _imageW = g_system->getWidth(); _imageH = g_system->getHeight(); _cellW = _cellH = 8; + _leading = 8; + _baseLine = 0; get("moreprompt", _morePrompt, "\207 more \207"); get("morecolor", _moreColor); @@ -89,11 +91,18 @@ Conf::Conf() { get("propi", _propI); get("propz", _propZ); get("propfont", _propFont, "Linux Libertine O"); - get("leading", _leading, 8); - get("baseline", _baseLine, 15); get("rows", _rows, 25); get("cols", _cols, 60); + /* Disabled for now, since Fonts constructor resets them + if (ConfMan.hasKey("leading")) + _leading = atof(ConfMan.get("leading").c_str()) + 0.5; + if (ConfMan.hasKey("baseline")) + _baseLine = atof(ConfMan.get("baseline").c_str()) + 0.5; + if (!_baseLine) + _baseLine = _propSize + 0.5; + */ + if (ConfMan.hasKey("minrows")) _rows = MAX(_rows, strToInt(ConfMan.get("minrows").c_str())); if (ConfMan.hasKey("maxrows")) diff --git a/engines/gargoyle/fonts.cpp b/engines/gargoyle/fonts.cpp index 307144b1b2..7aaf27b696 100644 --- a/engines/gargoyle/fonts.cpp +++ b/engines/gargoyle/fonts.cpp @@ -38,18 +38,6 @@ const char *gli_conf_monob = "GoMono-Bold"; const char *gli_conf_monoi = "GoMono-Italic"; const char *gli_conf_monoz = "GoMono-BoldItalic"; -#ifdef BUNDLED_FONTS -const char *gli_conf_monofont = ""; -const char *gli_conf_propfont = ""; -const double gli_conf_monosize = 12.5; ///< good size for GoMono -const double gli_conf_propsize = 13.4; ///< good size for NotoSerif -#else -const char *gli_conf_monofont = "Liberation Mono"; -const char *gli_conf_propfont = "Linux Libertine O"; -const double gli_conf_monosize = 12.5; ///< good size for LiberationMono -const double gli_conf_propsize = 15.5; ///< good size for Libertine -#endif - Fonts::Fonts(Graphics::ManagedSurface *surface) : _surface(surface) { double monoAspect = g_conf->_monoAspect; double propAspect = g_conf->_propAspect; @@ -68,6 +56,7 @@ Fonts::Fonts(Graphics::ManagedSurface *surface) : _surface(surface) { g_conf->_cellW = _fontTable[0]->getStringWidth("0"); g_conf->_cellH = _fontTable[0]->getFontHeight(); + g_conf->_leading = g_conf->_baseLine = g_conf->_cellH; } Fonts::~Fonts() { diff --git a/engines/gargoyle/window_text_grid.cpp b/engines/gargoyle/window_text_grid.cpp index 6945aca751..455655f6e6 100644 --- a/engines/gargoyle/window_text_grid.cpp +++ b/engines/gargoyle/window_text_grid.cpp @@ -588,7 +588,7 @@ void TextGridWindow::redraw() { for (i = 0; i < _height; i++) { ln = &_lines[i]; if (ln->dirty || Windows::_forceRedraw) { - ln->dirty = 0; + ln->dirty = false; x = x0; y = y0 + i * g_conf->_leading; @@ -607,16 +607,15 @@ void TextGridWindow::redraw() { screen.fillRect(Rect::fromXYWH(x, y, w, g_conf->_leading), bgcolor); o = x; - for (k = a; k < b; k++) { - screen.drawStringUni(Point(o * GLI_SUBPIX, y + g_conf->_baseLine), - font, fgcolor, Common::U32String(&ln->_chars[k], 1), -1); - o += g_conf->_cellW; + for (k = a, o = x; k < b; k++, o += g_conf->_cellW) { + screen.drawStringUni(Point(o, y), font, fgcolor, Common::U32String(&ln->_chars[k], 1), -1); } if (link) { screen.fillRect(Rect::fromXYWH(x, y + g_conf->_baseLine + 1, w, g_conf->_linkStyle), g_conf->_linkColor); g_vm->_windowMask->putHyperlink(link, x, y, x + w, y + g_conf->_leading); } + x += w; a = b; } @@ -629,11 +628,8 @@ void TextGridWindow::redraw() { w += _bbox.right - (x + w); screen.fillRect(Rect::fromXYWH(x, y, w, g_conf->_leading), bgcolor); - o = x; - for (k = a; k < b; k++) { - screen.drawStringUni(Point(o * GLI_SUBPIX, y + g_conf->_baseLine), - font, fgcolor, Common::U32String(&ln->_chars[k], 1)); - o += g_conf->_cellW; + for (k = a, o = x; k < b; k++, o += g_conf->_cellW) { + screen.drawStringUni(Point(o, y), font, fgcolor, Common::U32String(&ln->_chars[k], 1)); } if (link) { screen.fillRect(Rect::fromXYWH(x, y + g_conf->_baseLine + 1, w, g_conf->_linkStyle), |