From d0704baab2a1e1f4a7d643d4f153181eba746476 Mon Sep 17 00:00:00 2001 From: Tulio Leao Date: Fri, 1 May 2020 15:58:36 -0300 Subject: [PATCH] Make window_dropdown_show_text() use ScreenCoordsXY --- src/openrct2-ui/interface/Dropdown.h | 3 +- src/openrct2-ui/windows/Dropdown.cpp | 4 +-- .../windows/EditorObjectSelection.cpp | 2 +- src/openrct2-ui/windows/Options.cpp | 2 +- src/openrct2-ui/windows/Park.cpp | 3 +- src/openrct2-ui/windows/Ride.cpp | 8 +++--- src/openrct2-ui/windows/RideList.cpp | 2 +- src/openrct2-ui/windows/ServerList.cpp | 2 +- src/openrct2-ui/windows/Staff.cpp | 2 +- src/openrct2-ui/windows/TitleMenu.cpp | 2 +- src/openrct2-ui/windows/TopToolbar.cpp | 28 +++++++++---------- 11 files changed, 30 insertions(+), 28 deletions(-) diff --git a/src/openrct2-ui/interface/Dropdown.h b/src/openrct2-ui/interface/Dropdown.h index ee6a1ab24b..0f3666c351 100644 --- a/src/openrct2-ui/interface/Dropdown.h +++ b/src/openrct2-ui/interface/Dropdown.h @@ -36,7 +36,8 @@ bool dropdown_is_disabled(int32_t index); void dropdown_set_checked(int32_t index, bool value); void dropdown_set_disabled(int32_t index, bool value); -void window_dropdown_show_text(int32_t x, int32_t y, int32_t extray, uint8_t colour, uint8_t flags, size_t num_items); +void window_dropdown_show_text( + const ScreenCoordsXY& screenPos, int32_t extray, uint8_t colour, uint8_t flags, size_t num_items); void window_dropdown_show_text_custom_width( const ScreenCoordsXY& screenPos, int32_t extray, uint8_t colour, uint8_t custom_height, uint8_t flags, size_t num_items, int32_t width); diff --git a/src/openrct2-ui/windows/Dropdown.cpp b/src/openrct2-ui/windows/Dropdown.cpp index 218317f85f..4d9eb099e9 100644 --- a/src/openrct2-ui/windows/Dropdown.cpp +++ b/src/openrct2-ui/windows/Dropdown.cpp @@ -134,7 +134,7 @@ static rct_window_event_list window_dropdown_events = { * @param num_items (bx) * @param colour (al) */ -void window_dropdown_show_text(int32_t x, int32_t y, int32_t extray, uint8_t colour, uint8_t flags, size_t num_items) +void window_dropdown_show_text(const ScreenCoordsXY& screenPos, int32_t extray, uint8_t colour, uint8_t flags, size_t num_items) { int32_t string_width, max_string_width; char buffer[256]; @@ -149,7 +149,7 @@ void window_dropdown_show_text(int32_t x, int32_t y, int32_t extray, uint8_t col max_string_width = std::max(string_width, max_string_width); } - window_dropdown_show_text_custom_width({ x, y }, extray, colour, 0, flags, num_items, max_string_width + 3); + window_dropdown_show_text_custom_width(screenPos, extray, colour, 0, flags, num_items, max_string_width + 3); } /** diff --git a/src/openrct2-ui/windows/EditorObjectSelection.cpp b/src/openrct2-ui/windows/EditorObjectSelection.cpp index a7378fb392..4833d9f7bc 100644 --- a/src/openrct2-ui/windows/EditorObjectSelection.cpp +++ b/src/openrct2-ui/windows/EditorObjectSelection.cpp @@ -607,7 +607,7 @@ void window_editor_object_selection_mousedown(rct_window* w, rct_widgetindex wid } window_dropdown_show_text( - w->windowPos.x + widget->left, w->windowPos.y + widget->top, widget->bottom - widget->top + 1, + { w->windowPos.x + widget->left, w->windowPos.y + widget->top }, widget->bottom - widget->top + 1, w->colours[widget->colour], DROPDOWN_FLAG_STAY_OPEN, _numSourceGameItems + numSelectionItems); for (int32_t i = 0; i < _numSourceGameItems; i++) diff --git a/src/openrct2-ui/windows/Options.cpp b/src/openrct2-ui/windows/Options.cpp index 93e9e6f64e..3ccfedd737 100644 --- a/src/openrct2-ui/windows/Options.cpp +++ b/src/openrct2-ui/windows/Options.cpp @@ -1331,7 +1331,7 @@ static void window_options_mousedown(rct_window* w, rct_widgetindex widgetIndex, } window_dropdown_show_text( - w->windowPos.x + widget->left, w->windowPos.y + widget->top, widget->bottom - widget->top + 1, + { w->windowPos.x + widget->left, w->windowPos.y + widget->top }, widget->bottom - widget->top + 1, w->colours[1], DROPDOWN_FLAG_STAY_OPEN, num_items); dropdown_set_checked(static_cast(title_get_current_sequence()), true); diff --git a/src/openrct2-ui/windows/Park.cpp b/src/openrct2-ui/windows/Park.cpp index 3a6ec73d05..e58480f909 100644 --- a/src/openrct2-ui/windows/Park.cpp +++ b/src/openrct2-ui/windows/Park.cpp @@ -697,7 +697,8 @@ static void window_park_entrance_mousedown(rct_window* w, rct_widgetindex widget gDropdownItemsArgs[0] = STR_CLOSE_PARK; gDropdownItemsArgs[1] = STR_OPEN_PARK; window_dropdown_show_text( - w->windowPos.x + widget->left, w->windowPos.y + widget->top, widget->bottom - widget->top + 1, w->colours[1], 0, 2); + { w->windowPos.x + widget->left, w->windowPos.y + widget->top }, widget->bottom - widget->top + 1, w->colours[1], 0, + 2); if (park_is_open()) { diff --git a/src/openrct2-ui/windows/Ride.cpp b/src/openrct2-ui/windows/Ride.cpp index aa63866398..a8696b2a4c 100644 --- a/src/openrct2-ui/windows/Ride.cpp +++ b/src/openrct2-ui/windows/Ride.cpp @@ -2254,7 +2254,7 @@ static void window_ride_show_open_dropdown(rct_window* w, rct_widget* widget) window_ride_set_dropdown(info, RIDE_STATUS_TESTING, STR_TEST_RIDE); window_ride_set_dropdown(info, RIDE_STATUS_OPEN, STR_OPEN_RIDE); window_dropdown_show_text( - w->windowPos.x + widget->left, w->windowPos.y + widget->top, widget->bottom - widget->top + 1, w->colours[1], 0, + { w->windowPos.x + widget->left, w->windowPos.y + widget->top }, widget->bottom - widget->top + 1, w->colours[1], 0, info.NumItems); dropdown_set_checked(info.CheckedIndex, true); gDropdownDefaultIndex = info.DefaultIndex; @@ -2297,7 +2297,7 @@ static void window_ride_show_ride_type_dropdown(rct_window* w, rct_widget* widge rct_widget* dropdownWidget = widget - 1; window_dropdown_show_text( - w->windowPos.x + dropdownWidget->left, w->windowPos.y + dropdownWidget->top, + { w->windowPos.x + dropdownWidget->left, w->windowPos.y + dropdownWidget->top }, dropdownWidget->bottom - dropdownWidget->top + 1, w->colours[1], DROPDOWN_FLAG_STAY_OPEN, RIDE_TYPE_COUNT); // Find the current ride type in the ordered list. @@ -4047,7 +4047,7 @@ static void window_ride_maintenance_mousedown(rct_window* w, rct_widgetindex wid else { window_dropdown_show_text( - w->windowPos.x + dropdownWidget->left, w->windowPos.y + dropdownWidget->top, + { w->windowPos.x + dropdownWidget->left, w->windowPos.y + dropdownWidget->top }, dropdownWidget->bottom - dropdownWidget->top + 1, w->colours[1], DROPDOWN_FLAG_STAY_OPEN, num_items); num_items = 1; @@ -5547,7 +5547,7 @@ static void window_ride_measurements_mousedown(rct_window* w, rct_widgetindex wi gDropdownItemsFormat[1] = STR_SAVE_TRACK_DESIGN_WITH_SCENERY_ITEM; window_dropdown_show_text( - w->windowPos.x + widget->left, w->windowPos.y + widget->top, widget->bottom - widget->top + 1, w->colours[1], + { w->windowPos.x + widget->left, w->windowPos.y + widget->top }, widget->bottom - widget->top + 1, w->colours[1], DROPDOWN_FLAG_STAY_OPEN, 2); gDropdownDefaultIndex = 0; if (gScreenFlags & SCREEN_FLAGS_TRACK_DESIGNER) diff --git a/src/openrct2-ui/windows/RideList.cpp b/src/openrct2-ui/windows/RideList.cpp index fb0ce20f8c..cd5f98dba1 100644 --- a/src/openrct2-ui/windows/RideList.cpp +++ b/src/openrct2-ui/windows/RideList.cpp @@ -320,7 +320,7 @@ static void window_ride_list_mousedown(rct_window* w, rct_widgetindex widgetInde gDropdownItemsFormat[0] = STR_CLOSE_ALL; gDropdownItemsFormat[1] = STR_OPEN_ALL; window_dropdown_show_text( - w->windowPos.x + widget->left, w->windowPos.y + widget->top, widget->bottom - widget->top, w->colours[1], 0, 2); + { w->windowPos.x + widget->left, w->windowPos.y + widget->top }, widget->bottom - widget->top, w->colours[1], 0, 2); } else if (widgetIndex == WIDX_INFORMATION_TYPE_DROPDOWN) { diff --git a/src/openrct2-ui/windows/ServerList.cpp b/src/openrct2-ui/windows/ServerList.cpp index 2ce8287239..f2df6ca291 100644 --- a/src/openrct2-ui/windows/ServerList.cpp +++ b/src/openrct2-ui/windows/ServerList.cpp @@ -284,7 +284,7 @@ static void window_server_list_scroll_mousedown(rct_window* w, int32_t scrollInd { gDropdownItemsFormat[1] = STR_ADD_TO_FAVOURITES; } - window_dropdown_show_text(ddx, ddy, 0, COLOUR_GREY, 0, 2); + window_dropdown_show_text({ ddx, ddy }, 0, COLOUR_GREY, 0, 2); } } diff --git a/src/openrct2-ui/windows/Staff.cpp b/src/openrct2-ui/windows/Staff.cpp index eea4b90294..75073758ab 100644 --- a/src/openrct2-ui/windows/Staff.cpp +++ b/src/openrct2-ui/windows/Staff.cpp @@ -570,7 +570,7 @@ void window_staff_overview_mousedown(rct_window* w, rct_widgetindex widgetIndex, int32_t x = widget->left + w->windowPos.x; int32_t y = widget->top + w->windowPos.y; int32_t extray = widget->bottom - widget->top + 1; - window_dropdown_show_text(x, y, extray, w->colours[1], 0, 2); + window_dropdown_show_text({ x, y }, extray, w->colours[1], 0, 2); gDropdownDefaultIndex = 0; Peep* peep = GET_PEEP(w->number); diff --git a/src/openrct2-ui/windows/TitleMenu.cpp b/src/openrct2-ui/windows/TitleMenu.cpp index 4db6d11eea..ed8e27cd2d 100644 --- a/src/openrct2-ui/windows/TitleMenu.cpp +++ b/src/openrct2-ui/windows/TitleMenu.cpp @@ -185,7 +185,7 @@ static void window_title_menu_mousedown(rct_window* w, rct_widgetindex widgetInd gDropdownItemsFormat[3] = STR_TRACK_DESIGNS_MANAGER; gDropdownItemsFormat[4] = STR_OPEN_USER_CONTENT_FOLDER; window_dropdown_show_text( - w->windowPos.x + widget->left, w->windowPos.y + widget->top, widget->bottom - widget->top + 1, + { w->windowPos.x + widget->left, w->windowPos.y + widget->top }, widget->bottom - widget->top + 1, TRANSLUCENT(w->colours[0]), DROPDOWN_FLAG_STAY_OPEN, 5); } } diff --git a/src/openrct2-ui/windows/TopToolbar.cpp b/src/openrct2-ui/windows/TopToolbar.cpp index 0b7e4e8343..265ac9856f 100644 --- a/src/openrct2-ui/windows/TopToolbar.cpp +++ b/src/openrct2-ui/windows/TopToolbar.cpp @@ -507,7 +507,7 @@ static void window_top_toolbar_mousedown(rct_window* w, rct_widgetindex widgetIn #endif } window_dropdown_show_text( - w->windowPos.x + widget->left, w->windowPos.y + widget->top, widget->bottom - widget->top + 1, + { w->windowPos.x + widget->left, w->windowPos.y + widget->top }, widget->bottom - widget->top + 1, w->colours[0] | 0x80, DROPDOWN_FLAG_STAY_OPEN, numItems); #ifndef DISABLE_TWITCH @@ -3299,8 +3299,8 @@ static void top_toolbar_init_map_menu(rct_window* w, rct_widget* widget) #endif window_dropdown_show_text( - w->windowPos.x + widget->left, w->windowPos.y + widget->top, widget->bottom - widget->top + 1, w->colours[1] | 0x80, 0, - i); + { w->windowPos.x + widget->left, w->windowPos.y + widget->top }, widget->bottom - widget->top + 1, w->colours[1] | 0x80, + 0, i); gDropdownDefaultIndex = DDIDX_SHOW_MAP; } @@ -3361,8 +3361,8 @@ static void top_toolbar_init_fastforward_menu(rct_window* w, rct_widget* widget) gDropdownItemsArgs[3] = STR_SPEED_TURBO; window_dropdown_show_text( - w->windowPos.x + widget->left, w->windowPos.y + widget->top, widget->bottom - widget->top + 1, w->colours[0] | 0x80, 0, - num_items); + { w->windowPos.x + widget->left, w->windowPos.y + widget->top }, widget->bottom - widget->top + 1, w->colours[0] | 0x80, + 0, num_items); // Set checkmarks if (gGameSpeed <= 4) @@ -3409,8 +3409,8 @@ static void top_toolbar_init_rotate_menu(rct_window* w, rct_widget* widget) gDropdownItemsFormat[1] = STR_ROTATE_ANTI_CLOCKWISE; window_dropdown_show_text( - w->windowPos.x + widget->left, w->windowPos.y + widget->top, widget->bottom - widget->top + 1, w->colours[1] | 0x80, 0, - 2); + { w->windowPos.x + widget->left, w->windowPos.y + widget->top }, widget->bottom - widget->top + 1, w->colours[1] | 0x80, + 0, 2); gDropdownDefaultIndex = DDIDX_ROTATE_CLOCKWISE; } @@ -3462,8 +3462,8 @@ static void top_toolbar_init_cheats_menu(rct_window* w, rct_widget* widget) gDropdownItemsArgs[DDIDX_DISABLE_SUPPORT_LIMITS] = STR_DISABLE_SUPPORT_LIMITS; window_dropdown_show_text( - w->windowPos.x + widget->left, w->windowPos.y + widget->top, widget->bottom - widget->top + 1, w->colours[0] | 0x80, 0, - TOP_TOOLBAR_CHEATS_COUNT); + { w->windowPos.x + widget->left, w->windowPos.y + widget->top }, widget->bottom - widget->top + 1, w->colours[0] | 0x80, + 0, TOP_TOOLBAR_CHEATS_COUNT); // Disable items that are not yet available in multiplayer if (network_get_mode() != NETWORK_MODE_NONE) @@ -3540,7 +3540,7 @@ static void top_toolbar_init_debug_menu(rct_window* w, rct_widget* widget) gDropdownItemsArgs[DDIDX_DEBUG_PAINT] = STR_DEBUG_DROPDOWN_DEBUG_PAINT; window_dropdown_show_text( - w->windowPos.x + widget->left, w->windowPos.y + widget->top, widget->bottom - widget->top + 1, w->colours[0] | 0x80, + { w->windowPos.x + widget->left, w->windowPos.y + widget->top }, widget->bottom - widget->top + 1, w->colours[0] | 0x80, DROPDOWN_FLAG_STAY_OPEN, TOP_TOOLBAR_DEBUG_COUNT); dropdown_set_checked(DDIDX_DEBUG_PAINT, window_find_by_class(WC_DEBUG_PAINT) != nullptr); @@ -3553,8 +3553,8 @@ static void top_toolbar_init_network_menu(rct_window* w, rct_widget* widget) gDropdownItemsFormat[DDIDX_MULTIPLAYER_RECONNECT] = STR_MULTIPLAYER_RECONNECT; window_dropdown_show_text( - w->windowPos.x + widget->left, w->windowPos.y + widget->top, widget->bottom - widget->top + 1, w->colours[0] | 0x80, 0, - TOP_TOOLBAR_NETWORK_COUNT); + { w->windowPos.x + widget->left, w->windowPos.y + widget->top }, widget->bottom - widget->top + 1, w->colours[0] | 0x80, + 0, TOP_TOOLBAR_NETWORK_COUNT); dropdown_set_disabled(DDIDX_MULTIPLAYER_RECONNECT, !network_is_desynchronised()); @@ -3646,8 +3646,8 @@ static void top_toolbar_init_view_menu(rct_window* w, rct_widget* widget) gDropdownItemsArgs[DDIDX_HIGHLIGHT_PATH_ISSUES] = STR_HIGHLIGHT_PATH_ISSUES_MENU; window_dropdown_show_text( - w->windowPos.x + widget->left, w->windowPos.y + widget->top, widget->bottom - widget->top + 1, w->colours[1] | 0x80, 0, - TOP_TOOLBAR_VIEW_MENU_COUNT); + { w->windowPos.x + widget->left, w->windowPos.y + widget->top }, widget->bottom - widget->top + 1, w->colours[1] | 0x80, + 0, TOP_TOOLBAR_VIEW_MENU_COUNT); // Set checkmarks rct_viewport* mainViewport = window_get_main()->viewport;