Crate iced_native

Source
Expand description

A renderer-agnostic native GUI runtime.

The native path of the Iced ecosystem

iced_native takes iced_core and builds a native runtime on top of it, featuring:

  • A custom layout engine, greatly inspired by druid
  • Event handling for all the built-in widgets
  • A renderer-agnostic API

To achieve this, it introduces a couple of reusable interfaces:

  • A Widget trait, which is used to implement new widgets: from layout requirements to event and drawing logic.
  • A bunch of Renderer traits, meant to keep the crate renderer-agnostic.

§Usage

The strategy to use this crate depends on your particular use case. If you want to:

  • Implement a custom shell or integrate it in your own system, check out the UserInterface type.
  • Build a new renderer, see the renderer module.
  • Build a custom widget, start at the Widget trait.

Re-exports§

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;
pub use iced_futures::futures;

Modules§

alignment
Align and position widgets.
application
Change the appearance of an application.
clipboard
Access the clipboard.
command
Run asynchronous actions.
event
Handle events of a user interface.
executor
Choose your preferred executor to power a runtime.
image
Load and draw raster graphics.
keyboard
Track keyboard events.
layout
Position your widgets properly.
mouse
Track mouse events.
overlay
Display interactive elements on top of other widgets.
program
Build interactive programs using The Elm Architecture.
renderer
Write your own renderer.
subscription
Listen to external events in your application.
svg
Load and draw vector graphics.
system
Access the native system.
text
Draw and interact with text.
theme
Use the built-in theme and styles.
time
Keep track of time, both in native and web platforms!
touch
Build touch events.
user_interface
Implement your own event loop to drive a user interface.
widget
Use the built-in widgets or create your own.
window
Build window-based GUI applications.

Macros§

color
Creates a Color with shorter and cleaner syntax.
column
Creates a Column with the given children.
row
Creates a Row with the given children.

Structs§

Color
A color in the sRGB color space.
Debug
Element
A generic Widget.
Hasher
The hasher used to compare layouts.
Padding
An amount of space to pad for each side of a box
Pixels
An amount of logical pixels.
Point
A 2D point.
Rectangle
A rectangle.
Shell
A connection to the state of a shell.
Size
An amount of space in 2 dimensions.
Vector
A 2D vector.

Enums§

Alignment
Alignment on the axis of a container.
Background
The background of some element.
ContentFit
The strategy used to fit the contents of a widget to its bounding box.
Font
A font.
Length
The strategy used to fill space in a specific dimension.
Theme
A built-in theme.

Type Aliases§

Runtime
A native runtime with a generic executor and receiver of results.