[][src]Crate iced_native

A renderer-agnostic native GUI runtime.

iced_native crate graph

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 bunch 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.
  • A window::Backend trait, leveraging raw-window-handle, which can be implemented by graphical renderers that target windows. Window-based shells (like iced_winit) can use this trait to stay 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 layout::Layout;
pub use renderer::Renderer;
pub use subscription::Subscription;
pub use widget::*;

Modules

executor

Choose your preferred executor to power a runtime.

input

Map your system events into input events that the runtime can understand.

layout

Position your widgets properly.

renderer

Write your own renderer.

subscription

Listen to external events in your application.

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.

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.

Event

A user interface event.

Font

A font.

HorizontalAlignment

The horizontal alignment of some resource.

Length

The strategy used to fill space in a specific dimension.

MouseCursor

The state of the mouse cursor.

VerticalAlignment

The vertical alignment of some resource.

Traits

Clipboard

A buffer for short-term storage and transfer within and between applications.

Type Definitions

Runtime

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