local TouchConfigScene = SCENE:extend() TouchConfigScene.title = "Touchscreen config\n(you can tap anywhere on touch screen to select this)" local widgetList = { select_widget = BUTTON.new{ text = "Select key\n[Rotate right 2]", x = 10, y = 10, w = 120, h = 110 }, BUTTON.new{ text = "[—]\nSmaller", x = 140, y = 10, w = 70, h = 50, }, BUTTON.new{ text = "Size: 50\nTap to reset", x = 220, y = 10, w = 110, h = 50, }, BUTTON.new{ text = "[+]\nBigger", x = 340, y = 10, w = 70, h = 50, }, BUTTON.new{ text = "[—]\nBlurrier", x = 140, y = 70, w = 70, h = 50, }, BUTTON.new{ text = "Opacity: 50%\nTap to reset", x = 220, y = 70, w = 110, h = 50, }, BUTTON.new{ text = "[+]\nClearer", x = 340, y = 70, w = 70, h = 50, }, BUTTON.new{ text = "SAVE and\nback to MENU", x = 480, y = 10, w = 150, h = 50, codeWhenReleased = function() SCENE = TitleScene() end }, BUTTON.new{ text = "DISCARD\nchanges", x = 480, y = 70, w = 70, h = 50, codeWhenReleased = function() SCENE = TitleScene() end }, BUTTON.new{ text = "RESET to\nDEFAULT", x = 560, y = 70, w = 70, h = 50, codeWhenReleased = function() SCENE = TitleScene() end }, } local function widgetList_update() for _, v in pairs(widgetList) do v:update() end end local function widgetList_draw() for _, v in pairs(widgetList) do v:draw() end end local function widgetList_isHovering(x, y) for _, v in pairs(widgetList) do v:isHovering(x, y) end end local function widgetList_press() for _, v in pairs(widgetList) do v:press() end end local function widgetList_release() for _, v in pairs(widgetList) do v:release() end end function TouchConfigScene:new() -- TODO end function TouchConfigScene:update() -- TODO end function TouchConfigScene:render() MainBackground() widgetList_draw() end ---@param e SCENE_onInput function TouchConfigScene:onInputMove(e) if e.type == "mouse" then widgetList_isHovering(e.x, e.y) end end ---@param e SCENE_onInput function TouchConfigScene:onInputPress(e) if e.input == 'menu_back' then SCENE = InputConfigScene() end if e.type == "mouse" then widgetList_press() end if e.type == "touch" then widgetList_isHovering(e.x,e.y) widgetList_press() end end function TouchConfigScene:onInputRelease(e) if e.type == "mouse" then widgetList_release() widgetList_isHovering(x, y) elseif e.type == "touch" then widgetList_release() end end return TouchConfigScene