From 40dbc7134bae5cff48c2262d92721a3dd5394f84 Mon Sep 17 00:00:00 2001 From: Matthias Richter Date: Tue, 7 Feb 2012 23:10:29 +0100 Subject: Initial commit --- checkbox.lua | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 checkbox.lua (limited to 'checkbox.lua') diff --git a/checkbox.lua b/checkbox.lua new file mode 100644 index 0000000..c5f5fce --- /dev/null +++ b/checkbox.lua @@ -0,0 +1,19 @@ +local core = require((...):match("^(.+)%.[^%.]+") .. '.core') + +return function(info, x,y, w,h, draw) + local id = core.generateID() + + core.mouse.updateState(id, x,y,w,h) + core.makeTabable(id) + core.registerDraw(id, draw or core.style.Checkbox, info.checked,x,y,w,h) + + local checked = info.checked + local key = core.keyboard.key + if core.mouse.releasedOn(id) or + (core.hasKeyFocus(id) and key == 'return' or key == ' ') then + info.checked = not info.checked + end + + return info.checked ~= checked +end + -- cgit v1.2.3-54-g00ecf