bedit: Made it use VRAM buffer, added support for a custom offset
This commit is contained in:
+21
-3
@@ -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
|
||||
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)
|
||||
|
||||
Reference in New Issue
Block a user