mirror of
https://github.com/freebsd/freebsd-src
synced 2024-10-02 22:54:52 +00:00
loader: Move drawer.lua over to gfx table.
Drawer.lua is the only bit of lua code in the base that uses any of the functons moved from the loader table to the gfx table. Move the main code to using the gfx dispatch. Add compat code for running on old loaders that creates the newer-style gfx table with the term_* functions we call in it populated. This will even work on the super old versions of the loader that don't have them (we'll still skip using them). Sponsored by: Netflix Reviewed by: kevans Differential Revision: https://reviews.freebsd.org/D43908
This commit is contained in:
parent
a8f8c53761
commit
0fd98b8a76
|
@ -47,6 +47,19 @@ local frame_size
|
||||||
local default_shift
|
local default_shift
|
||||||
local shift
|
local shift
|
||||||
|
|
||||||
|
-- Make this code compatible with older loader binaries. We moved the term_*
|
||||||
|
-- functions from loader to the gfx. if we're running on an older loader that
|
||||||
|
-- has these functions, create aliases for them in gfx. The loader binary might
|
||||||
|
-- be so old as to not have them, but in that case, we want to copy the nil
|
||||||
|
-- values. The new loader will provide loader.* versions of all the gfx.*
|
||||||
|
-- functions for backwards compatibility, so we only define the functions we use
|
||||||
|
-- here.
|
||||||
|
if gfx == nil then
|
||||||
|
gfx = {}
|
||||||
|
gfx.term_drawrect = loader.term_drawrect
|
||||||
|
gfx.term_putimage = loader.term_putimage
|
||||||
|
end
|
||||||
|
|
||||||
local function menuEntryName(drawing_menu, entry)
|
local function menuEntryName(drawing_menu, entry)
|
||||||
local name_handler = menu_name_handlers[entry.entry_type]
|
local name_handler = menu_name_handlers[entry.entry_type]
|
||||||
|
|
||||||
|
@ -225,8 +238,8 @@ local function drawframe()
|
||||||
x = x + shift.x
|
x = x + shift.x
|
||||||
y = y + shift.y
|
y = y + shift.y
|
||||||
|
|
||||||
if core.isFramebufferConsole() and loader.term_drawrect ~= nil then
|
if core.isFramebufferConsole() and gfx.term_drawrect ~= nil then
|
||||||
loader.term_drawrect(x, y, x + w, y + h)
|
gfx.term_drawrect(x, y, x + w, y + h)
|
||||||
return true
|
return true
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -312,9 +325,9 @@ local function drawbrand()
|
||||||
end
|
end
|
||||||
|
|
||||||
if core.isFramebufferConsole() and
|
if core.isFramebufferConsole() and
|
||||||
loader.term_putimage ~= nil and
|
gfx.term_putimage ~= nil and
|
||||||
branddef.image ~= nil then
|
branddef.image ~= nil then
|
||||||
if loader.term_putimage(branddef.image, 1, 1, 0, 7, 0)
|
if gfx.term_putimage(branddef.image, 1, 1, 0, 7, 0)
|
||||||
then
|
then
|
||||||
return true
|
return true
|
||||||
end
|
end
|
||||||
|
@ -363,14 +376,14 @@ local function drawlogo()
|
||||||
end
|
end
|
||||||
|
|
||||||
if core.isFramebufferConsole() and
|
if core.isFramebufferConsole() and
|
||||||
loader.term_putimage ~= nil and
|
gfx.term_putimage ~= nil and
|
||||||
logodef.image ~= nil then
|
logodef.image ~= nil then
|
||||||
local y1 = 15
|
local y1 = 15
|
||||||
|
|
||||||
if logodef.image_rl ~= nil then
|
if logodef.image_rl ~= nil then
|
||||||
y1 = logodef.image_rl
|
y1 = logodef.image_rl
|
||||||
end
|
end
|
||||||
if loader.term_putimage(logodef.image, x, y, 0, y + y1, 0)
|
if gfx.term_putimage(logodef.image, x, y, 0, y + y1, 0)
|
||||||
then
|
then
|
||||||
return true
|
return true
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in a new issue