mirror of
https://github.com/esphome/esphome.git
synced 2025-03-12 21:58:14 +00:00
[lvgl] Make layouts work properly on base display (#8193)
This commit is contained in:
parent
1215d2ffeb
commit
977333a73c
@ -396,15 +396,18 @@ def add_hello_world(config):
|
|||||||
|
|
||||||
FINAL_VALIDATE_SCHEMA = final_validation
|
FINAL_VALIDATE_SCHEMA = final_validation
|
||||||
|
|
||||||
LVGL_SCHEMA = (
|
LVGL_SCHEMA = cv.All(
|
||||||
|
container_schema(
|
||||||
|
obj_spec,
|
||||||
cv.polling_component_schema("1s")
|
cv.polling_component_schema("1s")
|
||||||
.extend(obj_schema(LvScrActType()))
|
|
||||||
.extend(
|
.extend(
|
||||||
{
|
{
|
||||||
cv.GenerateID(CONF_ID): cv.declare_id(LvglComponent),
|
cv.GenerateID(CONF_ID): cv.declare_id(LvglComponent),
|
||||||
cv.GenerateID(df.CONF_DISPLAYS): display_schema,
|
cv.GenerateID(df.CONF_DISPLAYS): display_schema,
|
||||||
cv.Optional(df.CONF_COLOR_DEPTH, default=16): cv.one_of(16),
|
cv.Optional(df.CONF_COLOR_DEPTH, default=16): cv.one_of(16),
|
||||||
cv.Optional(df.CONF_DEFAULT_FONT, default="montserrat_14"): lvalid.lv_font,
|
cv.Optional(
|
||||||
|
df.CONF_DEFAULT_FONT, default="montserrat_14"
|
||||||
|
): lvalid.lv_font,
|
||||||
cv.Optional(df.CONF_FULL_REFRESH, default=False): cv.boolean,
|
cv.Optional(df.CONF_FULL_REFRESH, default=False): cv.boolean,
|
||||||
cv.Optional(df.CONF_DRAW_ROUNDING, default=2): cv.positive_int,
|
cv.Optional(df.CONF_DRAW_ROUNDING, default=2): cv.positive_int,
|
||||||
cv.Optional(CONF_BUFFER_SIZE, default="100%"): cv.percentage,
|
cv.Optional(CONF_BUFFER_SIZE, default="100%"): cv.percentage,
|
||||||
@ -444,16 +447,23 @@ LVGL_SCHEMA = (
|
|||||||
cv.GenerateID(CONF_TRIGGER_ID): cv.declare_id(PauseTrigger),
|
cv.GenerateID(CONF_TRIGGER_ID): cv.declare_id(PauseTrigger),
|
||||||
}
|
}
|
||||||
),
|
),
|
||||||
cv.Exclusive(df.CONF_WIDGETS, CONF_PAGES): cv.ensure_list(WIDGET_SCHEMA),
|
cv.Exclusive(df.CONF_WIDGETS, CONF_PAGES): cv.ensure_list(
|
||||||
|
WIDGET_SCHEMA
|
||||||
|
),
|
||||||
cv.Exclusive(CONF_PAGES, CONF_PAGES): cv.ensure_list(
|
cv.Exclusive(CONF_PAGES, CONF_PAGES): cv.ensure_list(
|
||||||
container_schema(page_spec)
|
container_schema(page_spec)
|
||||||
),
|
),
|
||||||
cv.Optional(df.CONF_MSGBOXES): cv.ensure_list(MSGBOX_SCHEMA),
|
cv.Optional(df.CONF_MSGBOXES): cv.ensure_list(MSGBOX_SCHEMA),
|
||||||
cv.Optional(df.CONF_PAGE_WRAP, default=True): lv_bool,
|
cv.Optional(df.CONF_PAGE_WRAP, default=True): lv_bool,
|
||||||
cv.Optional(df.CONF_TOP_LAYER): container_schema(obj_spec),
|
cv.Optional(df.CONF_TOP_LAYER): container_schema(obj_spec),
|
||||||
cv.Optional(df.CONF_TRANSPARENCY_KEY, default=0x000400): lvalid.lv_color,
|
cv.Optional(
|
||||||
|
df.CONF_TRANSPARENCY_KEY, default=0x000400
|
||||||
|
): lvalid.lv_color,
|
||||||
cv.Optional(df.CONF_THEME): cv.Schema(
|
cv.Optional(df.CONF_THEME): cv.Schema(
|
||||||
{cv.Optional(name): obj_schema(w) for name, w in WIDGET_TYPES.items()}
|
{
|
||||||
|
cv.Optional(name): obj_schema(w)
|
||||||
|
for name, w in WIDGET_TYPES.items()
|
||||||
|
}
|
||||||
),
|
),
|
||||||
cv.Optional(df.CONF_GRADIENTS): GRADIENT_SCHEMA,
|
cv.Optional(df.CONF_GRADIENTS): GRADIENT_SCHEMA,
|
||||||
cv.Optional(df.CONF_TOUCHSCREENS, default=None): touchscreen_schema,
|
cv.Optional(df.CONF_TOUCHSCREENS, default=None): touchscreen_schema,
|
||||||
@ -463,8 +473,10 @@ LVGL_SCHEMA = (
|
|||||||
cv.Optional(df.CONF_RESUME_ON_INPUT, default=True): cv.boolean,
|
cv.Optional(df.CONF_RESUME_ON_INPUT, default=True): cv.boolean,
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
.extend(DISP_BG_SCHEMA)
|
.extend(DISP_BG_SCHEMA),
|
||||||
.add_extra(add_hello_world)
|
),
|
||||||
|
cv.has_at_most_one_key(CONF_PAGES, df.CONF_LAYOUT),
|
||||||
|
add_hello_world,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user