From 78807d7c8d94a3cbce87b28b9c42227821dff7ca Mon Sep 17 00:00:00 2001 From: Insality Date: Thu, 26 Sep 2019 08:53:47 +0300 Subject: [PATCH] add simple blocker component --- druid/base/blocker.lua | 33 +++++++++++++++++++++++++++++++++ druid/druid.lua | 1 + 2 files changed, 34 insertions(+) create mode 100644 druid/base/blocker.lua 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"),