1#![cfg_attr(not(test), no_std)]
24#![warn(missing_docs)]
25
26#[cfg(any(feature = "simulator", feature = "net"))]
27extern crate std;
28
29pub use zest_core;
30pub use zest_theme;
31pub use zest_widget;
32
33#[cfg(feature = "simulator")]
34pub use zest_simulator;
35
36pub mod time {
38 pub use zest_core::time::*;
39}
40
41#[cfg(feature = "net")]
50pub mod net;
51
52pub mod prelude {
59 pub use zest_core::{
60 Application, ButtonState, Constraints, DirtyRegion, DrawTargetRenderer, FocusDirection,
61 FocusState, GesturePhase, Horizontal, InputEvent, Key, KeyEvent, Length, Platform,
62 PlatformCapabilities, Recipe, RenderError, Renderer, Runtime, ScreenView, Subscription,
63 Task, TickResult, TouchEvent, TouchPhase, UiAction, Vertical, WidgetId,
64 };
65 pub use zest_theme::{
66 ButtonAppearance, ButtonCatalog, ButtonClass, Component, CornerRadii, FONT_ZEST_MONO,
67 FONT_ZEST_MONO_CAPTION, FONT_ZEST_MONO_DISPLAY, FONT_ZEST_MONO_HEADING, Palette, Spacing,
68 Status, Theme, Typography, convert_theme,
69 };
70 pub use zest_widget::{
71 Arc, Button, Calendar, CalendarEvent, Canvas, CanvasBuffer, Chart, Checkbox, Column,
72 Container, Divider, Dropdown, EccLevel, Element, Grid, ImageButton, IntoElement, KeyAction,
73 Keyboard, KeyboardMode, LED, Line, List, ListRow, Menu, MessageBox, ProgressBar, Qr,
74 RadioButton, Roller, Row, Scale, ScaleMode, ScrollDirection, ScrollMsg, ScrollState,
75 Scrollable, ScrollbarMode, Slider, SnapMode, Space, Span, SpanGroup, SpinButton,
76 SpinOrientation, Spinner, Stack, Switch, Tab, TabBar, Table, TableRow, Text, TextArea,
77 Tileview, Widget, Window, horizontal_divider, horizontal_space, horizontal_spin_button,
78 tick_task, vertical_divider, vertical_space, vertical_spin_button,
79 };
80
81 pub use embedded_graphics::{
82 pixelcolor::{BinaryColor, Rgb565, Rgb888},
83 prelude::{Point, Size},
84 primitives::Rectangle,
85 };
86}
87
88#[cfg(feature = "simulator")]
99pub async fn run<A>(title: &str)
100where
101 A: zest_core::Application<Color = embedded_graphics::pixelcolor::Rgb565>,
102{
103 let platform = zest_simulator::SimulatorPlatform::new(title);
104 zest_core::Runtime::<A>::new().run(platform).await;
105 std::process::exit(0);
106}