mirror of
https://git.FreeBSD.org/src.git
synced 2024-12-15 10:17:20 +00:00
lualoader: Allow brand-*.lua for adding new brands
dteske@, I believe, had originally pointed out that lualoader failed to allow logo-*.lua for new logos to be added. When correcting this mistake, I failed to do the same for brands. Correct the sub-mistake: creating new brands is almost identical to creating new logos, except one must use `drawer.addBrand` and 'graphic' is the only valid key for a branddef at the moment. While here, I've added `drawer.default_brand` to be set to name of brand to be used (e.g. 'fbsd', project default). Eventually this whole goolash will be documented. Reported by: kmoore, iXsystems
This commit is contained in:
parent
f86d65170b
commit
e21e1dbe0c
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=334939
@ -51,6 +51,22 @@ local function menuEntryName(drawing_menu, entry)
|
||||
return entry.name
|
||||
end
|
||||
|
||||
local function getBranddef(brand)
|
||||
if brand == nil then
|
||||
return nil
|
||||
end
|
||||
-- Look it up
|
||||
local branddef = drawer.branddefs[brand]
|
||||
|
||||
-- Try to pull it in
|
||||
if branddef == nil then
|
||||
try_include('brand-' .. brand)
|
||||
branddef = drawer.branddefs[brand]
|
||||
end
|
||||
|
||||
return branddef
|
||||
end
|
||||
|
||||
local function getLogodef(logo)
|
||||
if logo == nil then
|
||||
return nil
|
||||
@ -79,6 +95,8 @@ fbsd_brand = {
|
||||
none = {""}
|
||||
|
||||
-- Module exports
|
||||
drawer.default_brand = 'fbsd'
|
||||
|
||||
drawer.menu_name_handlers = {
|
||||
-- Menu name handlers should take the menu being drawn and entry being
|
||||
-- drawn as parameters, and return the name of the item.
|
||||
@ -315,8 +333,13 @@ function drawer.drawbrand()
|
||||
local y = tonumber(loader.getenv("loader_brand_y")) or
|
||||
drawer.brand_position.y
|
||||
|
||||
local graphic = drawer.branddefs[loader.getenv("loader_brand")] or
|
||||
fbsd_brand
|
||||
local branddef = getBranddef(loader.getenv("loader_brand"))
|
||||
|
||||
if branddef == nil then
|
||||
branddef = getBranddef(drawer.default_brand)
|
||||
end
|
||||
|
||||
local graphic = branddef.graphic
|
||||
|
||||
x = x + drawer.shift.x
|
||||
y = y + drawer.shift.y
|
||||
|
Loading…
Reference in New Issue
Block a user