summaryrefslogtreecommitdiff
path: root/src/intro_gui.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/intro_gui.cpp')
-rw-r--r--src/intro_gui.cpp18
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)