diff options
author | Max Horn | 2005-05-15 18:22:44 +0000 |
---|---|---|
committer | Max Horn | 2005-05-15 18:22:44 +0000 |
commit | 06cc657f0d27b3e23c662fd8855877d9e7f17e98 (patch) | |
tree | 329354ff0efd46c1e192f9cd36e6a3925ee5f3c5 | |
parent | 8c3085eb2b1bcb054fda16561345a9fd9632fc00 (diff) | |
download | scummvm-rg350-06cc657f0d27b3e23c662fd8855877d9e7f17e98.tar.gz scummvm-rg350-06cc657f0d27b3e23c662fd8855877d9e7f17e98.tar.bz2 scummvm-rg350-06cc657f0d27b3e23c662fd8855877d9e7f17e98.zip |
Use big font in ListWidget if it is in kBigScrollBarWidth mode
svn-id: r18118
-rw-r--r-- | gui/ListWidget.cpp | 21 | ||||
-rw-r--r-- | gui/ListWidget.h | 1 |
2 files changed, 15 insertions, 7 deletions
diff --git a/gui/ListWidget.cpp b/gui/ListWidget.cpp index f600676c07..b858d2b84b 100644 --- a/gui/ListWidget.cpp +++ b/gui/ListWidget.cpp @@ -31,8 +31,14 @@ ListWidget::ListWidget(GuiObject *boss, int x, int y, int w, int h, WidgetSize w : EditableWidget(boss, x, y, w, h), CommandSender(boss) { // TODO: When in kBigWidgetSize mode, use another font - _w = w - (ws == kBigWidgetSize ? kBigScrollBarWidth : kNormalScrollBarWidth); - _lineHeight = kLineHeight; + if (ws == kBigWidgetSize) { + _font = FontMan.getFontByUsage(Graphics::FontManager::kBigGUIFont); + _w = w - kBigScrollBarWidth; + } else { + _font = FontMan.getFontByUsage(Graphics::FontManager::kGUIFont); + _w = w - kNormalScrollBarWidth; + } + _lineHeight = _font->getFontHeight() + 2; _flags = WIDGET_ENABLED | WIDGET_CLEARBG | WIDGET_RETAIN_FOCUS | WIDGET_WANT_TICKLE; _type = kListWidget; @@ -297,6 +303,7 @@ void ListWidget::drawWidget(bool hilite) { int i, pos, len = _list.size(); Common::String buffer; int offset, deltax; + Graphics::Surface *surf = &g_gui.getScreen(); // Draw a thin frame around the list. gui->hLine(_x, _y, _x + _w - 1, gui->_color); @@ -321,8 +328,8 @@ void ListWidget::drawWidget(bool hilite) { char temp[10]; sprintf(temp, "%2d. ", (pos + _numberingMode)); buffer = temp; - gui->drawString(buffer, _x + 2, y, _w - 4, textColor); - offset = gui->getStringWidth(buffer); + _font->drawString(surf, buffer, _x + 2, y, _w - 4, textColor); + offset = _font->getStringWidth(buffer); } else { offset = 0; } @@ -334,11 +341,11 @@ void ListWidget::drawWidget(bool hilite) { adjustOffset(); deltax = -_editScrollOffset; - gui->drawString(buffer, _x + r.left, y, r.width(), textColor, kTextAlignLeft, deltax, false); + _font->drawString(surf, buffer, _x + r.left, y, r.width(), textColor, kTextAlignLeft, deltax, false); } else { buffer = _list[pos]; deltax = 0; - gui->drawString(buffer, _x + r.left, y, r.width(), textColor); + _font->drawString(surf, buffer, _x + r.left, y, r.width(), textColor); } } } @@ -352,7 +359,7 @@ Common::Rect ListWidget::getEditRect() const { if (_numberingMode != kListNumberingOff) { char temp[10]; sprintf(temp, "%2d. ", (_selectedItem + _numberingMode)); - r.left += g_gui.getStringWidth(temp); + r.left += _font->getStringWidth(temp); } return r; diff --git a/gui/ListWidget.h b/gui/ListWidget.h index 652489cfa3..0681c6cb29 100644 --- a/gui/ListWidget.h +++ b/gui/ListWidget.h @@ -57,6 +57,7 @@ protected: ScrollBarWidget *_scrollBar; int _currentKeyDown; int _lineHeight; + const Graphics::Font *_font; String _quickSelectStr; uint32 _quickSelectTime; |