mirror of https://github.com/OpenRCT2/OpenRCT2.git
Make window_dropdown_show_text() use ScreenCoordsXY
This commit is contained in:
parent
4933785b1c
commit
d0704baab2
|
@ -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);
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -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++)
|
||||
|
|
|
@ -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<int32_t>(title_get_current_sequence()), true);
|
||||
|
|
|
@ -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())
|
||||
{
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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)
|
||||
{
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
|
|
Loading…
Reference in New Issue