A renderer-agnostic native GUI runtime.
iced_core and builds a native runtime on top of it,
- A custom layout engine, greatly inspired by
- Event handling for all the built-in widgets
- A renderer-agnostic API
To achieve this, it introduces a couple of reusable interfaces:
Widgettrait, which is used to implement new widgets: from layout requirements to event and drawing logic.
- A bunch of
Renderertraits, meant to keep the crate renderer-agnostic.
The strategy to use this crate depends on your particular use case. If you want to:
pub use iced_futures::futures;
pub use executor::Executor;
pub use clipboard::Clipboard;
pub use command::Command;
pub use event::Event;
pub use layout::Layout;
pub use overlay::Overlay;
pub use program::Program;
pub use renderer::Renderer;
pub use subscription::Subscription;
pub use user_interface::UserInterface;
pub use widget::Widget;
Align and position widgets.
Access the clipboard.
Run asynchronous actions.
Handle events of a user interface.
Choose your preferred executor to power a runtime.
Load and draw raster graphics.
Track keyboard events.
Position your widgets properly.
Track mouse events.
Display interactive elements on top of other widgets.
Build interactive programs using The Elm Architecture.
Write your own renderer.
Listen to external events in your application.
Load and draw vector graphics.
Access the native system.
Draw and interact with text.
Keep track of time, both in native and web platforms!
Build touch events.
Implement your own event loop to drive a user interface.
Use the built-in widgets or create your own.
Build window-based GUI applications.
A color in the sRGB color space.
A bunch of time measurements for debugging purposes.
The hasher used to compare layouts.
An amount of space to pad for each side of a box
A 2D point.
A connection to the state of a shell.
An amount of space in 2 dimensions.
A 2D vector.
Alignment on the axis of a container.
The background of some element.
The strategy used to fit the contents of a widget to its bounding box.
The strategy used to fill space in a specific dimension.
A native runtime with a generic executor and receiver of results.