1-- 2-- SPDX-License-Identifier: BSD-2-Clause 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 29local color = require("color") 30local core = require("core") 31 32local screen = {} 33 34-- Module exports 35screen.default_x = 1 36screen.default_y = 25 37 38function screen.clear() 39 printc(core.KEYSTR_CSI .. "H" .. core.KEYSTR_CSI .. "J") 40end 41 42function screen.setcursor(x, y) 43 printc(core.KEYSTR_CSI .. y .. ";" .. x .. "H") 44end 45 46function screen.setforeground(color_value) 47 if color.disabled then 48 return 49 end 50 printc(color.escapefg(color_value)) 51end 52 53function screen.setbackground(color_value) 54 if color.disabled then 55 return 56 end 57 printc(color.escapebg(color_value)) 58end 59 60function screen.defcolor() 61 printc(color.default()) 62end 63 64function screen.defcursor() 65 screen.setcursor(screen.default_x, screen.default_y) 66end 67 68return screen 69