From 5c1a0b0c19e838e966795ad4c8c35495ecb29220 Mon Sep 17 00:00:00 2001 From: PeaAshMeter Date: Sun, 14 Dec 2025 23:23:52 +0300 Subject: [PATCH] Refactor FontManager theme loading and add default theme getter --- lib/utils/font_manager.lua | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/lib/utils/font_manager.lua b/lib/utils/font_manager.lua index d7cc6f6..0bec070 100644 --- a/lib/utils/font_manager.lua +++ b/lib/utils/font_manager.lua @@ -36,6 +36,7 @@ end --- A singleton to handle fonts --- @class FontManager --- @field private _themes table +--- @field defaultTheme string? local FontManager = { _themes = {} } @@ -54,14 +55,14 @@ function FontManager.newFont(name, size) end --- @param name string ---- @return TextTheme? +--- @return FontManager function FontManager:loadTheme(name) self._themes[name] = theme.new( function(size) return self.newFont(name, size) end ) - return self._themes[name] + return self end --- @param name string @@ -70,14 +71,20 @@ function FontManager:getTheme(name) return self._themes[name] end +--- @return TextTheme +function FontManager:getDefaultTheme() + return self._themes[self.defaultTheme] +end + --- initial setup --- @param defaultFontName string function FontManager:load(defaultFontName) - local t = self:loadTheme(defaultFontName) + local t = self:loadTheme(defaultFontName):getTheme(defaultFontName) if not t then print("[FontManager]: default font " .. defaultFontName .. " is missing") return self end + self.defaultTheme = defaultFontName local f = t:getVariant("medium") love.graphics.setFont(f)