Skip to main content

matrix_gui/
prelude.rs

1//! Matrix GUI Prelude
2//!
3//! This module provides a convenient way to import commonly used matrix_gui items.
4//!
5//! Usage:
6//! ```rust
7//! use matrix_gui::prelude::*;
8//! ```
9
10// Core UI components
11pub use crate::ui::{GuiError, GuiResult, HorizontalAlign, Response, Ui, Widget};
12pub use crate::ui_font::{UiFont, UiTextStyle};
13
14// Animation subsystem
15pub use crate::animation::{
16    ANIM_SCALE, Anim, AnimId, AnimInstance, AnimManager, AnimOptions, AnimState, AnimStatus, Easing,
17};
18
19#[cfg(feature = "interaction")]
20pub use crate::{
21    ui::Interaction,
22    widgets::interact::{
23        button::Button, checkbox::Checkbox, radiobutton::RadioButton, slider::Slider,
24    },
25};
26// Focus management
27#[cfg(feature = "focus")]
28pub use crate::focus::{FocusState, Focused};
29
30pub use crate::{helper::lw_geometry::*, helper::lw_primitives::*, helper::*, i18n::*};
31
32// Widget state management
33pub use crate::widget_state::{RenderState, RenderStatus, WidgetId, WidgetStates};
34
35// Region management
36pub use crate::region::{self, Region};
37
38#[cfg(feature = "popup")]
39pub use crate::modal::Modal;
40
41#[cfg(all(feature = "interaction", feature = "popup"))]
42pub use crate::widgets::interact::msgbox::MessageBox;
43
44// Built-in widgets
45pub use crate::widgets::{
46    background::Background,
47    bar::Bar,
48    label::Label,
49    listbox::ListBox,
50    plaintext::PlainText,
51    staticimage::StaticImage,
52    staticline::{OriHorizontal, OriVertical, StaticLine},
53};
54
55// Style and theming
56pub use crate::rgb565;
57pub use crate::style::Style;
58
59// Re-export
60pub use paste;
61
62// Re-export commonly used embedded-graphics items
63pub use embedded_graphics::{
64    draw_target::DrawTarget,
65    geometry::{AnchorPoint, Point, Size},
66    pixelcolor::{BinaryColor, PixelColor, Rgb565},
67    prelude::*,
68    primitives::{PrimitiveStyle, PrimitiveStyleBuilder, Rectangle, RoundedRectangle},
69    text::{Baseline, Text},
70};