From 36576371c05edf9a3498196d7ebdb8824a6910d1 Mon Sep 17 00:00:00 2001 From: alberth Date: Sat, 18 Jul 2009 10:46:55 +0000 Subject: (svn r16871) -Codechange: Generalize GetWidgetContentSize to UpdateWidgetSize for better control over widget size and resize steps. --- src/intro_gui.cpp | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) (limited to 'src/intro_gui.cpp') 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) -- cgit v1.2.3-70-g09d2