diff --git a/engines/scumm/dialogs.cpp b/engines/scumm/dialogs.cpp index fc13013c2bd..12c034d8355 100644 --- a/engines/scumm/dialogs.cpp +++ b/engines/scumm/dialogs.cpp @@ -748,10 +748,8 @@ void HelpDialog::handleScreenChanged() { int dscH = g_gui.evaluator()->getVar("scummhelp_dsc.h"); for (int i = 0; i < HELP_NUM_LINES; i++) { - _key[i]->setPos(keyX, keyYoff + lineHeight * (i + 2)); - _key[i]->setSize(keyW, keyH); - _dsc[i]->setPos(dscX, dscYoff + lineHeight * (i + 2)); - _dsc[i]->setSize(dscW, dscH); + _key[i]->resize(keyX, keyYoff + lineHeight * (i + 2), keyW, keyH); + _dsc[i]->resize(dscX, dscYoff + lineHeight * (i + 2), dscW, dscH); } displayKeyBindings(); diff --git a/gui/ListWidget.cpp b/gui/ListWidget.cpp index 4803153950b..575c711e31e 100644 --- a/gui/ListWidget.cpp +++ b/gui/ListWidget.cpp @@ -31,7 +31,6 @@ namespace GUI { ListWidget::ListWidget(GuiObject *boss, String name) : EditableWidget(boss, name), CommandSender(boss) { - int w = g_gui.evaluator()->getVar(_name + ".w"); WidgetSize ws = g_gui.getWidgetSize(); @@ -42,13 +41,14 @@ ListWidget::ListWidget(GuiObject *boss, String name) _hlLeftPadding = g_gui.evaluator()->getVar("ListWidget.hlLeftPadding", 0); _hlRightPadding = g_gui.evaluator()->getVar("ListWidget.hlRightPadding", 0); + int scrollBarWidth; if (ws == kBigWidgetSize) { - _w = w - kBigScrollBarWidth; + scrollBarWidth = kBigScrollBarWidth; } else { - _w = w - kNormalScrollBarWidth; + scrollBarWidth = kNormalScrollBarWidth; } - _scrollBar = new ScrollBarWidget(boss, _x + _w, _y, (ws == kBigWidgetSize ? kBigScrollBarWidth : kNormalScrollBarWidth), _h); + _scrollBar = new ScrollBarWidget(this, _w - scrollBarWidth, 0, scrollBarWidth, _h); _scrollBar->setTarget(this); _flags = WIDGET_ENABLED | WIDGET_CLEARBG | WIDGET_RETAIN_FOCUS | WIDGET_WANT_TICKLE; @@ -451,10 +451,11 @@ void ListWidget::handleScreenChanged() { _hlLeftPadding = g_gui.evaluator()->getVar("ListWidget.hlLeftPadding", 0); _hlRightPadding = g_gui.evaluator()->getVar("ListWidget.hlRightPadding", 0); + int scrollBarWidth; if (ws == kBigWidgetSize) { - _w = w - kBigScrollBarWidth; + scrollBarWidth = kBigScrollBarWidth; } else { - _w = w - kNormalScrollBarWidth; + scrollBarWidth = kNormalScrollBarWidth; } _entriesPerPage = (_h - _topPadding - _bottomPadding) / kLineHeight; @@ -465,7 +466,7 @@ void ListWidget::handleScreenChanged() { for (int i = 0; i < _entriesPerPage; i++) _textWidth[i] = 0; - _scrollBar->resize(_x + _w, _y, (ws == kBigWidgetSize ? kBigScrollBarWidth : kNormalScrollBarWidth), _h); + _scrollBar->resize(_w - scrollBarWidth, 0, scrollBarWidth, _h); scrollBarRecalc(); } diff --git a/gui/console.cpp b/gui/console.cpp index 28e21d96284..de6f9146446 100644 --- a/gui/console.cpp +++ b/gui/console.cpp @@ -112,8 +112,7 @@ void ConsoleDialog::init() { scrollBarWidth = kBigScrollBarWidth; else scrollBarWidth = kNormalScrollBarWidth; - _scrollBar->setPos(_w - scrollBarWidth - 1, 0); - _scrollBar->setSize(scrollBarWidth, _h); + _scrollBar->resize(_w - scrollBarWidth - 1, 0, scrollBarWidth, _h); _drawingHints = THEME_HINT_FIRST_DRAW | THEME_HINT_SAVE_BACKGROUND;