git: a8f8c53761c4 - main - loader: Move gfx functions to gfx.lua.8
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Fri, 16 Feb 2024 04:00:29 UTC
The branch main has been updated by imp:
URL: https://cgit.FreeBSD.org/src/commit/?id=a8f8c53761c4b0436c9d546ebe046003f1b3d88f
commit a8f8c53761c4b0436c9d546ebe046003f1b3d88f
Author: Warner Losh <imp@FreeBSD.org>
AuthorDate: 2024-02-16 03:53:55 +0000
Commit: Warner Losh <imp@FreeBSD.org>
CommitDate: 2024-02-16 03:59:23 +0000
loader: Move gfx functions to gfx.lua.8
Now that the fb_* and term_* functions are available in the gfx table,
move the documentation to gfx.lua.8. Add information about backwards
compatibility.
Sponsored by: Netflix
Reviewed by: kevans
Differential Revision: https://reviews.freebsd.org/D43907
---
stand/lua/Makefile | 1 +
stand/lua/gfx.lua.8 | 106 +++++++++++++++++++++++++++++++++++++++++++++++++
stand/lua/loader.lua.8 | 89 ++++++++---------------------------------
3 files changed, 124 insertions(+), 72 deletions(-)
diff --git a/stand/lua/Makefile b/stand/lua/Makefile
index e8fa16e6b589..4462a803beef 100644
--- a/stand/lua/Makefile
+++ b/stand/lua/Makefile
@@ -7,6 +7,7 @@ MAN= loader.conf.lua.5 \
config.lua.8 \
core.lua.8 \
drawer.lua.8 \
+ gfx.lua.8 \
hook.lua.8 \
loader.lua.8 \
menu.lua.8 \
diff --git a/stand/lua/gfx.lua.8 b/stand/lua/gfx.lua.8
new file mode 100644
index 000000000000..82d3f90f4af7
--- /dev/null
+++ b/stand/lua/gfx.lua.8
@@ -0,0 +1,106 @@
+.\"
+.\" Copyright (c) 2024 Netflix, Inc.
+.\"
+.\" SPDX-License-Identifier: BSD-2-Clause
+.\"
+.Dd February 6, 2024
+.Dt GFX.LUA 8
+.Os
+.Sh NAME
+.Nm gfx.lua
+.Nd Fx Lua gfx module
+.Sh DESCRIPTION
+The built-in graphics related Lua bindings for the
+.Fx
+boot loaders using the Lua interpreter are available via the
+.Ic gfx
+table.
+.Ss Exported Functions
+The following functions are exported in the
+.Nm loader
+table.
+.Bl -tag -width term_putimage
+.It Fn fb_bezier x0 y0 x1 y1 x2 y2 width
+Draw a bezier curve through the points
+.Pq Va x0 , Va y0 ,
+.Pq Va x1 , Va y1 ,
+and
+.Pq Va x2 , Va y2
+of width
+.Va width .
+The units are in pixels and have an origin of
+.Pq 0 , 0 .
+.It Fn fb_drawrect x0 y0 x1 y1 fill
+Fill in a rectangle with the pixel
+.Va fill
+with the corners
+.Pq Va x0 , Va y0
+and
+.Pq Va x1 , Va y1 .
+The units are in pixels and have an origin of
+.Pq 0 , 0 .
+.It Fn fb_line x0 y0 x1 y1 width
+Draw a line from
+.Pq Va x0 , Va y0
+to
+.Pq Va x1 , Va y1
+with a width of
+.Va width .
+The units are in pixels and have an origin of
+.Pq 0 , 0 .
+.It Fn fb_putimage name x0 y0 x1 y1 f
+Load the PNG file
+.Va name
+and place it in the rectangle
+with the corners
+.Pq Va x0 , Va y0
+and
+.Pq Va x1 , Va y1
+and fill with pixel
+.Va f .
+The units are in pixels and have an origin of
+.Pq 0 , 0 .
+.It Fn fb_set_pixel x y
+Sets the pixel at
+.Pq Va x , Va y .
+The units are in pixels and have an origin of
+.Pq 0 , 0 .
+.It Fn term_drawrect x0 y0 x1 y1
+Draw the outline of a rectangle with the text coordinate corners of
+.Pq Va x0 , Va y0
+and
+.Pq Va x1 , Va y1 .
+The units are in character cells and have an origin of
+.Pq 1 , 1 .
+.It Fn term_putimage name x0 y0 x1 y1 f
+Load the PNG file
+.Va name
+and place it in the rectangle
+with the text coordinate corners
+.Pq Va x0 , Va y0
+and
+.Pq Va x1 , Va y1
+and fill with pixel
+.Va f .
+The units are in character cells and have an origin of
+.Pq 1 , 1 .
+.El
+.Pp
+This table is optional and should only be used if it is non-nil and if
+.Fn core.isFramebufferConsole
+is true.
+.Ss Compatibility
+All the interfaces described above are also available via the
+.Ic loader
+table through at last FreeBSD 15.0.
+.Sh SEE ALSO
+.Xr loader.conf 5 ,
+.Xr core.lua 8 ,
+.Xr loader 8 ,
+.Xr loader.lua 8
+.Sh AUTHORS
+The
+.Nm
+man page was written by
+.An Warner Losh Aq Mt imp@FreeBSD.org .
+
diff --git a/stand/lua/loader.lua.8 b/stand/lua/loader.lua.8
index cd436255d4a5..ff3b91ddfb09 100644
--- a/stand/lua/loader.lua.8
+++ b/stand/lua/loader.lua.8
@@ -147,80 +147,24 @@ environments.
Removes the environment variable
.Va name
from the loader's environment list.
-.It Fn fb_bezier x0 y0 x1 y1 x2 y2 width
-Draw a bezier curve through the points
-.Pq Va x0 , Va y0 ,
-.Pq Va x1 , Va y1 ,
-and
-.Pq Va x2 , Va y2
-of width
-.Va width .
-The units are in pixels and have an origin of
-.Pq 0 , 0 .
-.It Fn fb_drawrect x0 y0 x1 y1 fill
-Fill in a rectangle with the pixel
-.Va fill
-with the corners
-.Pq Va x0 , Va y0
-and
-.Pq Va x1 , Va y1 .
-The units are in pixels and have an origin of
-.Pq 0 , 0 .
-.It Fn fb_line x0 y0 x1 y1 width
-Draw a line from
-.Pq Va x0 , Va y0
-to
-.Pq Va x1 , Va y1
-with a width of
-.Va width .
-The units are in pixels and have an origin of
-.Pq 0 , 0 .
-.It Fn fb_putimage name x0 y0 x1 y1 f
-Load the PNG file
-.Va name
-and place it in the rectangle
-with the corners
-.Pq Va x0 , Va y0
-and
-.Pq Va x1 , Va y1
-and fill with pixel
-.Va f .
-The units are in pixels and have an origin of
-.Pq 0 , 0 .
-.It Fn fb_set_pixel x y
-Sets the pixel at
-.Pq Va x , Va y .
-The units are in pixels and have an origin of
-.Pq 0 , 0 .
-.It Fn term_drawrect x0 y0 x1 y1
-Draw the outline of a rectangle with the text coordinate corners of
-.Pq Va x0 , Va y0
-and
-.Pq Va x1 , Va y1 .
-The units are in character cells and have an origin of
-.Pq 1 , 1 .
-.It Fn term_putimage name x0 y0 x1 y1 f
-Load the PNG file
-.Va name
-and place it in the rectangle
-with the text coordinate corners
-.Pq Va x0 , Va y0
-and
-.Pq Va x1 , Va y1
-and fill with pixel
-.Va f .
-The units are in character cells and have an origin of
-.Pq 1 , 1 .
.El
-.Pp
-The functions starting with
-.Fn fb_
+.Ss Compatibility
+The functions
+.Fn fb_bezier ,
+.Fn fb_drawrect ,
+.Fn fb_line ,
+.Fn fb_putimage ,
+.Fn fb_set_pixel ,
+.Fn term_drawrect ,
and
-.Fn term_
-are optional.
-They should only be used if they are non-nil and if
-.Fn core.isFramebufferConsole
-is true.
+.Fn term_putimage
+have moved to the
+.Ic gfx
+table.
+They remain in the
+.Ic loader
+table for a transition period and are documented in
+.Xr gfx.lua 8 .
.Ss Default File
In addition, the Lua interpreters start with the file
.Pa /boot/lua/loader.lua
@@ -231,6 +175,7 @@ If autoboot is enabled, the loaded files will boot.
.Sh SEE ALSO
.Xr loader.conf 5 ,
.Xr core.lua 8 ,
+.Xr gfx.lua 8 ,
.Xr loader 8 ,
.Xr sysctl 8
.Sh AUTHORS