Changeset - r28283:5799e5296538
[Not reviewed]
master
0 1 0
Peter Nelson - 12 months ago 2023-12-11 21:03:54
peter1138@openttd.org
Change: Be selective about clearing sprite/font caches on interface scale change. (#11576)

Sprite cache contains all zoom levels anyway, so does not need to be reloaded.

Font cache does not need to be clear if the font zoom hasn't changed, i.e. when changing the max sprite zoom level setting.
1 file changed with 5 insertions and 5 deletions:
0 comments (0 inline, 0 general)
src/gfx.cpp
Show inline comments
 
@@ -1982,17 +1982,17 @@ bool AdjustGUIZoom(bool automatic)
 
	UpdateGUIZoom();
 
	if (old_scale == _gui_scale && old_gui_zoom == _gui_zoom) return false;
 

	
 
	/* Reload sprites if sprite zoom level has changed. */
 
	/* Update cursors if sprite zoom level has changed. */
 
	if (old_gui_zoom != _gui_zoom) {
 
		GfxClearSpriteCache();
 
		VideoDriver::GetInstance()->ClearSystemSprites();
 
		UpdateCursorSize();
 
	} else if (old_font_zoom != _font_zoom) {
 
	}
 
	if (old_font_zoom != _font_zoom) {
 
		GfxClearFontSpriteCache();
 
		ClearFontCache();
 
		LoadStringWidthTable();
 
	}
 

	
 
	ClearFontCache();
 
	LoadStringWidthTable();
 
	UpdateAllVirtCoords();
 

	
 
	/* Adjust all window sizes to match the new zoom level, so that they don't appear
0 comments (0 inline, 0 general)