28 lines
668 B
Lua
28 lines
668 B
Lua
local BASE = (...):gsub('core$', '')
|
|
|
|
local core = { theme = require(BASE..'theme') }
|
|
core.__index = core
|
|
|
|
-- Helpers for drawing
|
|
function core.verticalOffsetForAlign(valign, font, h)
|
|
if valign == 'top' then
|
|
return 0
|
|
elseif valign == 'bottom' then
|
|
return h - font:getHeight()
|
|
end
|
|
-- else: "middle"
|
|
return (h - font:getHeight()) / 2
|
|
end
|
|
|
|
function core.drawBox(x,y,w,h, color, cornerRadius)
|
|
w = math.max(cornerRadius/2, w)
|
|
if h < cornerRadius/2 then
|
|
y,h = y - (cornerRadius - h), cornerRadius/2
|
|
end
|
|
|
|
love.graphics.setColor(color.bg)
|
|
love.graphics.rectangle('fill', x,y, w,h, cornerRadius)
|
|
end
|
|
|
|
return core
|