Module conrod_core::graph

source ·
Expand description

Conrod uses a directed acyclic graph to manage both storing widgets and describing their relationships.

The primary type of interest in this module is the Graph type.

Re-exports

pub use self::depth_order::DepthOrder;

Modules

This module was created in order to keep the graph module clean and focused upon the Graph data structure behaviour.
Types and functionality related to the calculation of a Graph’s rendering depth order.

Structs

A container for caching a Widget’s state inside a Graph Node.
Stores the dynamic state of a UI tree of Widgets.
A wrapper around a widget::IsOverFn to make implementing Debug easier for Container.
The state type that we’ll dynamically cast to and from Any for storage within the cache.

Enums

An edge between nodes within the UI Graph.
A node for use within the Graph.

Constants

The number of different variants within the Edge enum.

Traits

A trait providing a variety of useful methods for traversing some graph type G.

Type Definitions

A Walker over some node’s child nodes.
An alias for a Walker over a node’s Depth children.
An alias for our Graph’s Edge Index.
An alias for some filtered children walker.
An alias for a Walker over a node’s Graphic children.
An alias for a tuple containing an associated Edge/widget::Id pair.
A Walker over some node’s parent nodes.
An alias for a Walker over a node’s X and Y Position children respectively.
An alias for the iterator yielding both X and Y Position parents.
An alias for our Graph’s recursive walker.
An alias for our Graph’s WouldCycle error type.
An alias for a Walker over a node’s X Position children.
An alias for a Walker over a node’s Y Position children.