Merge branch 'master' into jgrpp

# Conflicts:
#	src/airport_gui.cpp
#	src/blitter/32bpp_anim_sse4.cpp
#	src/console_cmds.cpp
#	src/linkgraph/linkgraph_gui.cpp
#	src/newgrf_object.h
#	src/road_gui.cpp
#	src/widgets/road_widget.h
#	src/window.cpp
This commit is contained in:
Jonathan G Rennison
2022-10-16 20:14:13 +01:00
82 changed files with 778 additions and 341 deletions

View File

@@ -3530,6 +3530,13 @@ void HideVitalWindows()
DeleteWindowById(WC_STATUS_BAR, 0);
}
void ReInitWindow(Window *w, bool zoom_changed)
{
if (w == nullptr) return;
if (zoom_changed) w->nested_root->AdjustPaddingForZoom();
w->ReInit();
}
/** Re-initialize all windows. */
void ReInitAllWindows(bool zoom_changed)
{
@@ -3539,9 +3546,13 @@ void ReInitAllWindows(bool zoom_changed)
extern void InitDepotWindowBlockSizes();
InitDepotWindowBlockSizes();
/* When _gui_zoom has changed, we need to resize toolbar and statusbar first,
* so EnsureVisibleCaption uses the updated size information. */
ReInitWindow(FindWindowById(WC_MAIN_TOOLBAR, 0), zoom_changed);
ReInitWindow(FindWindowById(WC_STATUS_BAR, 0), zoom_changed);
for (Window *w : Window::IterateFromBack()) {
if (zoom_changed) w->nested_root->AdjustPaddingForZoom();
w->ReInit();
if (w->window_class == WC_MAIN_TOOLBAR || w->window_class == WC_STATUS_BAR) continue;
ReInitWindow(w, zoom_changed);
}
void NetworkReInitChatBoxSize();