diff --git a/druid/base/blocker.lua b/druid/base/blocker.lua new file mode 100644 index 0000000..14f3fc2 --- /dev/null +++ b/druid/base/blocker.lua @@ -0,0 +1,33 @@ +--- Component to block input on specify zone (node) +-- @module base.blocker + +local const = require("druid.const") +local helper = require("druid.helper") + + +local M = {} +M.interest = { + const.ON_SWIPE +} + + +function M.init(self, node) + self.node = helper.get_node(node) + self.event = const.ACTION_TOUCH +end + + +function M.on_input(self, action_id, action) + if not helper.is_enabled(self.node) then + return false + end + + if gui.pick_node(self.node, action.x, action.y) then + return true + end + + return false +end + + +return M diff --git a/druid/druid.lua b/druid/druid.lua index a7404a6..f5b7c87 100644 --- a/druid/druid.lua +++ b/druid/druid.lua @@ -16,6 +16,7 @@ local _fct_metatable = {} --- Basic components M.comps = { button = require("druid.base.button"), + blocker = require("druid.base.blocker"), back_handler = require("druid.base.back_handler"), text = require("druid.base.text"), timer = require("druid.base.timer"),