summaryrefslogtreecommitdiff
path: root/lua/licenses.lua
diff options
context:
space:
mode:
authorjacqueline <me@jacqueline.id.au>2024-03-07 10:59:03 +1100
committerjacqueline <me@jacqueline.id.au>2024-03-07 10:59:03 +1100
commitef72b25660912ff247997089abfb93e9f0b52809 (patch)
treed5d9711cb5a4192966d914094e9370c446f145fb /lua/licenses.lua
parent53c4ea7805f1af6a4d2969fc8eabbc8ae26ac5ca (diff)
downloadtangara-fw-ef72b25660912ff247997089abfb93e9f0b52809.tar.gz
use prototype inheritance for lua screens, rather than functions
this gives us a way to give each screen nice little hooks, like 'onShown' and 'onHidden'. later we can use these hooks to disable bindings for screens that aren't in-use.
Diffstat (limited to 'lua/licenses.lua')
-rw-r--r--lua/licenses.lua29
1 files changed, 17 insertions, 12 deletions
diff --git a/lua/licenses.lua b/lua/licenses.lua
index 83437454..fb0e5702 100644
--- a/lua/licenses.lua
+++ b/lua/licenses.lua
@@ -2,20 +2,23 @@ local backstack = require("backstack")
local widgets = require("widgets")
local font = require("font")
local theme = require("theme")
+local screen = require("screen")
local function show_license(text)
- backstack.push(function()
- local screen = widgets.MenuScreen {
- show_back = true,
- title = "Licenses",
- }
- screen.root:Label {
- w = lvgl.PCT(100),
- h = lvgl.SIZE_CONTENT,
- text_font = font.fusion_10,
- text = text,
- }
- end)
+ backstack.push(screen:new {
+ createUi = function(self)
+ self.menu = widgets.MenuScreen {
+ show_back = true,
+ title = "Licenses",
+ }
+ self.menu.root:Label {
+ w = lvgl.PCT(100),
+ h = lvgl.SIZE_CONTENT,
+ text_font = font.fusion_10,
+ text = text,
+ }
+ end
+ })
end
local function gpl(copyright)
@@ -175,4 +178,6 @@ return function()
library("tremor", "bsd", function()
xiphbsd("Copyright (c) 2002, Xiph.org Foundation")
end)
+
+ return menu
end