|
|
|
@ -389,29 +389,29 @@ struct CompanyFinancesWindow : Window {
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void UpdateWidgetSize(WidgetID widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
|
|
|
|
void UpdateWidgetSize(WidgetID widget, Dimension &size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension &fill, [[maybe_unused]] Dimension &resize) override
|
|
|
|
|
{
|
|
|
|
|
switch (widget) {
|
|
|
|
|
case WID_CF_EXPS_CATEGORY:
|
|
|
|
|
size->width = GetMaxCategoriesWidth();
|
|
|
|
|
size->height = GetTotalCategoriesHeight();
|
|
|
|
|
size.width = GetMaxCategoriesWidth();
|
|
|
|
|
size.height = GetTotalCategoriesHeight();
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
|
|
case WID_CF_EXPS_PRICE1:
|
|
|
|
|
case WID_CF_EXPS_PRICE2:
|
|
|
|
|
case WID_CF_EXPS_PRICE3:
|
|
|
|
|
size->height = GetTotalCategoriesHeight();
|
|
|
|
|
size.height = GetTotalCategoriesHeight();
|
|
|
|
|
[[fallthrough]];
|
|
|
|
|
|
|
|
|
|
case WID_CF_BALANCE_VALUE:
|
|
|
|
|
case WID_CF_LOAN_VALUE:
|
|
|
|
|
case WID_CF_OWN_VALUE:
|
|
|
|
|
SetDParamMaxValue(0, CompanyFinancesWindow::max_money);
|
|
|
|
|
size->width = std::max(GetStringBoundingBox(STR_FINANCES_NEGATIVE_INCOME).width, GetStringBoundingBox(STR_FINANCES_POSITIVE_INCOME).width) + padding.width;
|
|
|
|
|
size.width = std::max(GetStringBoundingBox(STR_FINANCES_NEGATIVE_INCOME).width, GetStringBoundingBox(STR_FINANCES_POSITIVE_INCOME).width) + padding.width;
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
|
|
case WID_CF_INTEREST_RATE:
|
|
|
|
|
size->height = GetCharacterHeight(FS_NORMAL);
|
|
|
|
|
size.height = GetCharacterHeight(FS_NORMAL);
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
@ -718,7 +718,7 @@ public:
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void UpdateWidgetSize(WidgetID widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
|
|
|
|
void UpdateWidgetSize(WidgetID widget, Dimension &size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension &fill, [[maybe_unused]] Dimension &resize) override
|
|
|
|
|
{
|
|
|
|
|
switch (widget) {
|
|
|
|
|
case WID_SCL_SPACER_DROPDOWN: {
|
|
|
|
@ -736,7 +736,7 @@ public:
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
size->width = std::max(size->width, 5 + d.width + padding.width);
|
|
|
|
|
size.width = std::max(size.width, 5 + d.width + padding.width);
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -745,15 +745,15 @@ public:
|
|
|
|
|
this->square = GetSpriteSize(SPR_SQUARE);
|
|
|
|
|
this->line_height = std::max(this->square.height, (uint)GetCharacterHeight(FS_NORMAL)) + padding.height;
|
|
|
|
|
|
|
|
|
|
size->height = 5 * this->line_height;
|
|
|
|
|
resize->width = 1;
|
|
|
|
|
resize->height = this->line_height;
|
|
|
|
|
size.height = 5 * this->line_height;
|
|
|
|
|
resize.width = 1;
|
|
|
|
|
resize.height = this->line_height;
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
case WID_SCL_SEC_COL_DROPDOWN:
|
|
|
|
|
if (!_loaded_newgrf_features.has_2CC) {
|
|
|
|
|
size->width = 0;
|
|
|
|
|
size.width = 0;
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
[[fallthrough]];
|
|
|
|
@ -762,9 +762,9 @@ public:
|
|
|
|
|
this->square = GetSpriteSize(SPR_SQUARE);
|
|
|
|
|
int string_padding = this->square.width + WidgetDimensions::scaled.hsep_normal + padding.width;
|
|
|
|
|
for (Colours colour = COLOUR_BEGIN; colour != COLOUR_END; colour++) {
|
|
|
|
|
size->width = std::max(size->width, GetStringBoundingBox(STR_COLOUR_DARK_BLUE + colour).width + string_padding);
|
|
|
|
|
size.width = std::max(size.width, GetStringBoundingBox(STR_COLOUR_DARK_BLUE + colour).width + string_padding);
|
|
|
|
|
}
|
|
|
|
|
size->width = std::max(size->width, GetStringBoundingBox(STR_COLOUR_DEFAULT).width + string_padding);
|
|
|
|
|
size.width = std::max(size.width, GetStringBoundingBox(STR_COLOUR_DEFAULT).width + string_padding);
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
@ -1405,31 +1405,31 @@ public:
|
|
|
|
|
this->number_dim = number_dim;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void UpdateWidgetSize(WidgetID widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
|
|
|
|
void UpdateWidgetSize(WidgetID widget, Dimension &size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension &fill, [[maybe_unused]] Dimension &resize) override
|
|
|
|
|
{
|
|
|
|
|
switch (widget) {
|
|
|
|
|
case WID_SCMF_HAS_MOUSTACHE_EARRING_TEXT:
|
|
|
|
|
*size = maxdim(*size, GetStringBoundingBox(STR_FACE_EARRING));
|
|
|
|
|
*size = maxdim(*size, GetStringBoundingBox(STR_FACE_MOUSTACHE));
|
|
|
|
|
size = maxdim(size, GetStringBoundingBox(STR_FACE_EARRING));
|
|
|
|
|
size = maxdim(size, GetStringBoundingBox(STR_FACE_MOUSTACHE));
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
|
|
case WID_SCMF_TIE_EARRING_TEXT:
|
|
|
|
|
*size = maxdim(*size, GetStringBoundingBox(STR_FACE_EARRING));
|
|
|
|
|
*size = maxdim(*size, GetStringBoundingBox(STR_FACE_TIE));
|
|
|
|
|
size = maxdim(size, GetStringBoundingBox(STR_FACE_EARRING));
|
|
|
|
|
size = maxdim(size, GetStringBoundingBox(STR_FACE_TIE));
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
|
|
case WID_SCMF_LIPS_MOUSTACHE_TEXT:
|
|
|
|
|
*size = maxdim(*size, GetStringBoundingBox(STR_FACE_LIPS));
|
|
|
|
|
*size = maxdim(*size, GetStringBoundingBox(STR_FACE_MOUSTACHE));
|
|
|
|
|
size = maxdim(size, GetStringBoundingBox(STR_FACE_LIPS));
|
|
|
|
|
size = maxdim(size, GetStringBoundingBox(STR_FACE_MOUSTACHE));
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
|
|
case WID_SCMF_FACE:
|
|
|
|
|
*size = maxdim(*size, GetScaledSpriteSize(SPR_GRADIENT));
|
|
|
|
|
size = maxdim(size, GetScaledSpriteSize(SPR_GRADIENT));
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
|
|
case WID_SCMF_HAS_MOUSTACHE_EARRING:
|
|
|
|
|
case WID_SCMF_HAS_GLASSES:
|
|
|
|
|
*size = this->yesno_dim;
|
|
|
|
|
size = this->yesno_dim;
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
|
|
case WID_SCMF_EYECOLOUR:
|
|
|
|
@ -1442,7 +1442,7 @@ public:
|
|
|
|
|
case WID_SCMF_COLLAR:
|
|
|
|
|
case WID_SCMF_TIE_EARRING:
|
|
|
|
|
case WID_SCMF_GLASSES:
|
|
|
|
|
*size = this->number_dim;
|
|
|
|
|
size = this->number_dim;
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
@ -1840,7 +1840,7 @@ struct CompanyInfrastructureWindow : Window
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void UpdateWidgetSize(WidgetID widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
|
|
|
|
void UpdateWidgetSize(WidgetID widget, Dimension &size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension &fill, [[maybe_unused]] Dimension &resize) override
|
|
|
|
|
{
|
|
|
|
|
const Company *c = Company::Get((CompanyID)this->window_number);
|
|
|
|
|
|
|
|
|
@ -1848,20 +1848,20 @@ struct CompanyInfrastructureWindow : Window
|
|
|
|
|
case WID_CI_RAIL_DESC: {
|
|
|
|
|
uint lines = 1; // Starts at 1 because a line is also required for the section title
|
|
|
|
|
|
|
|
|
|
size->width = std::max(size->width, GetStringBoundingBox(STR_COMPANY_INFRASTRUCTURE_VIEW_RAIL_SECT).width + padding.width);
|
|
|
|
|
size.width = std::max(size.width, GetStringBoundingBox(STR_COMPANY_INFRASTRUCTURE_VIEW_RAIL_SECT).width + padding.width);
|
|
|
|
|
|
|
|
|
|
for (const auto &rt : _sorted_railtypes) {
|
|
|
|
|
if (HasBit(this->railtypes, rt)) {
|
|
|
|
|
lines++;
|
|
|
|
|
size->width = std::max(size->width, GetStringBoundingBox(GetRailTypeInfo(rt)->strings.name).width + padding.width + WidgetDimensions::scaled.hsep_indent);
|
|
|
|
|
size.width = std::max(size.width, GetStringBoundingBox(GetRailTypeInfo(rt)->strings.name).width + padding.width + WidgetDimensions::scaled.hsep_indent);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if (this->railtypes != RAILTYPES_NONE) {
|
|
|
|
|
lines++;
|
|
|
|
|
size->width = std::max(size->width, GetStringBoundingBox(STR_COMPANY_INFRASTRUCTURE_VIEW_SIGNALS).width + padding.width + WidgetDimensions::scaled.hsep_indent);
|
|
|
|
|
size.width = std::max(size.width, GetStringBoundingBox(STR_COMPANY_INFRASTRUCTURE_VIEW_SIGNALS).width + padding.width + WidgetDimensions::scaled.hsep_indent);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
size->height = std::max(size->height, lines * GetCharacterHeight(FS_NORMAL));
|
|
|
|
|
size.height = std::max(size.height, lines * GetCharacterHeight(FS_NORMAL));
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -1869,28 +1869,28 @@ struct CompanyInfrastructureWindow : Window
|
|
|
|
|
case WID_CI_TRAM_DESC: {
|
|
|
|
|
uint lines = 1; // Starts at 1 because a line is also required for the section title
|
|
|
|
|
|
|
|
|
|
size->width = std::max(size->width, GetStringBoundingBox(widget == WID_CI_ROAD_DESC ? STR_COMPANY_INFRASTRUCTURE_VIEW_ROAD_SECT : STR_COMPANY_INFRASTRUCTURE_VIEW_TRAM_SECT).width + padding.width);
|
|
|
|
|
size.width = std::max(size.width, GetStringBoundingBox(widget == WID_CI_ROAD_DESC ? STR_COMPANY_INFRASTRUCTURE_VIEW_ROAD_SECT : STR_COMPANY_INFRASTRUCTURE_VIEW_TRAM_SECT).width + padding.width);
|
|
|
|
|
|
|
|
|
|
for (const auto &rt : _sorted_roadtypes) {
|
|
|
|
|
if (HasBit(this->roadtypes, rt) && RoadTypeIsRoad(rt) == (widget == WID_CI_ROAD_DESC)) {
|
|
|
|
|
lines++;
|
|
|
|
|
size->width = std::max(size->width, GetStringBoundingBox(GetRoadTypeInfo(rt)->strings.name).width + padding.width + WidgetDimensions::scaled.hsep_indent);
|
|
|
|
|
size.width = std::max(size.width, GetStringBoundingBox(GetRoadTypeInfo(rt)->strings.name).width + padding.width + WidgetDimensions::scaled.hsep_indent);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
size->height = std::max(size->height, lines * GetCharacterHeight(FS_NORMAL));
|
|
|
|
|
size.height = std::max(size.height, lines * GetCharacterHeight(FS_NORMAL));
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
case WID_CI_WATER_DESC:
|
|
|
|
|
size->width = std::max(size->width, GetStringBoundingBox(STR_COMPANY_INFRASTRUCTURE_VIEW_WATER_SECT).width + padding.width);
|
|
|
|
|
size->width = std::max(size->width, GetStringBoundingBox(STR_COMPANY_INFRASTRUCTURE_VIEW_CANALS).width + padding.width + WidgetDimensions::scaled.hsep_indent);
|
|
|
|
|
size.width = std::max(size.width, GetStringBoundingBox(STR_COMPANY_INFRASTRUCTURE_VIEW_WATER_SECT).width + padding.width);
|
|
|
|
|
size.width = std::max(size.width, GetStringBoundingBox(STR_COMPANY_INFRASTRUCTURE_VIEW_CANALS).width + padding.width + WidgetDimensions::scaled.hsep_indent);
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
|
|
case WID_CI_STATION_DESC:
|
|
|
|
|
size->width = std::max(size->width, GetStringBoundingBox(STR_COMPANY_INFRASTRUCTURE_VIEW_STATION_SECT).width + padding.width);
|
|
|
|
|
size->width = std::max(size->width, GetStringBoundingBox(STR_COMPANY_INFRASTRUCTURE_VIEW_STATIONS).width + padding.width + WidgetDimensions::scaled.hsep_indent);
|
|
|
|
|
size->width = std::max(size->width, GetStringBoundingBox(STR_COMPANY_INFRASTRUCTURE_VIEW_AIRPORTS).width + padding.width + WidgetDimensions::scaled.hsep_indent);
|
|
|
|
|
size.width = std::max(size.width, GetStringBoundingBox(STR_COMPANY_INFRASTRUCTURE_VIEW_STATION_SECT).width + padding.width);
|
|
|
|
|
size.width = std::max(size.width, GetStringBoundingBox(STR_COMPANY_INFRASTRUCTURE_VIEW_STATIONS).width + padding.width + WidgetDimensions::scaled.hsep_indent);
|
|
|
|
|
size.width = std::max(size.width, GetStringBoundingBox(STR_COMPANY_INFRASTRUCTURE_VIEW_AIRPORTS).width + padding.width + WidgetDimensions::scaled.hsep_indent);
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
|
|
case WID_CI_RAIL_COUNT:
|
|
|
|
@ -1930,17 +1930,17 @@ struct CompanyInfrastructureWindow : Window
|
|
|
|
|
StringID str_total = TimerGameEconomy::UsingWallclockUnits() ? STR_COMPANY_INFRASTRUCTURE_VIEW_TOTAL_PERIOD : STR_COMPANY_INFRASTRUCTURE_VIEW_TOTAL_YEAR;
|
|
|
|
|
SetDParamMaxValue(0, this->GetTotalMaintenanceCost() * 12); // Convert to per year
|
|
|
|
|
this->total_width = GetStringBoundingBox(str_total).width + WidgetDimensions::scaled.hsep_indent * 2;
|
|
|
|
|
size->width = std::max(size->width, this->total_width);
|
|
|
|
|
size.width = std::max(size.width, this->total_width);
|
|
|
|
|
|
|
|
|
|
SetDParamMaxValue(0, max_cost * 12); // Convert to per year
|
|
|
|
|
count_width += std::max(this->total_width, GetStringBoundingBox(str_total).width);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
size->width = std::max(size->width, count_width);
|
|
|
|
|
size.width = std::max(size.width, count_width);
|
|
|
|
|
|
|
|
|
|
/* Set height of the total line. */
|
|
|
|
|
if (widget == WID_CI_TOTAL) {
|
|
|
|
|
size->height = _settings_game.economy.infrastructure_maintenance ? std::max<uint>(size->height, WidgetDimensions::scaled.vsep_normal + GetCharacterHeight(FS_NORMAL)) : 0;
|
|
|
|
|
size.height = _settings_game.economy.infrastructure_maintenance ? std::max<uint>(size.height, WidgetDimensions::scaled.vsep_normal + GetCharacterHeight(FS_NORMAL)) : 0;
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
@ -2249,11 +2249,11 @@ struct CompanyWindow : Window
|
|
|
|
|
this->DrawWidgets();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void UpdateWidgetSize(WidgetID widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
|
|
|
|
void UpdateWidgetSize(WidgetID widget, Dimension &size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension &fill, [[maybe_unused]] Dimension &resize) override
|
|
|
|
|
{
|
|
|
|
|
switch (widget) {
|
|
|
|
|
case WID_C_FACE:
|
|
|
|
|
*size = maxdim(*size, GetScaledSpriteSize(SPR_GRADIENT));
|
|
|
|
|
size = maxdim(size, GetScaledSpriteSize(SPR_GRADIENT));
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
|
|
case WID_C_DESC_COLOUR_SCHEME_EXAMPLE: {
|
|
|
|
@ -2261,31 +2261,31 @@ struct CompanyWindow : Window
|
|
|
|
|
Dimension d = GetSpriteSize(SPR_VEH_BUS_SW_VIEW, &offset);
|
|
|
|
|
d.width -= offset.x;
|
|
|
|
|
d.height -= offset.y;
|
|
|
|
|
*size = maxdim(*size, d);
|
|
|
|
|
size = maxdim(size, d);
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
case WID_C_DESC_COMPANY_VALUE:
|
|
|
|
|
SetDParam(0, INT64_MAX); // Arguably the maximum company value
|
|
|
|
|
size->width = GetStringBoundingBox(STR_COMPANY_VIEW_COMPANY_VALUE).width;
|
|
|
|
|
size.width = GetStringBoundingBox(STR_COMPANY_VIEW_COMPANY_VALUE).width;
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
|
|
case WID_C_DESC_VEHICLE_COUNTS:
|
|
|
|
|
SetDParamMaxValue(0, 5000); // Maximum number of vehicles
|
|
|
|
|
for (uint i = 0; i < lengthof(_company_view_vehicle_count_strings); i++) {
|
|
|
|
|
size->width = std::max(size->width, GetStringBoundingBox(_company_view_vehicle_count_strings[i]).width + padding.width);
|
|
|
|
|
size.width = std::max(size.width, GetStringBoundingBox(_company_view_vehicle_count_strings[i]).width + padding.width);
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
|
|
case WID_C_DESC_INFRASTRUCTURE_COUNTS:
|
|
|
|
|
SetDParamMaxValue(0, UINT_MAX);
|
|
|
|
|
size->width = GetStringBoundingBox(STR_COMPANY_VIEW_INFRASTRUCTURE_RAIL).width;
|
|
|
|
|
size->width = std::max(size->width, GetStringBoundingBox(STR_COMPANY_VIEW_INFRASTRUCTURE_ROAD).width);
|
|
|
|
|
size->width = std::max(size->width, GetStringBoundingBox(STR_COMPANY_VIEW_INFRASTRUCTURE_WATER).width);
|
|
|
|
|
size->width = std::max(size->width, GetStringBoundingBox(STR_COMPANY_VIEW_INFRASTRUCTURE_STATION).width);
|
|
|
|
|
size->width = std::max(size->width, GetStringBoundingBox(STR_COMPANY_VIEW_INFRASTRUCTURE_AIRPORT).width);
|
|
|
|
|
size->width = std::max(size->width, GetStringBoundingBox(STR_COMPANY_VIEW_INFRASTRUCTURE_NONE).width);
|
|
|
|
|
size->width += padding.width;
|
|
|
|
|
size.width = GetStringBoundingBox(STR_COMPANY_VIEW_INFRASTRUCTURE_RAIL).width;
|
|
|
|
|
size.width = std::max(size.width, GetStringBoundingBox(STR_COMPANY_VIEW_INFRASTRUCTURE_ROAD).width);
|
|
|
|
|
size.width = std::max(size.width, GetStringBoundingBox(STR_COMPANY_VIEW_INFRASTRUCTURE_WATER).width);
|
|
|
|
|
size.width = std::max(size.width, GetStringBoundingBox(STR_COMPANY_VIEW_INFRASTRUCTURE_STATION).width);
|
|
|
|
|
size.width = std::max(size.width, GetStringBoundingBox(STR_COMPANY_VIEW_INFRASTRUCTURE_AIRPORT).width);
|
|
|
|
|
size.width = std::max(size.width, GetStringBoundingBox(STR_COMPANY_VIEW_INFRASTRUCTURE_NONE).width);
|
|
|
|
|
size.width += padding.width;
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
|
|
case WID_C_VIEW_HQ:
|
|
|
|
@ -2296,19 +2296,19 @@ struct CompanyWindow : Window
|
|
|
|
|
case WID_C_HOSTILE_TAKEOVER:
|
|
|
|
|
case WID_C_COMPANY_PASSWORD:
|
|
|
|
|
case WID_C_COMPANY_JOIN:
|
|
|
|
|
size->width = GetStringBoundingBox(STR_COMPANY_VIEW_VIEW_HQ_BUTTON).width;
|
|
|
|
|
size->width = std::max(size->width, GetStringBoundingBox(STR_COMPANY_VIEW_BUILD_HQ_BUTTON).width);
|
|
|
|
|
size->width = std::max(size->width, GetStringBoundingBox(STR_COMPANY_VIEW_RELOCATE_HQ).width);
|
|
|
|
|
size->width = std::max(size->width, GetStringBoundingBox(STR_COMPANY_VIEW_INFRASTRUCTURE_BUTTON).width);
|
|
|
|
|
size->width = std::max(size->width, GetStringBoundingBox(STR_COMPANY_VIEW_GIVE_MONEY_BUTTON).width);
|
|
|
|
|
size->width = std::max(size->width, GetStringBoundingBox(STR_COMPANY_VIEW_HOSTILE_TAKEOVER_BUTTON).width);
|
|
|
|
|
size->width = std::max(size->width, GetStringBoundingBox(STR_COMPANY_VIEW_PASSWORD).width);
|
|
|
|
|
size->width = std::max(size->width, GetStringBoundingBox(STR_COMPANY_VIEW_JOIN).width);
|
|
|
|
|
size->width += padding.width;
|
|
|
|
|
size.width = GetStringBoundingBox(STR_COMPANY_VIEW_VIEW_HQ_BUTTON).width;
|
|
|
|
|
size.width = std::max(size.width, GetStringBoundingBox(STR_COMPANY_VIEW_BUILD_HQ_BUTTON).width);
|
|
|
|
|
size.width = std::max(size.width, GetStringBoundingBox(STR_COMPANY_VIEW_RELOCATE_HQ).width);
|
|
|
|
|
size.width = std::max(size.width, GetStringBoundingBox(STR_COMPANY_VIEW_INFRASTRUCTURE_BUTTON).width);
|
|
|
|
|
size.width = std::max(size.width, GetStringBoundingBox(STR_COMPANY_VIEW_GIVE_MONEY_BUTTON).width);
|
|
|
|
|
size.width = std::max(size.width, GetStringBoundingBox(STR_COMPANY_VIEW_HOSTILE_TAKEOVER_BUTTON).width);
|
|
|
|
|
size.width = std::max(size.width, GetStringBoundingBox(STR_COMPANY_VIEW_PASSWORD).width);
|
|
|
|
|
size.width = std::max(size.width, GetStringBoundingBox(STR_COMPANY_VIEW_JOIN).width);
|
|
|
|
|
size.width += padding.width;
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
|
|
case WID_C_HAS_PASSWORD:
|
|
|
|
|
if (_networking) *size = maxdim(*size, GetSpriteSize(SPR_LOCK));
|
|
|
|
|
if (_networking) size = maxdim(size, GetSpriteSize(SPR_LOCK));
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
@ -2622,18 +2622,18 @@ struct BuyCompanyWindow : Window {
|
|
|
|
|
this->company_value = hostile_takeover ? CalculateHostileTakeoverValue(c) : c->bankrupt_value;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void UpdateWidgetSize(WidgetID widget, Dimension *size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension *fill, [[maybe_unused]] Dimension *resize) override
|
|
|
|
|
void UpdateWidgetSize(WidgetID widget, Dimension &size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension &fill, [[maybe_unused]] Dimension &resize) override
|
|
|
|
|
{
|
|
|
|
|
switch (widget) {
|
|
|
|
|
case WID_BC_FACE:
|
|
|
|
|
*size = GetScaledSpriteSize(SPR_GRADIENT);
|
|
|
|
|
size = GetScaledSpriteSize(SPR_GRADIENT);
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
|
|
case WID_BC_QUESTION:
|
|
|
|
|
const Company *c = Company::Get((CompanyID)this->window_number);
|
|
|
|
|
SetDParam(0, c->index);
|
|
|
|
|
SetDParam(1, this->company_value);
|
|
|
|
|
size->height = GetStringHeight(this->hostile_takeover ? STR_BUY_COMPANY_HOSTILE_TAKEOVER : STR_BUY_COMPANY_MESSAGE, size->width);
|
|
|
|
|
size.height = GetStringHeight(this->hostile_takeover ? STR_BUY_COMPANY_HOSTILE_TAKEOVER : STR_BUY_COMPANY_MESSAGE, size.width);
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|