feature-fonts #23
@ -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)
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user