[][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 Windowed 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, you should 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 layout::Layout;
pub use renderer::Renderer;
pub use widget::*;

Modules

input

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

layout

Position your widgets properly.

renderer

Write your own renderer.

widget

Use the built-in widgets or create your own.

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.