diff --git a/lua/img/pausecirc.png b/lua/img/pausecirc.png index d7e944fa..4c6f4fd8 100644 Binary files a/lua/img/pausecirc.png and b/lua/img/pausecirc.png differ diff --git a/lua/img/playcirc.png b/lua/img/playcirc.png index f2e48da7..dc394f3e 100644 Binary files a/lua/img/playcirc.png and b/lua/img/playcirc.png differ diff --git a/lua/img/settings.png b/lua/img/settings.png index 4fc29e51..e6fbecb3 100644 Binary files a/lua/img/settings.png and b/lua/img/settings.png differ diff --git a/lua/settings.lua b/lua/settings.lua index 934d32a2..9b77274d 100644 --- a/lua/settings.lua +++ b/lua/settings.lua @@ -313,6 +313,7 @@ local ThemeSettings = SettingsScreen:new { local themeOptions = {} themeOptions["Dark"] = "/lua/theme_dark.lua" themeOptions["Light"] = "/lua/theme_light.lua" + themeOptions["High Contrast"] = "/lua/theme_hicon.lua" -- Parse theme directory for more themes local theme_dir_iter = filesystem.iterator("/.themes/") diff --git a/lua/theme_hicon.lua b/lua/theme_hicon.lua new file mode 100644 index 00000000..30947c18 --- /dev/null +++ b/lua/theme_hicon.lua @@ -0,0 +1,273 @@ +local lvgl = require("lvgl") +local font = require("font") + +-- local background_color = "#000000" +-- local text_color = "#33b5e5" + +local text_color = "#000000" +local background_color = "#FFFFFF" + +local theme_hicon = { + base = { + {lvgl.PART.MAIN, lvgl.Style { + bg_opa = lvgl.OPA(0), + text_font = font.fusion_12, + }}, + {lvgl.PART.SCROLLBAR, lvgl.Style { + bg_color = text_color, + }}, + }, + root = { + {lvgl.PART.MAIN, lvgl.Style { + bg_opa = lvgl.OPA(100), + bg_color = background_color, -- Root background color + text_color = text_color + }}, + }, + header = { + {lvgl.PART.MAIN, lvgl.Style { + bg_opa = lvgl.OPA(100), + bg_color = background_color, + }}, + }, + pop_up = { + {lvgl.PART.MAIN, lvgl.Style { + bg_opa = lvgl.OPA(100), + bg_color = background_color, + border_color = text_color, + border_width = 1, + }}, + }, + button = { + {lvgl.PART.MAIN, lvgl.Style { + pad_left = 2, + pad_right = 2, + pad_top = 1, + pad_bottom = 1, + bg_color = background_color, + image_recolor_opa = 255, + image_recolor = text_color, + radius = 5, + border_color = text_color, + border_width = 1, + }}, + {lvgl.PART.MAIN | lvgl.STATE.FOCUSED, lvgl.Style { + bg_opa = lvgl.OPA(100), + bg_color = text_color, + image_recolor_opa = 255, + image_recolor = background_color, + text_color = background_color, + }}, + }, + listbutton = { + {lvgl.PART.MAIN | lvgl.STATE.FOCUSED, lvgl.Style { + bg_opa = lvgl.OPA(100), + bg_color = text_color, + text_color = background_color, + }}, + }, + bar = { + {lvgl.PART.MAIN, lvgl.Style { + bg_opa = lvgl.OPA(100), + bg_color = background_color, + border_color = text_color, + border_width = 1, + radius = 32767, -- LV_RADIUS_CIRCLE = 0x7fff + }}, + {lvgl.PART.INDICATOR, lvgl.Style { + bg_opa = lvgl.OPA(100), + bg_color = text_color, + radius = 32767, -- LV_RADIUS_CIRCLE = 0x7fff + }}, + }, + slider = { + {lvgl.PART.MAIN, lvgl.Style { + bg_opa = lvgl.OPA(100), + bg_color = background_color, + radius = 32767, -- LV_RADIUS_CIRCLE = 0x7fff + border_color = text_color, + border_width = 1, + height = 8, + }}, + {lvgl.PART.INDICATOR, lvgl.Style { + radius = 32767, -- LV_RADIUS_CIRCLE = 0x7fff + bg_color = text_color, + }}, + {lvgl.PART.KNOB, lvgl.Style { + radius = 32767, -- LV_RADIUS_CIRCLE = 0x7fff + bg_color = background_color, + border_color = text_color, + border_width = 1, + }}, + {lvgl.PART.MAIN | lvgl.STATE.FOCUSED, lvgl.Style { + bg_color = background_color, + }}, + {lvgl.PART.KNOB | lvgl.STATE.FOCUSED, lvgl.Style { + bg_color = text_color, + }}, + {lvgl.PART.KNOB | lvgl.STATE.EDITED, lvgl.Style { + pad_all = 2, + }}, + {lvgl.PART.INDICATOR | lvgl.STATE.CHECKED, lvgl.Style { + bg_color = text_color, + }}, + }, + scrubber = { + {lvgl.PART.MAIN, lvgl.Style { + bg_opa = lvgl.OPA(100), + bg_color = background_color, + radius = 32767, -- LV_RADIUS_CIRCLE = 0x7fff + border_color = text_color, + border_width = 1, + }}, + {lvgl.PART.INDICATOR, lvgl.Style { + radius = 32767, -- LV_RADIUS_CIRCLE = 0x7fff + bg_color = text_color, + }}, + {lvgl.PART.KNOB, lvgl.Style { + radius = 32767, -- LV_RADIUS_CIRCLE = 0x7fff + bg_color = background_color, + border_color = text_color, + border_width = 1, + }}, + {lvgl.PART.MAIN | lvgl.STATE.FOCUSED, lvgl.Style { + bg_color = background_color, + }}, + {lvgl.PART.KNOB | lvgl.STATE.FOCUSED, lvgl.Style { + bg_color = text_color, + pad_all = 1, + }}, + {lvgl.PART.KNOB | lvgl.STATE.EDITED, lvgl.Style { + pad_all = 4, + }}, + {lvgl.PART.INDICATOR | lvgl.STATE.CHECKED, lvgl.Style { + bg_color = text_color, + }}, + }, + switch = { + {lvgl.PART.MAIN, lvgl.Style { + bg_opa = lvgl.OPA(100), + width = 18, + height = 10, + radius = 32767, -- LV_RADIUS_CIRCLE = 0x7fff + bg_color = background_color, + border_color = text_color, + border_width = 1, + }}, + {lvgl.PART.INDICATOR, lvgl.Style { + radius = 32767, -- LV_RADIUS_CIRCLE = 0x7fff + bg_color = background_color, + }}, + {lvgl.PART.INDICATOR | lvgl.STATE.CHECKED, lvgl.Style { + bg_opa = lvgl.OPA(100), + bg_color = text_color, + }}, + {lvgl.PART.KNOB, lvgl.Style { + radius = 32767, -- LV_RADIUS_CIRCLE = 0x7fff + bg_opa = lvgl.OPA(100), + bg_color = background_color, + border_color = text_color, + border_width = 1, + }}, + {lvgl.PART.KNOB | lvgl.STATE.FOCUSED, lvgl.Style { + bg_color = text_color, + }}, + }, + dropdown = { + {lvgl.PART.MAIN, lvgl.Style{ + radius = 2, + pad_all = 2, + border_width = 1, + border_color = text_color, + border_side = 15, -- LV_BORDER_SIDE_FULL + bg_color = background_color, + bg_opa = lvgl.OPA(100), + }}, + {lvgl.PART.MAIN | lvgl.STATE.FOCUSED, lvgl.Style { + border_color = text_color, + bg_color = text_color, + text_color = background_color, + }}, + }, + dropdownlist = { + {lvgl.PART.MAIN, lvgl.Style{ + radius = 2, + pad_all = 2, + border_width = 1, + border_color = text_color, + bg_opa = lvgl.OPA(100), + bg_color = background_color + }}, + {lvgl.PART.SELECTED | lvgl.STATE.CHECKED, lvgl.Style { + bg_color = text_color, + text_color = background_color, + }}, + }, + database_indicator = { + {lvgl.PART.MAIN, lvgl.Style { + image_recolor_opa = 255, + image_recolor = text_color, + }}, + }, + settings_title = { + {lvgl.PART.MAIN, lvgl.Style { + pad_top = 2, + pad_bottom = 4, + text_font = font.fusion_10, + text_color = text_color, + }}, + }, + icon_disabled = { + {lvgl.PART.MAIN, lvgl.Style { + image_recolor_opa = 255, + image_recolor = text_color, + }}, + }, + icon_enabled = { + {lvgl.PART.MAIN, lvgl.Style { + image_recolor_opa = 255, + image_recolor = text_color, + }}, + }, + now_playing = { + {lvgl.PART.MAIN, lvgl.Style { + bg_opa = lvgl.OPA(100), + radius = 32767, -- LV_RADIUS_CIRCLE = 0x7fff + border_width = 1, + border_color = text_color, + border_side = 15, -- LV_BORDER_SIDE_FULL + }}, + }, + menu_icon = { + {lvgl.PART.MAIN, lvgl.Style { + pad_all = 4, + radius = 4 + }}, + }, + battery = { + {lvgl.PART.MAIN, lvgl.Style { + image_recolor_opa = 255, + image_recolor = text_color, + }}, + }, + battery_0 = { + {lvgl.PART.MAIN, lvgl.Style { + image_recolor_opa = 255, + image_recolor = text_color, + }}, + }, + battery_charging = { + {lvgl.PART.MAIN, lvgl.Style { + image_recolor_opa = 255, + image_recolor = text_color, + }}, + }, + battery_charge_icon = { + {lvgl.PART.MAIN, lvgl.Style { + image_recolor_opa = 200, + image_recolor = text_color, + }}, + }, +} + +return theme_hicon