1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
// SPDX-License-Identifier: MIT OR Apache-2.0
//! Safe Rust bindings for LVGL on embedded and host targets.
extern crate alloc;
/// Built-in LVGL font handles.
/// LVGL driver initialization (tick source, log bridge).
/// Display output: DMA-aligned render buffers and display initialisation.
/// ESP32 flush pipeline: async DMA transfer between LVGL and the display driver.
/// Animation descriptors, path functions, and timeline management.
/// Style system: builders, selectors, themes, gradients, and color palettes.
/// Safe wrapper around LVGL events.
/// Universal convenience re-exports (`use oxivgl::prelude::*`).
/// LVGL periodic timer with polling-based trigger detection.
/// View trait and LVGL render loop.
/// Navigation stack: push/pop/replace/modal view management.
/// General LVGL enum types (event codes, object flags, states, opacity, scroll).
/// Layout types: flex flow/alignment, grid alignment/cells, layout engine.
/// Type-safe LVGL widget wrappers.
/// Draw primitives: `Area`, `Layer`, rectangle/label descriptors, draw task wrappers.
/// Input device queries.
/// Screen capture (host-only).
/// LVGL math utility wrappers (Bezier, mapping).
/// LVGL built-in icon symbols (Font Awesome subset).
/// Owned LVGL draw buffer wrapping `lv_draw_buf_t`.
/// LVGL translation/i18n support (`LV_USE_TRANSLATION`).
/// LVGL input group — focus management for keyboard/encoder navigation.
/// Grid navigation (`LV_USE_GRIDNAV`) — keyboard-driven focus inside containers.
/// Declare an LVGL image asset compiled by `oxivgl-build`.
///
/// Equivalent to LVGL's `LV_IMAGE_DECLARE`. Generates a safe
/// `&'static lv_image_dsc_t` reference from the `extern "C"` symbol
/// produced by `LVGLImage.py`.
///
/// The generated function has the same name as the C symbol and returns
/// `&'static lv_image_dsc_t`.
///
/// # Example
///
/// ```ignore
/// oxivgl::image_declare!(img_cogwheel_argb);
/// let img = Image::new(&screen)?;
/// img.set_src(img_cogwheel_argb());
/// ```