screen.lua (b140d14b02f2ee483806d0eeaaa2b29c6bb5463e) | screen.lua (1f5696c7fd92009f7687b8c8eaf89c09eab72daa) |
---|---|
1-- 2-- Copyright (c) 2015 Pedro Souza <pedrosouza@freebsd.org> 3-- All rights reserved. 4-- 5-- Redistribution and use in source and binary forms, with or without 6-- modification, are permitted provided that the following conditions 7-- are met: 8-- 1. Redistributions of source code must retain the above copyright --- 12 unchanged lines hidden (view full) --- 21-- HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 22-- LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 23-- OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 24-- SUCH DAMAGE. 25-- 26-- $FreeBSD$ 27-- 28 | 1-- 2-- Copyright (c) 2015 Pedro Souza <pedrosouza@freebsd.org> 3-- All rights reserved. 4-- 5-- Redistribution and use in source and binary forms, with or without 6-- modification, are permitted provided that the following conditions 7-- are met: 8-- 1. Redistributions of source code must retain the above copyright --- 12 unchanged lines hidden (view full) --- 21-- HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 22-- LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 23-- OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 24-- SUCH DAMAGE. 25-- 26-- $FreeBSD$ 27-- 28 |
29local screen = {}; 30 | |
31local color = require("color"); 32local core = require("core"); 33 | 29local color = require("color"); 30local core = require("core"); 31 |
32local screen = {}; 33 |
|
34-- XXX TODO: This should be fixed in the interpreter to not print decimals 35function intstring(num) 36 local str = tostring(num); 37 local decimal = str:find("%."); 38 39 if (decimal) then 40 return str:sub(1, decimal - 1); 41 end --- 7 unchanged lines hidden (view full) --- 49 loader.printc("\027[H\027[J"); 50end 51 52function screen.setcursor(x, y) 53 if (core.isSerialBoot()) then 54 return; 55 end 56 | 34-- XXX TODO: This should be fixed in the interpreter to not print decimals 35function intstring(num) 36 local str = tostring(num); 37 local decimal = str:find("%."); 38 39 if (decimal) then 40 return str:sub(1, decimal - 1); 41 end --- 7 unchanged lines hidden (view full) --- 49 loader.printc("\027[H\027[J"); 50end 51 52function screen.setcursor(x, y) 53 if (core.isSerialBoot()) then 54 return; 55 end 56 |
57 loader.printc("\027["..intstring(y)..";"..intstring(x).."H"); | 57 loader.printc("\027[" .. intstring(y) .. ";" .. intstring(x) .. "H"); |
58end 59 60function screen.setforeground(c) 61 if (color.disabled) then 62 return c; 63 end | 58end 59 60function screen.setforeground(c) 61 if (color.disabled) then 62 return c; 63 end |
64 loader.printc("\027[3"..c.."m"); | 64 loader.printc("\027[3" .. c .. "m"); |
65end 66 67function screen.setbackground(c) 68 if (color.disabled) then 69 return c; 70 end | 65end 66 67function screen.setbackground(c) 68 if (color.disabled) then 69 return c; 70 end |
71 loader.printc("\027[4"..c.."m"); | 71 loader.printc("\027[4" .. c .. "m"); |
72end 73 74function screen.defcolor() 75 loader.printc(color.default()); 76end 77 78function screen.defcursor() 79 if (core.isSerialBoot()) then 80 return; 81 end 82 loader.printc("\027[25;0H"); 83end 84 85return screen; | 72end 73 74function screen.defcolor() 75 loader.printc(color.default()); 76end 77 78function screen.defcursor() 79 if (core.isSerialBoot()) then 80 return; 81 end 82 loader.printc("\027[25;0H"); 83end 84 85return screen; |