| 1984 | } |
| 1985 | |
| 1986 | void UpdateWidgetSize(WidgetID widget, Dimension &size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension &fill, [[maybe_unused]] Dimension &resize) override |
| 1987 | { |
| 1988 | switch (widget) { |
| 1989 | case WID_C_FACE: |
| 1990 | size = maxdim(size, GetScaledSpriteSize(SPR_GRADIENT)); |
| 1991 | break; |
| 1992 | |
| 1993 | case WID_C_DESC_COLOUR_SCHEME_EXAMPLE: { |
| 1994 | Point offset; |
| 1995 | Dimension d = GetSpriteSize(SPR_VEH_BUS_SW_VIEW, &offset); |
| 1996 | d.width -= offset.x; |
| 1997 | d.height -= offset.y; |
| 1998 | size = maxdim(size, d); |
| 1999 | break; |
| 2000 | } |
| 2001 | |
| 2002 | case WID_C_DESC_COMPANY_VALUE: |
| 2003 | /* INT64_MAX is arguably the maximum company value */ |
| 2004 | size.width = GetStringBoundingBox(GetString(STR_COMPANY_VIEW_COMPANY_VALUE, INT64_MAX)).width; |
| 2005 | break; |
| 2006 | |
| 2007 | case WID_C_DESC_VEHICLE_COUNTS: { |
| 2008 | uint64_t max_value = GetParamMaxValue(5000); // Maximum number of vehicles |
| 2009 | for (const auto &count_string : _company_view_vehicle_count_strings) { |
| 2010 | size.width = std::max(size.width, GetStringBoundingBox(GetString(count_string, max_value)).width + padding.width); |
| 2011 | } |
| 2012 | break; |
| 2013 | } |
| 2014 | |
| 2015 | case WID_C_DESC_INFRASTRUCTURE_COUNTS: { |
| 2016 | uint64_t max_value = GetParamMaxValue(UINT_MAX); |
| 2017 | size.width = GetStringBoundingBox(GetString(STR_COMPANY_VIEW_INFRASTRUCTURE_RAIL, max_value)).width; |
| 2018 | size.width = std::max(size.width, GetStringBoundingBox(GetString(STR_COMPANY_VIEW_INFRASTRUCTURE_ROAD, max_value)).width); |
| 2019 | size.width = std::max(size.width, GetStringBoundingBox(GetString(STR_COMPANY_VIEW_INFRASTRUCTURE_WATER, max_value)).width); |
| 2020 | size.width = std::max(size.width, GetStringBoundingBox(GetString(STR_COMPANY_VIEW_INFRASTRUCTURE_STATION, max_value)).width); |
| 2021 | size.width = std::max(size.width, GetStringBoundingBox(GetString(STR_COMPANY_VIEW_INFRASTRUCTURE_AIRPORT, max_value)).width); |
| 2022 | size.width = std::max(size.width, GetStringBoundingBox(GetString(STR_COMPANY_VIEW_INFRASTRUCTURE_NONE, max_value)).width); |
| 2023 | size.width += padding.width; |
| 2024 | break; |
| 2025 | } |
| 2026 | |
| 2027 | case WID_C_VIEW_HQ: |
| 2028 | case WID_C_BUILD_HQ: |
| 2029 | case WID_C_RELOCATE_HQ: |
| 2030 | case WID_C_VIEW_INFRASTRUCTURE: |
| 2031 | case WID_C_GIVE_MONEY: |
| 2032 | case WID_C_HOSTILE_TAKEOVER: |
| 2033 | case WID_C_COMPANY_JOIN: |
| 2034 | size.width = GetStringBoundingBox(STR_COMPANY_VIEW_VIEW_HQ_BUTTON).width; |
| 2035 | size.width = std::max(size.width, GetStringBoundingBox(STR_COMPANY_VIEW_BUILD_HQ_BUTTON).width); |
| 2036 | size.width = std::max(size.width, GetStringBoundingBox(STR_COMPANY_VIEW_RELOCATE_HQ).width); |
| 2037 | size.width = std::max(size.width, GetStringBoundingBox(STR_COMPANY_VIEW_INFRASTRUCTURE_BUTTON).width); |
| 2038 | size.width = std::max(size.width, GetStringBoundingBox(STR_COMPANY_VIEW_GIVE_MONEY_BUTTON).width); |
| 2039 | size.width = std::max(size.width, GetStringBoundingBox(STR_COMPANY_VIEW_HOSTILE_TAKEOVER_BUTTON).width); |
| 2040 | size.width = std::max(size.width, GetStringBoundingBox(STR_COMPANY_VIEW_JOIN).width); |
| 2041 | size.width += padding.width; |
| 2042 | break; |
| 2043 | } |
nothing calls this directly
no test coverage detected