Add color support

This commit is contained in:
Kirigaya Kazuto 2018-03-10 00:33:40 +08:00
parent 1b1d674e68
commit 9c4081a0df
2 changed files with 52 additions and 0 deletions

View File

@ -86,7 +86,9 @@ local function printMap(base,mask)
if(base[i][j]>=0) then
gpu:set(i+1,j+1,tostring(base[i][j]))
else
gpu:pushfg(0xFF0000)
gpu:set(i+1,j+1,"X")
gpu:popfg()
end
end
end

View File

@ -16,6 +16,46 @@ local function GPUGet(t,line,col)
return t.gpu.get(col,line)
end
local function GPUSetColorFG(t,rgb)
t.gpu.setForeground(rgb)
end
local function GPUSetColorBG(t,rgb)
t.gpu.setBackground(rgb)
end
local function GPUGetColorFG(t)
return t.gpu.getForeground()
end
local function GPUGetColorBG(t)
return t.gpu.getBackground()
end
local function GPUPushFG(t,rgb)
t.fgstk[t.fgstk.n+1]=t:getfg()
t.fgstk.n=t.fgstk.n+1
t:setfg(rgb)
end
local function GPUPopFG(t)
t:setfg(t.fgstk[t.fgstk.n])
t.fgstk[t.fgstk.n]=nil
t.fgstk.n=t.fgstk.n-1
end
local function GPUPushBG(t,rgb)
t.bgstk[t.bgstk.n+1]=t:getbg()
t.bgstk.n=t.bgstk.n+1
t:setbg(rgb)
end
local function GPUPopBG(t)
t:setbg(t.bgstk[t.bgstk.n])
t.bgstk[t.bgstk.n]=nil
t.bgstk.n=t.bgstk.n-1
end
-- API
function GetGPU()
if(component.gpu==nil) then
@ -26,6 +66,16 @@ function GetGPU()
t.clear=GPUClear
t.set=GPUSet
t.get=GPUGet
t.setfg=GPUSetColorFG
t.getfg=GPUGetColorFG
t.setbg=GPUSetColorBG
t.getbg=GPUGetColorBG
t.fgstk={n=0}
t.bgstk={n=0}
t.pushfg=GPUPushFG
t.popfg=GPUPopFG
t.pushbg=GPUPushBG
t.popbg=GPUPopBG
return t
end
end