diff options
-rwxr-xr-x | button.lua | 2 | ||||
-rwxr-xr-x | checkbox.lua | 2 | ||||
-rwxr-xr-x | core.lua | 4 | ||||
-rwxr-xr-x | init.lua | 2 | ||||
-rwxr-xr-x | input.lua | 3 | ||||
-rwxr-xr-x | label.lua | 2 | ||||
-rwxr-xr-x | slider.lua | 2 | ||||
-rwxr-xr-x | slider2d.lua | 2 | ||||
-rwxr-xr-x | style-default.lua | 24 |
9 files changed, 12 insertions, 31 deletions
@@ -1,4 +1,4 @@ -local core = require((...):match("^(.+)%.[^%.]+") .. '.core') +local core = require((...):match("(.-)[^%.]+$") .. 'core') -- the widget return function(title, x,y, w,h, draw) diff --git a/checkbox.lua b/checkbox.lua index c5f5fce..306fc8f 100755 --- a/checkbox.lua +++ b/checkbox.lua @@ -1,4 +1,4 @@ -local core = require((...):match("^(.+)%.[^%.]+") .. '.core') +local core = require((...):match("(.-)[^%.]+$") .. 'core') return function(info, x,y, w,h, draw) local id = core.generateID() @@ -1,5 +1,6 @@ -- state local context = {maxid = 0} +local draw_items = {n = 0} local NO_WIDGET = function()end local function generateID() @@ -97,7 +98,6 @@ local function save_unpack(t, i) return t[i], save_unpack(t, i+1) end -local draw_items = {n = 0} local function registerDraw(id, f, ...) assert(type(f) == 'function' or (getmetatable(f) or {}).__call, 'Drawing function is not a callable type!') @@ -151,7 +151,7 @@ return { hasKeyFocus = hasKeyFocus, makeTabable = makeTabable, - style = require((...):match("^(.+)%.[^%.]+") .. '.style-default'), + style = require((...):match("(.-)[^%.]+$") .. '.style-default'), color = color, registerDraw = registerDraw, draw = draw, @@ -1,4 +1,4 @@ -local BASE = (...) .. '.' +local BASE = ((...):match('(.+)%.') or ...) .. '.' return { core = require(BASE .. 'core'), @@ -1,4 +1,4 @@ -local core = require((...):match("^(.+)%.[^%.]+") .. '.core') +local core = require((...):match("(.-)[^%.]+$") .. 'core') return function(info, x,y,w,h, draw) info.text = info.text or "" @@ -10,6 +10,7 @@ return function(info, x,y,w,h, draw) if core.isActive(id) then core.setKeyFocus(id) end core.registerDraw(id, draw or core.style.Input, info.text, info.cursor, x,y,w,h) + if not core.hasKeyFocus(id) then return false end local changed = false -- editing @@ -1,4 +1,4 @@ -local core = require((...):match("^(.+)%.[^%.]+") .. '.core') +local core = require((...):match("(.-)[^%.]+$") .. 'core') return function(text, x,y,w,h,align, draw) local id = core.generateID() @@ -1,4 +1,4 @@ -local core = require((...):match("^(.+)%.[^%.]+") .. '.core') +local core = require((...):match("(.-)[^%.]+$") .. 'core') return function(info, x,y,w,h, draw) assert(type(info) == 'table' and info.value, "Incomplete slider value info") diff --git a/slider2d.lua b/slider2d.lua index 023d16f..f20a05b 100755 --- a/slider2d.lua +++ b/slider2d.lua @@ -1,4 +1,4 @@ -local core = require((...):match("^(.+)%.[^%.]+") .. '.core') +local core = require((...):match("(.-)[^%.]+$") .. 'core') return function(info, x,y,w,h, draw) assert(type(info) == 'table' and type(info.value) == "table", "Incomplete slider value info") diff --git a/style-default.lua b/style-default.lua index 7c85e46..5ae9dda 100755 --- a/style-default.lua +++ b/style-default.lua @@ -12,10 +12,6 @@ end local function Button(state, title, x,y,w,h) local c = color[state] - if state ~= 'normal' then - love.graphics.setColor(c.fg) - love.graphics.rectangle('fill', x+3,y+3,w,h) - end love.graphics.setColor(c.bg) love.graphics.rectangle('fill', x,y,w,h) love.graphics.setColor(c.fg) @@ -39,10 +35,6 @@ end local function Slider(state, fraction, x,y,w,h, vertical) local c = color[state] - if state ~= 'normal' then - love.graphics.setColor(c.fg) - love.graphics.rectangle('fill', x+3,y+3,w,h) - end love.graphics.setColor(c.bg) love.graphics.rectangle('fill', x,y,w,h) @@ -59,10 +51,6 @@ end local function Slider2D(state, fraction, x,y,w,h, vertical) local c = color[state] - if state ~= 'normal' then - love.graphics.setColor(c.fg) - love.graphics.rectangle('fill', x+3,y+3,w,h) - end love.graphics.setColor(c.bg) love.graphics.rectangle('fill', x,y,w,h) @@ -83,10 +71,6 @@ end local function Input(state, text, cursor, x,y,w,h) local c = color[state] - if state ~= 'normal' then - love.graphics.setColor(c.fg) - love.graphics.rectangle('fill', x+3,y+3,w,h) - end love.graphics.setColor(c.bg) love.graphics.rectangle('fill', x,y,w,h) love.graphics.setColor(c.fg) @@ -107,17 +91,13 @@ end local function Checkbox(state, checked, x,y,w,h) local c = color[state] - if state ~= 'normal' then - love.graphics.setColor(c.fg) - love.graphics.rectangle('fill', x+3,y+3,w,h) - end love.graphics.setColor(c.bg) love.graphics.rectangle('fill', x,y,w,h) love.graphics.setColor(c.fg) love.graphics.rectangle('line', x,y,w,h) if checked then - local r = math.max(math.min(w/2,h/2) - 3, 2) - love.graphics.circle('fill', x+w/2,y+h/2,r) + local r = math.max(math.min(w/7,h/7), 2) + love.graphics.rectangle('fill', x+r,y+r, w-2*r,h-2*r) end end |