diff options
Diffstat (limited to 'gui/widgets/popup.cpp')
-rw-r--r-- | gui/widgets/popup.cpp | 20 |
1 files changed, 13 insertions, 7 deletions
diff --git a/gui/widgets/popup.cpp b/gui/widgets/popup.cpp index 0a1010f8fa..82f4112a97 100644 --- a/gui/widgets/popup.cpp +++ b/gui/widgets/popup.cpp @@ -71,6 +71,10 @@ PopUpDialog::PopUpDialog(PopUpWidget *boss, int clickX, int clickY) : Dialog(0, 0, 16, 16), _popUpBoss(boss) { + _openTime = 0; + _buffer = nullptr; + _entriesPerColumn = 1; + // Copy the selection index _selection = _popUpBoss->_selectedItem; @@ -142,10 +146,6 @@ PopUpDialog::PopUpDialog(PopUpWidget *boss, int clickX, int clickY) // Remember original mouse position _clickX = clickX - _x; _clickY = clickY - _y; - - _openTime = 0; - _buffer = nullptr; - _entriesPerColumn = 1; } void PopUpDialog::drawDialog() { @@ -364,8 +364,11 @@ void PopUpDialog::drawMenuEntry(int entry, bool hilite) { // Draw a separator g_gui.theme()->drawLineSeparator(Common::Rect(x, y, x+w, y+kLineHeight)); } else { - g_gui.theme()->drawText(Common::Rect(x+1, y+2, x+w, y+2+kLineHeight), name, hilite ? ThemeEngine::kStateHighlight : ThemeEngine::kStateEnabled, - Graphics::kTextAlignLeft, ThemeEngine::kTextInversionNone, _leftPadding); + g_gui.theme()->drawText( + Common::Rect(x+1, y+2, x+w, y+2+kLineHeight), + name, hilite ? ThemeEngine::kStateHighlight : ThemeEngine::kStateEnabled, + Graphics::kTextAlignLeft, ThemeEngine::kTextInversionNone, _leftPadding + ); } } @@ -470,7 +473,10 @@ void PopUpWidget::drawWidget() { Common::String sel; if (_selectedItem >= 0) sel = _entries[_selectedItem].name; - g_gui.theme()->drawPopUpWidget(Common::Rect(_x, _y, _x + _w, _y + _h), sel, _leftPadding, _state, Graphics::kTextAlignLeft); + g_gui.theme()->drawPopUpWidgetClip( + Common::Rect(_x, _y, _x + _w, _y + _h), getBossClipRect(), + sel, _leftPadding, _state, Graphics::kTextAlignLeft + ); } } // End of namespace GUI |