diff options
author | Matthias Richter <vrld@vrld.org> | 2012-03-14 14:14:16 +0100 |
---|---|---|
committer | Matthias Richter <vrld@vrld.org> | 2012-03-14 14:14:16 +0100 |
commit | 465aaf18853e0e96f4a26642fea884919f9a2f88 (patch) | |
tree | 2a0ff552d2bd14886fc94d6a23f387a939788d3f | |
parent | 370c10c78770bc3c1a70a086b238e7a8e5197fb9 (diff) | |
download | Quickie-465aaf18853e0e96f4a26642fea884919f9a2f88.tar.gz Quickie-465aaf18853e0e96f4a26642fea884919f9a2f88.tar.bz2 Quickie-465aaf18853e0e96f4a26642fea884919f9a2f88.tar.xz Quickie-465aaf18853e0e96f4a26642fea884919f9a2f88.zip |
Add gui.core.(disable|clear)KeyFocus
-rw-r--r-- | README.md | 9 | ||||
-rw-r--r-- | core.lua | 50 |
2 files changed, 35 insertions, 24 deletions
@@ -17,6 +17,11 @@ Quickie is an [immediate mode gui][IMGUI] library for [LÖVE][LOVE] -- checkboxes have only a `checked' status local checkbox = {checked = false} + function love.load() + -- disable tabbing through the widgets + gui.core.disableKeyFocus() + end + function love.update(dt) -- widgets are defined by simply calling them. usually a widget returns true if -- if its value changed or if it was activated (click on button, ...) @@ -37,8 +42,8 @@ Quickie is an [immediate mode gui][IMGUI] library for [LÖVE][LOVE] end function love.keypressed(key,code) - -- forward keyboard events to the gui. If you don't want widget tabbing and - -- input widgets, skip this line + -- forward keyboard events to the gui. If you don't want keyboard support + -- skip this line gui.core.keyboard.pressed(key, code) end @@ -17,6 +17,9 @@ local function isActive(id) return context.active == id end local function setKeyFocus(id) context.keyfocus = id end local function hasKeyFocus(id) return context.keyfocus == id end +local function disableKeyFocus() return setKeyFocus{} end +local function clearKeyFocus() return setKeyFocus(nil) end + -- input local mouse = {x = 0, y = 0, down = false} local keyboard = {key = nil, code = -1} @@ -50,7 +53,7 @@ end function keyboard.tryGrab(id) if not context.keyfocus then - context.keyfocus = id + setKeyFocus(id) end end @@ -136,25 +139,28 @@ local function draw() end return { - mouse = mouse, - keyboard = keyboard, - - generateID = generateID, - setHot = setHot, - setActive = setActive, - setKeyFocus = setKeyFocus, - isHot = isHot, - isActive = isActive, - hasKeyFocus = hasKeyFocus, - makeCyclable = makeCyclable, - - style = require((...):match("(.-)[^%.]+$") .. '.style-default'), - color = color, - registerDraw = registerDraw, - draw = draw, - - strictAnd = strictAnd, - strictOr = strictOr, - save_pack = save_pack, - save_unpack = save_unpack, + mouse = mouse, + keyboard = keyboard, + + generateID = generateID, + setHot = setHot, + setActive = setActive, + setKeyFocus = setKeyFocus, + isHot = isHot, + isActive = isActive, + hasKeyFocus = hasKeyFocus, + + disableKeyFocus = disableKeyFocus, + clearKeyFocus = clearKeyFocus, + makeCyclable = makeCyclable, + + style = require((...):match("(.-)[^%.]+$") .. '.style-default'), + color = color, + registerDraw = registerDraw, + draw = draw, + + strictAnd = strictAnd, + strictOr = strictOr, + save_pack = save_pack, + save_unpack = save_unpack, } |