You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
174 lines
4.3 KiB
174 lines
4.3 KiB
local lvgl = require("lvgl")
|
|
local font = require("font")
|
|
|
|
local background_color = "#ffffff"
|
|
local background_muted = "#fafafa"
|
|
local text_color = "#000000"
|
|
local highlight_color = "#ce93d8"
|
|
local icon_enabled_color = "#2c2c2c"
|
|
local icon_disabled_color = "#999999"
|
|
|
|
local theme_light = {
|
|
base = {
|
|
{lvgl.PART.MAIN, lvgl.Style {
|
|
bg_opa = lvgl.OPA(0),
|
|
text_font = font.fusion_12,
|
|
}},
|
|
},
|
|
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_muted,
|
|
}},
|
|
},
|
|
pop_up = {
|
|
{lvgl.PART.MAIN, lvgl.Style {
|
|
bg_opa = lvgl.OPA(100),
|
|
bg_color = background_muted,
|
|
}},
|
|
},
|
|
button = {
|
|
{lvgl.PART.MAIN, lvgl.Style {
|
|
pad_left = 2,
|
|
pad_right = 2,
|
|
pad_top = 1,
|
|
pad_bottom = 1,
|
|
bg_color = background_color,
|
|
img_recolor_opa = 180,
|
|
img_recolor = highlight_color,
|
|
radius = 5,
|
|
}},
|
|
{lvgl.PART.MAIN | lvgl.STATE.FOCUSED, lvgl.Style {
|
|
bg_opa = lvgl.OPA(100),
|
|
bg_color = highlight_color,
|
|
img_recolor_opa = 0,
|
|
}},
|
|
},
|
|
listbutton = {
|
|
{lvgl.PART.MAIN | lvgl.STATE.FOCUSED, lvgl.Style {
|
|
bg_opa = lvgl.OPA(100),
|
|
bg_color = highlight_color,
|
|
}},
|
|
},
|
|
bar = {
|
|
{lvgl.PART.MAIN, lvgl.Style {
|
|
bg_opa = lvgl.OPA(100),
|
|
radius = 32767, -- LV_RADIUS_CIRCLE = 0x7fff
|
|
}},
|
|
},
|
|
slider = {
|
|
{lvgl.PART.MAIN, lvgl.Style {
|
|
bg_opa = lvgl.OPA(100),
|
|
bg_color = background_muted,
|
|
radius = 32767, -- LV_RADIUS_CIRCLE = 0x7fff
|
|
}},
|
|
{lvgl.PART.INDICATOR, lvgl.Style {
|
|
radius = 32767, -- LV_RADIUS_CIRCLE = 0x7fff
|
|
bg_color = highlight_color,
|
|
}},
|
|
{lvgl.PART.KNOB, lvgl.Style {
|
|
radius = 32767, -- LV_RADIUS_CIRCLE = 0x7fff
|
|
pad_all = 2,
|
|
bg_color = background_muted,
|
|
shadow_width = 5,
|
|
shadow_opa = lvgl.OPA(100)
|
|
}},
|
|
{lvgl.PART.MAIN | lvgl.STATE.FOCUSED, lvgl.Style {
|
|
bg_color = background_muted,
|
|
}},
|
|
{lvgl.PART.KNOB | lvgl.STATE.FOCUSED, lvgl.Style {
|
|
bg_color = highlight_color,
|
|
}},
|
|
{lvgl.PART.INDICATOR | lvgl.STATE.CHECKED, lvgl.Style {
|
|
bg_color = highlight_color,
|
|
}},
|
|
},
|
|
switch = {
|
|
{lvgl.PART.MAIN, lvgl.Style {
|
|
bg_opa = lvgl.OPA(100),
|
|
width = 28,
|
|
height = 8,
|
|
radius = 32767, -- LV_RADIUS_CIRCLE = 0x7fff
|
|
bg_color = background_muted,
|
|
border_color = highlight_color,
|
|
}},
|
|
{lvgl.PART.INDICATOR, lvgl.Style {
|
|
radius = 32767, -- LV_RADIUS_CIRCLE = 0x7fff
|
|
bg_color = background_muted,
|
|
}},
|
|
{lvgl.PART.INDICATOR | lvgl.STATE.CHECKED, lvgl.Style {
|
|
bg_color = highlight_color,
|
|
}},
|
|
{lvgl.PART.KNOB, lvgl.Style {
|
|
radius = 32767, -- LV_RADIUS_CIRCLE = 0x7fff
|
|
pad_all = 2,
|
|
bg_opa = lvgl.OPA(100),
|
|
bg_color = background_muted,
|
|
}},
|
|
{lvgl.PART.KNOB | lvgl.STATE.FOCUSED, lvgl.Style {
|
|
bg_color = highlight_color,
|
|
}},
|
|
},
|
|
dropdown = {
|
|
{lvgl.PART.MAIN, lvgl.Style{
|
|
radius = 2,
|
|
pad_all = 2,
|
|
border_width = 1,
|
|
border_color = background_muted,
|
|
border_side = 15, -- LV_BORDER_SIDE_FULL
|
|
bg_color = background_color,
|
|
}},
|
|
{lvgl.PART.MAIN | lvgl.STATE.FOCUSED, lvgl.Style {
|
|
border_color = highlight_color,
|
|
}},
|
|
},
|
|
dropdownlist = {
|
|
{lvgl.PART.MAIN, lvgl.Style{
|
|
radius = 2,
|
|
pad_all = 2,
|
|
border_width = 1,
|
|
border_color = highlight_color,
|
|
bg_opa = lvgl.OPA(100),
|
|
bg_color = background_color
|
|
}},
|
|
{lvgl.PART.SELECTED | lvgl.STATE.CHECKED, lvgl.Style {
|
|
bg_color = highlight_color,
|
|
}},
|
|
},
|
|
database_indicator = {
|
|
{lvgl.PART.MAIN, lvgl.Style {
|
|
img_recolor_opa = 180,
|
|
img_recolor = highlight_color,
|
|
}},
|
|
},
|
|
settings_title = {
|
|
{lvgl.PART.MAIN, lvgl.Style {
|
|
pad_top = 2,
|
|
pad_bottom = 4,
|
|
text_font = font.fusion_10,
|
|
text_color = highlight_color,
|
|
}},
|
|
},
|
|
icon_disabled = {
|
|
{lvgl.PART.MAIN, lvgl.Style {
|
|
img_recolor_opa = 180,
|
|
img_recolor = icon_disabled_color,
|
|
}},
|
|
},
|
|
icon_enabled = {
|
|
{lvgl.PART.MAIN, lvgl.Style {
|
|
img_recolor_opa = 180,
|
|
img_recolor = icon_enabled_color,
|
|
}},
|
|
},
|
|
|
|
}
|
|
|
|
return theme_light
|
|
|