aboutsummaryrefslogtreecommitdiff
path: root/graphics/macgui/macmenu.cpp
diff options
context:
space:
mode:
authorAndrei Prykhodko2018-07-22 20:37:44 +0300
committerAndrei Prykhodko2018-07-22 20:37:44 +0300
commit62c66bc67a202694229a46e09d6881eea4ebd77f (patch)
treebc2e36f04525d06a5dd95751611b410b4c117ec2 /graphics/macgui/macmenu.cpp
parent71e933e7787e2be450ef8955e7f3289376ddce21 (diff)
downloadscummvm-rg350-62c66bc67a202694229a46e09d6881eea4ebd77f.tar.gz
scummvm-rg350-62c66bc67a202694229a46e09d6881eea4ebd77f.tar.bz2
scummvm-rg350-62c66bc67a202694229a46e09d6881eea4ebd77f.zip
GRAPHICS: MACGUI: added unicode submenu rendering
Diffstat (limited to 'graphics/macgui/macmenu.cpp')
-rw-r--r--graphics/macgui/macmenu.cpp13
1 files changed, 10 insertions, 3 deletions
diff --git a/graphics/macgui/macmenu.cpp b/graphics/macgui/macmenu.cpp
index 6d0f0fede2..427f605614 100644
--- a/graphics/macgui/macmenu.cpp
+++ b/graphics/macgui/macmenu.cpp
@@ -504,17 +504,21 @@ void MacMenu::renderSubmenu(MacMenuItem *menu) {
for (uint i = 0; i < menu->subitems.size(); i++) {
Common::String text(menu->subitems[i]->text);
Common::String acceleratorText(getAcceleratorString(menu->subitems[i], ""));
+
+ Common::U32String unicodeText(menu->subitems[i]->unicodeText);
+ // add unicode accelerator
+
int accelX = r->right - 25;
int color = _wm->_colorBlack;
- if (i == (uint)_activeSubItem && !text.empty() && menu->subitems[i]->enabled) {
+ if (i == (uint)_activeSubItem && (!text.empty() || !unicodeText.empty()) && menu->subitems[i]->enabled) {
color = _wm->_colorWhite;
Common::Rect trect(r->left, y - (_wm->_fontMan->hasBuiltInFonts() ? 1 : 0), r->right, y + _font->getFontHeight());
_screen.fillRect(trect, _wm->_colorBlack);
}
- if (!text.empty()) {
+ if (!text.empty() || !unicodeText.empty()) {
ManagedSurface *s = &_screen;
int tx = x, ty = y;
@@ -527,7 +531,10 @@ void MacMenu::renderSubmenu(MacMenuItem *menu) {
_tempSurface.clear(kColorGreen);
}
- _font->drawString(s, text, tx, ty, r->width(), color);
+ if (menu->subitems[i]->unicode)
+ _font->drawString(s, unicodeText, tx, ty, r->width(), color);
+ else
+ _font->drawString(s, text, tx, ty, r->width(), color);
if (!acceleratorText.empty())
_font->drawString(s, acceleratorText, accelX, ty, r->width(), color);