Refactor FontManager theme loading and add default theme getter
This commit is contained in:
parent
75550148f7
commit
5c1a0b0c19
@ -36,6 +36,7 @@ end
|
|||||||
--- A singleton to handle fonts
|
--- A singleton to handle fonts
|
||||||
--- @class FontManager
|
--- @class FontManager
|
||||||
--- @field private _themes table
|
--- @field private _themes table
|
||||||
|
--- @field defaultTheme string?
|
||||||
local FontManager = {
|
local FontManager = {
|
||||||
_themes = {}
|
_themes = {}
|
||||||
}
|
}
|
||||||
@ -54,14 +55,14 @@ function FontManager.newFont(name, size)
|
|||||||
end
|
end
|
||||||
|
|
||||||
--- @param name string
|
--- @param name string
|
||||||
--- @return TextTheme?
|
--- @return FontManager
|
||||||
function FontManager:loadTheme(name)
|
function FontManager:loadTheme(name)
|
||||||
self._themes[name] = theme.new(
|
self._themes[name] = theme.new(
|
||||||
function(size)
|
function(size)
|
||||||
return self.newFont(name, size)
|
return self.newFont(name, size)
|
||||||
end
|
end
|
||||||
)
|
)
|
||||||
return self._themes[name]
|
return self
|
||||||
end
|
end
|
||||||
|
|
||||||
--- @param name string
|
--- @param name string
|
||||||
@ -70,14 +71,20 @@ function FontManager:getTheme(name)
|
|||||||
return self._themes[name]
|
return self._themes[name]
|
||||||
end
|
end
|
||||||
|
|
||||||
|
--- @return TextTheme
|
||||||
|
function FontManager:getDefaultTheme()
|
||||||
|
return self._themes[self.defaultTheme]
|
||||||
|
end
|
||||||
|
|
||||||
--- initial setup
|
--- initial setup
|
||||||
--- @param defaultFontName string
|
--- @param defaultFontName string
|
||||||
function FontManager:load(defaultFontName)
|
function FontManager:load(defaultFontName)
|
||||||
local t = self:loadTheme(defaultFontName)
|
local t = self:loadTheme(defaultFontName):getTheme(defaultFontName)
|
||||||
if not t then
|
if not t then
|
||||||
print("[FontManager]: default font " .. defaultFontName .. " is missing")
|
print("[FontManager]: default font " .. defaultFontName .. " is missing")
|
||||||
return self
|
return self
|
||||||
end
|
end
|
||||||
|
self.defaultTheme = defaultFontName
|
||||||
|
|
||||||
local f = t:getVariant("medium")
|
local f = t:getVariant("medium")
|
||||||
love.graphics.setFont(f)
|
love.graphics.setFont(f)
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user