41 lines
1.2 KiB
Lua
41 lines
1.2 KiB
Lua
ui = {}
|
|
|
|
function ui.pushbutton(label,x,y,h,col1,col2,callback,selected)
|
|
local size = (#label*4)-1+4
|
|
local text_y = (h-5)//2
|
|
local button_h=0
|
|
local mx, my = mouse.pos()
|
|
if mx>=x and mx<x+size and my>=y and my<y+h then
|
|
button_h = mouse.down(mouse.LEFT) and -1 or 1
|
|
if mouse.press(mouse.LEFT) then callback() end
|
|
end
|
|
draw.rrectf(x,y+1,size,h,1,col2)
|
|
draw.rrectf(x,y-button_h,size,h,1,col1)
|
|
draw.text(label,x+2,y+text_y-button_h,col2)
|
|
if selected then
|
|
draw.rrect(x-1,y-button_h-1,size+2,h+3+button_h,3,1)
|
|
end
|
|
end
|
|
|
|
function ui.togglebutton(label,x,y,h,col1,col2,dis1,dis2,state,callback,selected)
|
|
local size = (#label*4)-1+4
|
|
local text_y = (h-5)//2
|
|
local bh=0
|
|
local mx, my = mouse.pos()
|
|
if mx>=x and mx<x+size and my>=y and my<y+h then
|
|
bh = mouse.down(mouse.LEFT) and -1 or 1
|
|
if mouse.press(mouse.LEFT) then callback() end
|
|
end
|
|
if not state then
|
|
col1,col2 = dis1,dis2
|
|
else
|
|
if bh>-1 then bh=bh-1 end
|
|
end
|
|
draw.rrectf(x,y+1,size,h,1,col2)
|
|
draw.rrectf(x,y-bh,size,h,1,col1)
|
|
draw.text(label,x+2,y+text_y-bh,col2)
|
|
if selected then
|
|
draw.rrect(x-1,y-bh-1,size+2,h+3+bh,3,1)
|
|
end
|
|
end
|