#![cfg_attr(not(test), no_std)]
#![warn(missing_docs)]
#[cfg(any(feature = "simulator", feature = "net"))]
extern crate std;
pub use zest_core;
pub use zest_theme;
pub use zest_widget;
#[cfg(feature = "simulator")]
pub use zest_simulator;
pub mod time {
pub use zest_core::time::*;
}
#[cfg(feature = "net")]
pub mod net;
pub mod prelude {
pub use zest_core::{
Application, ButtonState, Constraints, DirtyRegion, DrawTargetRenderer, FocusDirection,
FocusState, GesturePhase, Horizontal, InputEvent, Key, KeyEvent, Length, Platform,
PlatformCapabilities, Recipe, RenderError, Renderer, Runtime, ScreenView, Subscription,
Task, TickResult, TouchEvent, TouchPhase, UiAction, Vertical, WidgetId,
};
pub use zest_theme::{
ButtonAppearance, ButtonCatalog, ButtonClass, Component, CornerRadii, FONT_ZEST_MONO,
FONT_ZEST_MONO_CAPTION, FONT_ZEST_MONO_DISPLAY, FONT_ZEST_MONO_HEADING, Palette, Spacing,
Status, Theme, Typography, convert_theme,
};
pub use zest_widget::{
Arc, Button, Calendar, CalendarEvent, Canvas, CanvasBuffer, Chart, Checkbox, Column,
Container, Divider, Dropdown, EccLevel, Element, Grid, ImageButton, IntoElement, KeyAction,
Keyboard, KeyboardMode, LED, Line, List, ListRow, Menu, MessageBox, ProgressBar, Qr,
RadioButton, Roller, Row, Scale, ScaleMode, ScrollDirection, ScrollMsg, ScrollState,
Scrollable, ScrollbarMode, Slider, SnapMode, Space, Span, SpanGroup, SpinButton,
SpinOrientation, Spinner, Stack, Switch, Tab, TabBar, Table, TableRow, Text, TextArea,
Tileview, Widget, Window, horizontal_divider, horizontal_space, horizontal_spin_button,
tick_task, vertical_divider, vertical_space, vertical_spin_button,
};
pub use embedded_graphics::{
pixelcolor::{BinaryColor, Rgb565, Rgb888},
prelude::{Point, Size},
primitives::Rectangle,
};
}
#[cfg(feature = "simulator")]
pub async fn run<A>(title: &str)
where
A: zest_core::Application<Color = embedded_graphics::pixelcolor::Rgb565>,
{
let platform = zest_simulator::SimulatorPlatform::new(title);
zest_core::Runtime::<A>::new().run(platform).await;
std::process::exit(0);
}