(svn r16871) -Codechange: Generalize GetWidgetContentSize to UpdateWidgetSize for better control over widget size and resize steps.
This commit is contained in:
@@ -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)
|
||||
|
Reference in New Issue
Block a user