zest-gui 0.1.1

Retained-mode GUI framework for embedded touchscreen MCUs. Re-exports zest-core, zest-theme, and zest-widget; optional simulator default platform.
Documentation

zest-gui

zest-gui is the top-level convenience crate for the zest GUI framework family.

It re-exports:

  • zest-core
  • zest-theme
  • zest-widget
  • zest-simulator when the simulator feature is enabled

It also provides:

  • a prelude module that pulls together the commonly used framework types
  • a time re-export from zest-core
  • an optional desktop net module
  • run::<A>(title) as the default simulator entry point when the simulator feature is enabled

Features

simulator

Enables the default desktop runner by pulling in zest-simulator.

When this feature is enabled, applications can use:

zest_gui::run::<App>("My App").await;

net

Enables the desktop async HTTP shim built on:

  • embassy-time
  • reqwest
  • serde

The net module exists for desktop development; the source comments describe it as a compatibility layer that hides a blocking worker-thread implementation behind an async API.

Prelude

The prelude re-exports framework types from the lower-level crates, including:

  • application/runtime types from zest-core
  • theme types from zest-theme
  • concrete widgets from zest-widget
  • common embedded-graphics geometry and color types

Basic usage

use zest_gui::prelude::*;

struct App;

With the simulator feature enabled, the crate provides a ready-made desktop entry point:

#[embassy_executor::main]
async fn main(_spawner: embassy_executor::Spawner) {
    zest_gui::run::<App>("My App").await;
}

For custom hardware, construct your own Platform and call Runtime::<A>::new().run(platform).await directly.

Package name and crate name

The package published to crates.io is zest-gui.

In Rust code, that package is imported as zest_gui unless the dependency is aliased in Cargo.toml.