diff --git a/halyde/apps/bedit.lua b/halyde/apps/bedit.lua index 08eace7..25536ef 100644 --- a/halyde/apps/bedit.lua +++ b/halyde/apps/bedit.lua @@ -1,5 +1,9 @@ local fs = require("filesystem") local shell = require("shell") +local gpu = require("component").gpu + +local resX, resY = gpu.getResolution() +local textBuffer = gpu.allocateBuffer(resX, resY - 1) local args = {...} local file = args[1] @@ -31,6 +35,20 @@ for line in data:gmatch("[^\r\n]+") do table.insert(lines, line) end -for _, line in ipairs(lines) do - print(line) -end \ No newline at end of file +local function renderText(xOffset, yOffset) + gpu.setActiveBuffer(textBuffer) + gpu.setBackground(0x000000) + gpu.setForeground(0xFFFFFF) + gpu.fill(1, 1, resX, resY - 1, " ") + for i = yOffset + 1, #lines do + gpu.set(1, i - yOffset, lines[i]:sub(xOffset + 1)) + end + gpu.setActiveBuffer(0) + gpu.bitblt(0, 1, 1, resX, resY - 1, textBuffer, 1, 1) +end + +renderText(args[2], args[3]) + +-- Cleanup +gpu.freeBuffer(textBuffer) +gpu.setActiveBuffer(0)