]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - stand/lua/screen.lua
ping(8): Fix a mandoc related issue
[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         printc(core.KEYSTR_CSI .. "H" .. core.KEYSTR_CSI .. "J")
42 end
43
44 function screen.setcursor(x, y)
45         printc(core.KEYSTR_CSI .. y .. ";" .. x .. "H")
46 end
47
48 function screen.setforeground(color_value)
49         if color.disabled then
50                 return
51         end
52         printc(color.escapefg(color_value))
53 end
54
55 function screen.setbackground(color_value)
56         if color.disabled then
57                 return
58         end
59         printc(color.escapebg(color_value))
60 end
61
62 function screen.defcolor()
63         printc(color.default())
64 end
65
66 function screen.defcursor()
67         screen.setcursor(screen.default_x, screen.default_y)
68 end
69
70 return screen