Crate iced_native[][src]

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 iced_futures::futures;
pub use executor::Executor;
pub use clipboard::Clipboard;
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 widget::*;

Modules

clipboard

Access the clipboard.

event

Handle events of a user interface.

executor

Choose your preferred executor to power a runtime.

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.

touch

Build touch events.

widget

Use the built-in widgets or create your own.

window

Build window-based GUI applications.

Structs

Cache

Reusable data of a specific UserInterface.

Color

A color in the sRGB color space.

Command

A collection of async operations.

Debug
Element

A generic Widget.

Hasher

The hasher used to compare layouts.

Point

A 2D point.

Rectangle

A rectangle.

Size

An amount of space in 2 dimensions.

UserInterface

A set of interactive graphical elements with a specific Layout.

Vector

A 2D vector.

Enums

Align

Alignment on an axis of a container.

Background

The background of some element.

Font

A font.

HorizontalAlignment

The horizontal alignment of some resource.

Length

The strategy used to fill space in a specific dimension.

VerticalAlignment

The vertical alignment of some resource.

Type Definitions

Runtime

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