radical/item/style/init.lua

43 lines
1.5 KiB
Lua

local holo = require("radical.item.style.holo")
local rounded = require("radical.item.style.rounded" )
local theme = require( "radical.theme" )
local unpack = unpack or table.unpack
-- Create a generic item_style
local function generic(_, args)
args = args or {}
args.margins = args.margins or {
TOP = 0,
BOTTOM = 0,
RIGHT = 0,
LEFT = 0
}
local module = {
margins = args.margins
}
local function draw(item)
item.widget:set_shape(args.shape or item.shape, unpack(args.shape_args or {}))
item.widget:set_shape_border_width(item.border_width)
theme.update_colors(item)
end
return setmetatable(module, { __call = function(_, ...) return draw(...) end })
end
return setmetatable({
basic = require("radical.item.style.basic" ),
classic = require("radical.item.style.classic" ),
rounded_shadow = rounded.shadow ,
rounded = rounded ,
holo = holo ,
holo_top = holo.top ,
arrow_prefix = require("radical.item.style.arrow_prefix" ),
arrow_single = require("radical.item.style.arrow_single" ),
arrow_3d = require("radical.item.style.arrow_3d" ),
slice_prefix = require("radical.item.style.slice_prefix" ),
line_3d = require("radical.item.style.line_3d" ),
}, {__call=generic})