Files
tromi_mobile/scene/touch_config.lua
Squishy (C6H12O6+NaCl+H2O) 1961f3b832 Small update
2024-05-20 23:50:32 +07:00

110 lines
2.6 KiB
Lua

local TouchConfigScene = SCENE:extend()
TouchConfigScene.title = "Touchscreen config\n(you can tap anywhere on touch screen to select this)"
--[[
TODO:
1. Can import and export data
2. Add behaviors
]]
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 = 145, y = 10, w = 100, h = 50,
},
BUTTON.new{
text = "Size: 50\nTap to reset",
x = 255, y = 10, w = 100, h = 50,
},
BUTTON.new{
text = "[+]\nBigger",
x = 365, y = 10, w = 100, h = 50,
},
BUTTON.new{
text = "[—]\nCan't see",
x = 145, y = 70, w = 100, h = 50,
},
BUTTON.new{
text = "Opacity: 50%\nTap to reset",
x = 255, y = 70, w = 100, h = 50,
},
BUTTON.new{
text = "[+]\nTotally see",
x = 365, y = 70, w = 100, 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,
},
BUTTON.new{
text = "RESET to\nDEFAULT",
x = 560, y = 70, w = 70, h = 50,
},
}
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
---@param e SCENE_onInput
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