mirror of
https://github.com/libretro/scummvm.git
synced 2025-02-24 05:01:43 +00:00
GUI: Fix scrollbars
- removed +1px in ListWidget, added in lordhoto's 2007 commit 68eb28a (aka r29971 in svn) `Fix for bug #1670082 "GUI: Modern theme gfx glitch in launcher".`, because it made clip this last line of scrollbar in all themes, which doesn't look good. In 2007 theme was written in .ini, which is not the case now. I don't see any glitches after removing this "fix"; - fixed how scrollbar top and bottom scroll buttons are drawn in ThemeEngine::drawScrollbar: there were these weird magic numbers, but in reality extra space that buttons should occupy is hardcoded in scrollbar.cpp (ScrollBarWidget) and is just +1px.
This commit is contained in:
parent
32a997d243
commit
c91bcbfb94
@ -1030,7 +1030,7 @@ void ThemeEngine::drawScrollbar(const Common::Rect &r, int sliderY, int sliderHe
|
||||
drawDD(kDDScrollbarBase, r);
|
||||
|
||||
Common::Rect r2 = r;
|
||||
const int buttonExtra = (r.width() * 120) / 100;
|
||||
const int buttonExtra = r.width() + 1; // scrollbar.cpp's UP_DOWN_BOX_HEIGHT
|
||||
|
||||
r2.bottom = r2.top + buttonExtra;
|
||||
drawDD(scrollState == kScrollbarStateUp ? kDDScrollbarButtonHover : kDDScrollbarButtonIdle, r2,
|
||||
|
@ -41,7 +41,7 @@ ListWidget::ListWidget(Dialog *boss, const String &name, const char *tooltip, ui
|
||||
// This ensures that _entriesPerPage is properly initialized.
|
||||
reflowLayout();
|
||||
|
||||
_scrollBar = new ScrollBarWidget(this, _w - _scrollBarWidth + 1, 0, _scrollBarWidth, _h);
|
||||
_scrollBar = new ScrollBarWidget(this, _w - _scrollBarWidth, 0, _scrollBarWidth, _h);
|
||||
_scrollBar->setTarget(this);
|
||||
|
||||
setFlags(WIDGET_ENABLED | WIDGET_CLEARBG | WIDGET_RETAIN_FOCUS | WIDGET_WANT_TICKLE);
|
||||
@ -72,7 +72,7 @@ ListWidget::ListWidget(Dialog *boss, int x, int y, int w, int h, const char *too
|
||||
// This ensures that _entriesPerPage is properly initialized.
|
||||
reflowLayout();
|
||||
|
||||
_scrollBar = new ScrollBarWidget(this, _w - _scrollBarWidth + 1, 0, _scrollBarWidth, _h);
|
||||
_scrollBar = new ScrollBarWidget(this, _w - _scrollBarWidth, 0, _scrollBarWidth, _h);
|
||||
_scrollBar->setTarget(this);
|
||||
|
||||
setFlags(WIDGET_ENABLED | WIDGET_CLEARBG | WIDGET_RETAIN_FOCUS | WIDGET_WANT_TICKLE);
|
||||
@ -658,7 +658,7 @@ void ListWidget::reflowLayout() {
|
||||
assert(_entriesPerPage > 0);
|
||||
|
||||
if (_scrollBar) {
|
||||
_scrollBar->resize(_w - _scrollBarWidth + 1, 0, _scrollBarWidth, _h);
|
||||
_scrollBar->resize(_w - _scrollBarWidth, 0, _scrollBarWidth, _h);
|
||||
scrollBarRecalc();
|
||||
scrollToCurrent();
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user