mirror of
https://github.com/IgorTimofeev/MineOS.git
synced 2026-03-26 17:52:47 +01:00
Сука
This commit is contained in:
@@ -11,7 +11,7 @@ local libraries = {
|
||||
["computer"] = "computer",
|
||||
["serialization"] = "serialization",
|
||||
["internet"] = "internet",
|
||||
["image"] = "image",
|
||||
--["image"] = "image",
|
||||
}
|
||||
|
||||
local components = {
|
||||
@@ -457,6 +457,35 @@ function ECSAPI.smartText(x, y, text)
|
||||
end
|
||||
end
|
||||
|
||||
--Аналог умного текста, но использующий HEX-цвета для кодировки
|
||||
function ECSAPI.formattedText(x, y, text, limit)
|
||||
--Ограничение длины строки
|
||||
limit = limit or math.huge
|
||||
--Стартовая позиция курсора для отрисовки
|
||||
local xPos = x
|
||||
--Создаем массив символов данной строки
|
||||
local symbols = {}
|
||||
for i = 1, unicode.len(text) do table.insert(symbols, unicode.sub(text, i, i)) end
|
||||
--Перебираем все символы строки, пока не переберем все или не достигнем указанного лимита
|
||||
local i = 1
|
||||
while i <= #symbols and i <= limit do
|
||||
--Если находим символ параграфа, то
|
||||
if symbols[i] == "§" then
|
||||
--Меняем цвет текста на указанный
|
||||
gpu.setForeground(tonumber("0x" .. symbols[i+1] .. symbols[i+2] .. symbols[i+3] .. symbols[i+4] .. symbols[i+5] .. symbols[i+6]))
|
||||
--Увеличиваем лимит на 7, т.к.
|
||||
limit = limit + 7
|
||||
--Сдвигаем итератор цикла на 7
|
||||
i = i + 7
|
||||
end
|
||||
--Рисуем символ на нужной позиции
|
||||
gpu.set(xPos, y, symbols[i])
|
||||
--Увеличиваем позицию курсора и итератор на 1
|
||||
xPos = xPos + 1
|
||||
i = i + 1
|
||||
end
|
||||
end
|
||||
|
||||
--Инвертированный текст на основе цвета фона
|
||||
function ECSAPI.invertedText(x,y,symbol)
|
||||
local info = {gpu.get(x,y)}
|
||||
@@ -1525,6 +1554,7 @@ ECSAPI.OSIconsHeight = 6
|
||||
|
||||
--Вся необходимая информация для иконок
|
||||
local function OSIconsInit()
|
||||
if not _G.image then _G.image = require("image") end
|
||||
if not _G.buffer then _G.buffer = require("doubleBuffering") end
|
||||
if not ECSAPI.OSIcons then
|
||||
--Константы для иконок
|
||||
|
||||
Reference in New Issue
Block a user