-
Notifications
You must be signed in to change notification settings - Fork 0
/
DecoOutline.lua
31 lines (23 loc) · 831 Bytes
/
DecoOutline.lua
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
local rect = sdl.rect(0, 0, 0, 0)
local DecoOutline = Class.inherit(UiDeco)
function DecoOutline:new(bordercolor, bordersize, borderhlcolor, borderhlsize)
self.bordercolor = bordercolor or deco.colors.buttonborder
self.borderhlcolor = borderhlcolor or self.bordercolor
self.bordersize = bordersize or 2
self.borderhlsize = borderhlsize or self.bordersize
end
function DecoOutline:draw(screen, widget)
local r = widget.rect
local color = self.bordercolor
local bordersize = self.bordersize
if widget.hovered then
color = self.borderhlcolor
bordersize = self.borderhlsize
end
rect.x = r.x - bordersize
rect.y = r.y - bordersize
rect.w = r.w + bordersize * 2
rect.h = r.h + bordersize * 2
drawborder(screen, color, rect, bordersize)
end
return DecoOutline