Reduce scope of ScreenCoordsXY variables

This commit is contained in:
Tulio Leao 2020-06-11 18:26:16 -03:00
parent 183ee1e595
commit d6baec3f66
2 changed files with 22 additions and 21 deletions

View File

@ -959,14 +959,13 @@ static void window_editor_object_selection_paint(rct_window* w, rct_drawpixelinf
window_draw_widgets(w, dpi);
// Draw tabs
ScreenCoordsXY screenPos{};
for (size_t i = 0; i < std::size(ObjectSelectionPages); i++)
{
widget = &w->widgets[WIDX_TAB_1 + i];
if (widget->type != WWT_EMPTY)
{
auto image = ObjectSelectionPages[i].Image;
screenPos = w->windowPos + ScreenCoordsXY{ widget->left, widget->top };
auto screenPos = w->windowPos + ScreenCoordsXY{ widget->left, widget->top };
gfx_draw_sprite(dpi, image, screenPos.x, screenPos.y, 0);
}
}
@ -994,7 +993,7 @@ static void window_editor_object_selection_paint(rct_window* w, rct_drawpixelinf
}
spriteIndex += (i == 4 ? ThrillRidesTabAnimationSequence[frame] : frame);
screenPos = w->windowPos + ScreenCoordsXY{ widget->left, widget->top };
auto screenPos = w->windowPos + ScreenCoordsXY{ widget->left, widget->top };
gfx_draw_sprite(dpi, spriteIndex | (w->colours[1] << 19), screenPos.x, screenPos.y, 0);
}
}
@ -1008,7 +1007,7 @@ static void window_editor_object_selection_paint(rct_window* w, rct_drawpixelinf
// Draw number of selected items
if (!(gScreenFlags & SCREEN_FLAGS_TRACK_MANAGER))
{
screenPos = w->windowPos + ScreenCoordsXY{ 3, w->height - 13 };
auto screenPos = w->windowPos + ScreenCoordsXY{ 3, w->height - 13 };
int32_t numSelected = _numSelectedObjectsForType[get_selected_object_type(w)];
int32_t totalSelectable = object_entry_group_counts[get_selected_object_type(w)];
@ -1028,7 +1027,7 @@ static void window_editor_object_selection_paint(rct_window* w, rct_drawpixelinf
{
stringId = _listSortType == RIDE_SORT_TYPE ? static_cast<rct_string_id>(_listSortDescending ? STR_DOWN : STR_UP)
: STR_NONE;
screenPos = w->windowPos + ScreenCoordsXY{ widget->left + 1, widget->top + 1 };
auto screenPos = w->windowPos + ScreenCoordsXY{ widget->left + 1, widget->top + 1 };
gfx_draw_string_left_clipped(
dpi, STR_OBJECTS_SORT_TYPE, &stringId, w->colours[1], screenPos, widget->right - widget->left);
}
@ -1037,7 +1036,7 @@ static void window_editor_object_selection_paint(rct_window* w, rct_drawpixelinf
{
stringId = _listSortType == RIDE_SORT_RIDE ? static_cast<rct_string_id>(_listSortDescending ? STR_DOWN : STR_UP)
: STR_NONE;
screenPos = w->windowPos + ScreenCoordsXY{ widget->left + 1, widget->top + 1 };
auto screenPos = w->windowPos + ScreenCoordsXY{ widget->left + 1, widget->top + 1 };
gfx_draw_string_left_clipped(
dpi, STR_OBJECTS_SORT_RIDE, &stringId, w->colours[1], screenPos, widget->right - widget->left);
}
@ -1051,7 +1050,7 @@ static void window_editor_object_selection_paint(rct_window* w, rct_drawpixelinf
widget = &w->widgets[WIDX_PREVIEW];
{
rct_drawpixelinfo clipDPI;
screenPos = w->windowPos + ScreenCoordsXY{ widget->left + 1, widget->top + 1 };
auto screenPos = w->windowPos + ScreenCoordsXY{ widget->left + 1, widget->top + 1 };
width = widget->right - widget->left - 1;
int32_t height = widget->bottom - widget->top - 1;
if (clip_drawpixelinfo(&clipDPI, dpi, screenPos.x, screenPos.y, width, height))
@ -1061,48 +1060,50 @@ static void window_editor_object_selection_paint(rct_window* w, rct_drawpixelinf
}
// Draw name of object
screenPos = w->windowPos + ScreenCoordsXY{ (widget->left + widget->right) / 2 + 1, widget->bottom + 3 };
width = w->width - w->widgets[WIDX_LIST].right - 6;
auto ft = Formatter::Common();
ft.Add<rct_string_id>(STR_STRING);
ft.Add<const char*>(listItem->repositoryItem->Name.c_str());
gfx_draw_string_centred_clipped(
dpi, STR_WINDOW_COLOUR_2_STRINGID, gCommonFormatArgs, COLOUR_BLACK, screenPos.x, screenPos.y, width);
{
auto screenPos = w->windowPos + ScreenCoordsXY{ (widget->left + widget->right) / 2 + 1, widget->bottom + 3 };
width = w->width - w->widgets[WIDX_LIST].right - 6;
auto ft = Formatter::Common();
ft.Add<rct_string_id>(STR_STRING);
ft.Add<const char*>(listItem->repositoryItem->Name.c_str());
gfx_draw_string_centred_clipped(
dpi, STR_WINDOW_COLOUR_2_STRINGID, gCommonFormatArgs, COLOUR_BLACK, screenPos.x, screenPos.y, width);
}
// Draw description of object
auto description = object_get_description(_loadedObject);
if (!description.empty())
{
ft = Formatter::Common();
auto ft = Formatter::Common();
ft.Add<rct_string_id>(STR_STRING);
ft.Add<const char*>(description.c_str());
screenPos = { w->windowPos.x + w->widgets[WIDX_LIST].right + 4, screenPos.y + 15 };
auto screenPos = w->windowPos + ScreenCoordsXY{ w->widgets[WIDX_LIST].right + 4, widget->bottom + 18 };
width = w->windowPos.x + w->width - screenPos.x - 4;
gfx_draw_string_left_wrapped(
dpi, gCommonFormatArgs, screenPos.x, screenPos.y + 5, width, STR_WINDOW_COLOUR_2_STRINGID, COLOUR_BLACK);
}
screenPos.y = w->windowPos.y + w->height - (12 * 4);
auto screenPos = w->windowPos + ScreenCoordsXY{ w->width - 5, w->height - (12 * 4) };
// Draw ride type.
if (get_selected_object_type(w) == OBJECT_TYPE_RIDE)
{
stringId = get_ride_type_string_id(listItem->repositoryItem);
gfx_draw_string_right(dpi, stringId, nullptr, COLOUR_WHITE, { w->windowPos.x + w->width - 5, screenPos.y });
gfx_draw_string_right(dpi, stringId, nullptr, COLOUR_WHITE, screenPos);
}
screenPos.y += 12;
// Draw object source
stringId = object_manager_get_source_game_string(listItem->repositoryItem->GetFirstSourceGame());
gfx_draw_string_right(dpi, stringId, nullptr, COLOUR_WHITE, { w->windowPos.x + w->width - 5, screenPos.y });
gfx_draw_string_right(dpi, stringId, nullptr, COLOUR_WHITE, screenPos);
screenPos.y += 12;
// Draw object dat name
const char* path = path_get_filename(listItem->repositoryItem->Path.c_str());
ft = Formatter::Common();
auto ft = Formatter::Common();
ft.Add<rct_string_id>(STR_STRING);
ft.Add<const char*>(path);
gfx_draw_string_right(

View File

@ -1046,7 +1046,7 @@ static void window_park_rating_paint(rct_window* w, rct_drawpixelinfo* dpi)
window_draw_widgets(w, dpi);
window_park_draw_tab_images(dpi, w);
auto screenPos = ScreenCoordsXY{ w->windowPos.x, w->windowPos.y };
auto screenPos = w->windowPos;
rct_widget* widget = &window_park_rating_widgets[WIDX_PAGE_BACKGROUND];
// Current value