]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - stand/lua/screen.lua
file: update to 5.34
[FreeBSD/FreeBSD.git] / stand / lua / screen.lua
1 --
2 -- SPDX-License-Identifier: BSD-2-Clause-FreeBSD
3 --
4 -- Copyright (c) 2015 Pedro Souza <pedrosouza@freebsd.org>
5 -- All rights reserved.
6 --
7 -- Redistribution and use in source and binary forms, with or without
8 -- modification, are permitted provided that the following conditions
9 -- are met:
10 -- 1. Redistributions of source code must retain the above copyright
11 --    notice, this list of conditions and the following disclaimer.
12 -- 2. Redistributions in binary form must reproduce the above copyright
13 --    notice, this list of conditions and the following disclaimer in the
14 --    documentation and/or other materials provided with the distribution.
15 --
16 -- THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
17 -- ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
18 -- IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
19 -- ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
20 -- FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
21 -- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
22 -- OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
23 -- HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
24 -- LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
25 -- OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
26 -- SUCH DAMAGE.
27 --
28 -- $FreeBSD$
29 --
30
31 local color = require("color")
32 local core = require("core")
33
34 local screen = {}
35
36 -- Module exports
37 screen.default_x = 0
38 screen.default_y = 25
39
40 function screen.clear()
41         if core.isSerialBoot() then
42                 return
43         end
44         printc(core.KEYSTR_CSI .. "H" .. core.KEYSTR_CSI .. "J")
45 end
46
47 function screen.setcursor(x, y)
48         if core.isSerialBoot() then
49                 return
50         end
51
52         printc(core.KEYSTR_CSI .. y .. ";" .. x .. "H")
53 end
54
55 function screen.setforeground(color_value)
56         if color.disabled then
57                 return color_value
58         end
59         printc(color.escapefg(color_value))
60 end
61
62 function screen.setbackground(color_value)
63         if color.disabled then
64                 return color_value
65         end
66         printc(color.escapebg(color_value))
67 end
68
69 function screen.defcolor()
70         printc(color.default())
71 end
72
73 function screen.defcursor()
74         if core.isSerialBoot() then
75                 return
76         end
77         screen.setcursor(screen.default_x, screen.default_y)
78 end
79
80 return screen