added raden launch
This commit is contained in:
68
library/lib_gui_box.ks
Normal file
68
library/lib_gui_box.ks
Normal file
@@ -0,0 +1,68 @@
|
||||
// lib_gui_box.ks contains functions to draw boxes in the terminal.
|
||||
// Copyright © 2015,2019 KSLib team
|
||||
// Lic. MIT
|
||||
// This file is based on lib_window.ks from akrOS by akrasuski1.
|
||||
|
||||
function draw_custom_gui_box {
|
||||
parameter
|
||||
x, y, w, h,
|
||||
horizontal_char,
|
||||
vertical_char,
|
||||
corner_char.
|
||||
|
||||
// Start Input Sanitization
|
||||
|
||||
if x < 0 or x >= terminal:width {
|
||||
set x to max(0,min(terminal:width - 1,x)).
|
||||
HUDTEXT("Error: [draw_custom_gui_box] X value outside terminal.", 10, 2, 30, RED, FALSE).
|
||||
}
|
||||
|
||||
if y < 0 or y >= (terminal:height - 1) {
|
||||
set y to max(0,min(terminal:height - 2,y)).
|
||||
HUDTEXT("Error: [draw_custom_gui_box] Y value outside terminal", 10, 2, 30, RED, FALSE).
|
||||
}
|
||||
|
||||
if w < 1 or x + w > terminal:width {
|
||||
set w to max(1,min(terminal:width - x,w)).
|
||||
HUDTEXT("Error: [draw_custom_gui_box] W value outside terminal.", 10, 2, 30, RED, FALSE).
|
||||
}
|
||||
|
||||
if h < 1 or y + h >= terminal:height {
|
||||
set h to max(1,min(terminal:height - 1 - y,h)).
|
||||
HUDTEXT("Error: [draw_custom_gui_box] H value outside terminal.", 10, 2, 30, RED, FALSE).
|
||||
}
|
||||
|
||||
// End Input Sanitization
|
||||
|
||||
local horizontal_str is "".
|
||||
local i is 1.
|
||||
until i > w {
|
||||
if i = 1 or i = w {
|
||||
set horizontal_str to horizontal_str + corner_char.
|
||||
} else {
|
||||
set horizontal_str to horizontal_str + horizontal_char.
|
||||
}
|
||||
set i to i + 1.
|
||||
}
|
||||
print horizontal_str at(x, y).
|
||||
print horizontal_str at(x, y + h - 1).
|
||||
set i to 1.
|
||||
until i >= h - 1 {
|
||||
print vertical_char at(x , y + i).
|
||||
print vertical_char at(x + w - 1, y + i).
|
||||
set i to i + 1.
|
||||
}
|
||||
}
|
||||
|
||||
function draw_gui_box {
|
||||
parameter
|
||||
x, y, w, h.
|
||||
draw_custom_gui_box(x, y, w, h, "-", "|", "+").
|
||||
}
|
||||
|
||||
function draw_one_char_gui_box {
|
||||
parameter
|
||||
x, y, w, h,
|
||||
border_char.
|
||||
draw_custom_gui_box(x, y, w, h, border_char, border_char, border_char).
|
||||
}
|
||||
Reference in New Issue
Block a user