From d719f9c5017ad8006c21b6d546a5d70e846e9502 Mon Sep 17 00:00:00 2001 From: ailurux Date: Mon, 12 Aug 2024 03:19:03 +0000 Subject: daniel/theme-setting (#87) - Themes can be loaded from disk and built-in - Themes can be selected in a new themes menu of the settings screen - Some touch-ups to existing themes - The saved theme is persisted in nvs Reviewed-on: https://codeberg.org/cool-tech-zone/tangara-fw/pulls/87 Reviewed-by: cooljqln Co-authored-by: ailurux Co-committed-by: ailurux --- luals-stubs/theme.lua | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 luals-stubs/theme.lua (limited to 'luals-stubs/theme.lua') diff --git a/luals-stubs/theme.lua b/luals-stubs/theme.lua new file mode 100644 index 00000000..4a945cb3 --- /dev/null +++ b/luals-stubs/theme.lua @@ -0,0 +1,28 @@ +--- @meta + +--- @class theme +local theme = {} + +--- Loads a theme from a filename, this can be either builtin (ie, located in +--- "/lua/") or on the sdcard (in, '/sdcard/.themes/') +--- If successful, the filename will be saved to non-volatile storage. +--- Returns whether the theme was successfully loaded +--- @param filename string +--- @return boolean +function theme.load_theme(filename) end + +--- Sets a theme directly from a table. Does not persist between restarts. +--- @param theme +function theme.set(theme) end + +--- Set the style name (similar in concept to a css selector) for an object +--- This will set any styles associated with that style name on the object +--- @param obj Object The object to set a particular style on +--- @param style string The name of the style to apply to this object +function theme.set_style(obj, style) end + +--- Returns the filename of the saved theme +--- @return string +function theme.theme_filename() end + +return theme -- cgit v1.2.3