mirror of
https://github.com/Kiritow/OpenComputerScripts.git
synced 2024-03-22 13:10:46 +08:00
Add libgui
This commit is contained in:
parent
b584eb34fc
commit
d250973ea6
67
libgui.lua
Normal file
67
libgui.lua
Normal file
|
@ -0,0 +1,67 @@
|
||||||
|
-- LibGUI - A library for developing software with GUI
|
||||||
|
-- Author: Github/Kiritow
|
||||||
|
|
||||||
|
require("class")
|
||||||
|
require("libevent")
|
||||||
|
require("libgpu")
|
||||||
|
|
||||||
|
Button=class("Button")
|
||||||
|
|
||||||
|
function Button:ctor()
|
||||||
|
self.x=1
|
||||||
|
self.y=1
|
||||||
|
self.w=10
|
||||||
|
self.h=2
|
||||||
|
self.hide=false
|
||||||
|
|
||||||
|
self.bordered=false
|
||||||
|
self.bcolor=0x0
|
||||||
|
self.fcolor=0xFFFFFF
|
||||||
|
self.text=""
|
||||||
|
end
|
||||||
|
|
||||||
|
function Button:update(gpu)
|
||||||
|
for i=self.y,self.y+self.h,1 do
|
||||||
|
for j=self.x,self.x+self.w,1 do
|
||||||
|
gpu:set(i,j," ")
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
ProgressBar=class("ProgressBar")
|
||||||
|
|
||||||
|
function ProgressBar:ctor()
|
||||||
|
self.x=1
|
||||||
|
self.y=1
|
||||||
|
self.w=10
|
||||||
|
self.h=2
|
||||||
|
self.hide=false
|
||||||
|
|
||||||
|
self.val=30
|
||||||
|
self.maxval=100
|
||||||
|
self.fcolor=0x00FF00
|
||||||
|
self.bcolor=0x0
|
||||||
|
end
|
||||||
|
|
||||||
|
function ProgressBar:update(gpu)
|
||||||
|
local persent=self.val/self.maxval
|
||||||
|
local colp=persent*self.w
|
||||||
|
|
||||||
|
gpu:pushbg(self.fcolor)
|
||||||
|
for j=self.x,self.x+colp-1,1 do
|
||||||
|
for i=self.y,self.y+self.h,1 do
|
||||||
|
gpu:set(i,j," ")
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
gpu:pushbg(self.bcolor)
|
||||||
|
for j=self.x+colp,self.x+self.w,1 do
|
||||||
|
for i=self.y,self.y+self.h,1 do
|
||||||
|
gpu:set(i,j," ")
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
gpu:popbg()
|
||||||
|
gpu:popbg()
|
||||||
|
end
|
Loading…
Reference in New Issue
Block a user