diff options
Diffstat (limited to 'src/intro_gui.cpp')
-rw-r--r-- | src/intro_gui.cpp | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/src/intro_gui.cpp b/src/intro_gui.cpp index dcc55b131..9b2c8511b 100644 --- a/src/intro_gui.cpp +++ b/src/intro_gui.cpp @@ -83,16 +83,18 @@ struct SelectGameWindow : public Window { } } - virtual Dimension GetWidgetContentSize(int widget) + virtual void UpdateWidgetSize(int widget, Dimension *size, const Dimension &padding, Dimension *resize) { - Dimension d = {0, 0}; - if (widget == SGI_DIFFICULTIES) { - for (uint i = STR_DIFFICULTY_LEVEL_EASY; i <= STR_DIFFICULTY_LEVEL_CUSTOM; i++) { - SetDParam(0, i); - d = maxdim(d, GetStringBoundingBox(STR_INTRO_DIFFICULTY)); - } + if (widget != SGI_DIFFICULTIES) return; + + Dimension textdim = {0, 0}; + for (uint i = STR_DIFFICULTY_LEVEL_EASY; i <= STR_DIFFICULTY_LEVEL_CUSTOM; i++) { + SetDParam(0, i); + textdim = maxdim(textdim, GetStringBoundingBox(STR_INTRO_DIFFICULTY)); } - return d; + textdim.width += padding.width; + textdim.height += padding.height; + *size = maxdim(*size, textdim); } virtual void OnClick(Point pt, int widget) |