crosstable.love/0017-make_button_pop

31 lines
1.2 KiB
Plaintext

make_button_pop = function(params)
-- leave 1px on all sides for that border with linewidth 3
local p = 4 -- shadows/highlights
-- button surface
App.color{r=0.8, g=0.8, b=0}
love.graphics.rectangle('fill', params.x+p+1, params.y+p+1, params.w-(p+1)*2, params.h-(p+1)*2)
-- button shadow
App.color{r=0.6, g=0.6, b=0}
love.graphics.rectangle('fill', params.x+1, params.y+1, params.w-p-1-1, p)
love.graphics.rectangle('fill', params.x+1, params.y+1, p, params.h-p-1-1)
love.graphics.polygon('fill',
params.x+1, params.y+params.h-p-1,
params.x+p+1, params.y+params.h-p-1,
params.x+1, params.y+params.h-1)
love.graphics.polygon('fill',
params.x+params.w-1, params.y+1,
params.x+params.w-p-1, params.y+1,
params.x+params.w-p-1, params.y+p+1)
-- button highlight
App.color{r=1, g=1, b=0}
love.graphics.rectangle('fill', params.x+params.w-p-1, params.y+p+1, p, params.h-p-1-1)
love.graphics.rectangle('fill', params.x+p+1, params.y+params.h-p-1, params.w-p-1-1, p)
love.graphics.polygon('fill',
params.x+p+1, params.y+params.h-1,
params.x+p+1, params.y+params.h-p-1,
params.x+1, params.y+params.h-1)
love.graphics.polygon('fill',
params.x+params.w-1, params.y+1,
params.x+params.w-1, params.y+p+1,
params.x+params.w-p-1, params.y+p+1)
end