From 468b791050d9aa631871002e4fde70c3ea82bc0c Mon Sep 17 00:00:00 2001 From: "Kartik K. Agaram" Date: Tue, 23 Aug 2022 11:43:10 -0700 Subject: flip return value of button handlers This is compatible with Javascript, and it also seems like a better default; when people forget to think about return values in click handlers, they should be consumed. --- button.lua | 7 +++---- edit.lua | 3 +-- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/button.lua b/button.lua index 4c7fe0b..748f5ae 100644 --- a/button.lua +++ b/button.lua @@ -1,7 +1,6 @@ -- Simple immediate-mode buttons with (currently) just an onpress1 handler for -- the left button. --- If the handler returns true, it'll prevent any further processing of the --- event. +-- If any applicable button handler returns true, it'll propagate the click to other handlers. -- draw button and queue up event handlers function button(State, name, params) @@ -15,14 +14,14 @@ function button(State, name, params) end -- process button event handlers -function propagate_to_button_handlers(State, x, y, mouse_button) +function mouse_press_consumed_by_any_button_handler(State, x, y, mouse_button) if State.button_handlers == nil then return end for _,ev in ipairs(State.button_handlers) do if x>ev.x and xev.y and y