--1-- SPDX-License-Identifier: BSD-2-Clause2--3-- Copyright (c) 2015 Pedro Souza <[email protected]>4-- All rights reserved.5--6-- Redistribution and use in source and binary forms, with or without7-- modification, are permitted provided that the following conditions8-- are met:9-- 1. Redistributions of source code must retain the above copyright10-- notice, this list of conditions and the following disclaimer.11-- 2. Redistributions in binary form must reproduce the above copyright12-- notice, this list of conditions and the following disclaimer in the13-- documentation and/or other materials provided with the distribution.14--15-- THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND16-- ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE17-- IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE18-- ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE19-- FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL20-- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS21-- OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)22-- HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT23-- LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY24-- OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF25-- SUCH DAMAGE.26--2728local color = require("color")29local core = require("core")3031local screen = {}3233-- Module exports34screen.default_x = 135screen.default_y = 253637function screen.clear()38printc(core.KEYSTR_CSI .. "H" .. core.KEYSTR_CSI .. "J")39end4041function screen.setcursor(x, y)42printc(core.KEYSTR_CSI .. y .. ";" .. x .. "H")43end4445function screen.setforeground(color_value)46if color.disabled then47return48end49printc(color.escapefg(color_value))50end5152function screen.setbackground(color_value)53if color.disabled then54return55end56printc(color.escapebg(color_value))57end5859function screen.defcolor()60printc(color.default())61end6263function screen.defcursor()64screen.setcursor(screen.default_x, screen.default_y)65end6667return screen686970