Module conrod::graph [] [src]

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.

Reexports

pub use self::depth_order::{DepthOrder, Visitable};

Modules

algo

This module was created in order to keep the graph module clean and focused upon the Graph data structure behaviour.

depth_order

Types and functionality related to the calculation of a Graph's rendering depth order.

Structs

Container

A container for caching a Widget's state inside a Graph Node.

Graph

Stores the dynamic state of a UI tree of Widgets.

UniqueWidgetState

The state type that we'll dynamically cast to and from Any for storage within the cache.

Enums

Edge

An edge between nodes within the UI Graph.

Node

A node for use within the Graph.

Constants

NUM_EDGE_VARIANTS

The number of different variants within the Edge enum.

Traits

GraphIndex

A trait for being generic over both WidgetId and NodeIndex. Each method should only return Some if they are contained as a key within the given IndexMap.

Walker

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

Type Definitions

Children

A Walker over some node's child nodes.

DepthChildren

An alias for a Walker over a node's Depth children.

EdgeIndex

An alias for our Graph's Edge Index.

FilteredChildren

An alias for some filtered children walker.

GraphicChildren

An alias for a Walker over a node's Graphic children.

IndexPair

An alias for a tuple containing an associated Edge/NodeIndex pair.

NodeIndex

An alias for our Graph's Node Index.

Parents

A Walker over some node's parent nodes.

PositionChildren

An alias for a Walker over a node's Position children.

RecursiveWalk

An alias for our Graph's recursive walker.

WouldCycle

An alias for our Graph's WouldCycle error type.