initSidebarItems({"enum":[["Align","The orientation of **Align**ment along some **Axis**."],["Axis","Represents either **Axis** in the 2-dimensional plane."],["Corner","Either of the four corners of a **Rect**."],["Dimension","The length of a **Widget** over either the *x* or *y* axes."],["Direction","Directionally positioned, normally relative to some other widget."],["Edge","Represents either the **Start** or **End** **Edge** of a **Range**."],["FileNavigatorEvent","The kinds of events that the `FileNavigator` may `react` to."],["Framing","To be used as a parameter for defining the aesthetic of the widget frame."],["ListbarScrollPosition","If the `List` is scrollable, this describes how th `Scrollbar` should be positioned."],["MaybeParent","The builder argument for the **Widget**'s parent."],["Place","Place the widget at a position on some other widget."],["Position","Some **Position** of some **Widget** along a single axis."],["RangeSliderEdge","Either the `Start` or `End` `Edge` of the `RangeSlider`'s bar."],["ShapeStyle","The style for some 2D shape."],["TextWrap","The way in which text should wrap around the width."],["WidgetIndex","An index either given in the form of a publicly instantiated `Widget`'s `WidgetId`, or an internally instantiated `Widget`'s `NodeIndex`,"]],"fn":[["default_x_dimension","Determines the default **Dimension** for a **Widget**."],["default_y_dimension","Determines the default **Dimension** for a **Widget**."]],"macro":[["builder_method!","A macro for simplifying implementation of methods for the `builder pattern`."],["builder_methods!","A macro to simplify implementation of \"builder-pattern\" methods."],["image_map!","A macro for simplifying the instantiation of an `image::Map`."],["widget_ids!","Generate a list of unique IDs given a list of identifiers."],["widget_style!","A macro for vastly simplifying the definition and implementation of a widget's associated `Style` type."]],"mod":[["backend","Feature-gated, backend-specific functionality."],["color",""],["event","Contains all the structs and enums to describe all of the input events that `Widget`s can handle."],["graph","Conrod uses a directed acyclic graph to manage both storing widgets and describing their relationships."],["guide","**The Conrod Guide**"],["image","A type used to manage a user's image data and map them to `Image` widgets:"],["input","This module contains all the logic for handling input events and providing them to widgets."],["render","Conrod's generic graphics backend."],["scroll","Scroll related types and logic."],["text","Text layout logic."],["theme",""],["utils",""]],"struct":[["Button","A pressable button widget whose reaction is triggered upon release."],["ButtonStyle","Unique styling for the Button."],["Canvas","**Canvas** is designed to be a \"container\"-like \"parent\" widget that simplifies placement of \"children\" widgets."],["CanvasStyle","Unique styling for the Canvas."],["Circle","A tiny wrapper around the **Oval** widget type."],["CommonBuilder","A struct containing builder data common to all **Widget** types."],["CommonState","A wrapper around state that is common to all **Widget** types."],["CommonStyle","Styling and positioning data that is common between all widget types."],["DropDownList","Displays a given `Vec` as a selectable drop down menu. It's reaction is triggered upon selection of a list item."],["DropDownListStyle","Styling for the DropDownList, necessary for constructing its renderable Element."],["EnvelopeEditor","Used for editing a series of 2D Points on a cartesian (X, Y) plane within some given range."],["EnvelopeEditorStyle","Styling for the EnvelopeEditor, necessary for constructing its renderable Element."],["FileNavigator","A widget for navigating and interacting with a file system."],["FileNavigatorStyle","Unique styling for the widget."],["Floating","State necessary for \"floating\" (pop-up style) widgets."],["FramedRectangle","A filled rectangle widget that may or may not have some frame."],["FramedRectangleStyle","Unique styling for the **FramedRectangle** widget."],["Image","A primitive and basic widget for drawing an `Image`."],["ImageStyle","Unique styling for the `Image` widget."],["IndexSlot","A small cache for a single unique **NodeIndex**."],["KidArea","The area upon which a **Widget**'s child widgets will be placed."],["KidAreaArgs","Arguments to the **Widget::kid_area** method in a struct to simplify the method signature."],["Line","A simple, non-interactive widget for drawing a single straight Line."],["LineStyle","Unique styling for a Line widget."],["List","A helper widget, useful for instantiating a sequence of widgets in a vertical list."],["ListStyle","Unique styling for the `List`."],["NumberDialer","A widget for precision control over any digit within a value."],["NumberDialerStyle","Unique graphical styling for the NumberDialer."],["Oval","A simple, non-interactive widget for drawing a single **Oval**."],["Padding","The distance between the inner edge of a frame and the outer edge of the inner content."],["PlotPath","A widget that plots a series of lines using the given function *x -> y*."],["PlotPathStyle","Unique styling parameters for the `PlotPath` widget."],["PointPath","A simple, non-interactive widget for drawing a series of lines and/or points."],["Polygon","A basic, non-interactive, arbitarry **Polygon** widget."],["Range","Some start and end position along a single axis."],["RangeSlider","Linear range selection."],["RangeSliderStyle","Graphical styling unique to the RangeSlider widget."],["Rect","Defines a Rectangle's bounds across the x and y axes."],["Rectangle","A basic, non-interactive rectangle shape widget."],["Scrollbar","A widget that allows for scrolling via dragging the mouse."],["ScrollbarStyle","Styling for the DropDownList, necessary for constructing its renderable Element."],["Slider","Linear value selection."],["SliderStyle","Graphical styling unique to the Slider widget."],["Tabs","A wrapper around a list of canvasses that displays thema s a list of selectable tabs."],["TabsStyle","Unique styling for the `Tabs` widget."],["Text","Displays some given text centred within a rectangular area."],["TextBox","A widget for displaying and mutating a small, one-line field of text, given by the user in the form of a `String`."],["TextBoxStyle","Unique graphical styling for the TextBox."],["TextEdit","A widget for displaying and mutating multi-line text, given as a `String`."],["TextEditStyle","Unique graphical styling for the TextEdit."],["TextStyle","The styling for a **Text**'s graphics."],["TitleBar","A simple title bar widget that automatically sizes itself to the top of some other widget."],["TitleBarStyle","Unique styling for the **TitleBar** widget."],["Toggle","A pressable widget for toggling the state of a bool."],["ToggleStyle","Styling for the Toggle including coloring, framing and labelling."],["Ui","`Ui` is the most important type within Conrod and is necessary for rendering and maintaining widget state. # Ui Handles the following: * Contains the state of all widgets which can be indexed via their widget::Index. * Stores rendering state for each widget until the end of each render cycle. * Contains the theme used for default styling of the widgets. * Maintains the latest user input state (for mouse and keyboard). * Maintains the latest window dimensions."],["UiCell","A wrapper around the `Ui` that restricts the user from mutating the `Ui` in certain ways while in the scope of the `Ui::set_widgets` function and within `Widget`s' `update` methods. Using the `UiCell`, users may access the `Ui` immutably (via `Deref`) however they wish, however they may only mutate the `Ui` via the `&mut self` methods provided by the `UiCell`."],["UpdateArgs","Arguments for the **Widget::update** method in a struct to simplify the method signature."],["WidgetCommonState","A wrapper around state that is common to all **Widget** types."],["WidgetId","Unique, public widget identifier. Each widget must use a unique `WidgetId` so that it's state can be cached within the `Ui` type. The reason we use a usize is because widgets are cached within a `Graph` whose max number of `Node`s is indexed by usize."],["WidgetMatrix","Draw a matrix of any rectangular widget type, where the matrix will provide a function with the widget number, it's `rows` and `cols` position, the width and height for the widget and the location at which the widget should be drawn."],["WidgetState","A wrapper around a **Widget**'s unique **Widget::State**."],["XYPad","Used for displaying and controlling a 2D point on a cartesian plane within a given range."],["XYPadStyle","Unique graphical styling for the XYPad."]],"trait":[["EnvelopePoint","`EnvPoint` must be implemented for any type that is used as a 2D point within the EnvelopeEditor."],["Frameable","Widgets that may display a frame."],["Labelable","Widgets that may display some label."],["Positionable","Widgets that are positionable."],["Sizeable","Widgets that support different dimensions."],["Widget","A trait to be implemented by all **Widget** types."]],"type":[["Depth","The depth at which the widget will be rendered."],["Dimensions","General use 2D spatial dimensions."],["FontSize","Font size used throughout Conrod."],["Margin","The margin for some `Place`ment on either end of an axis."],["Point","General use 2D spatial point."],["Scalar","An alias over the Scalar type used throughout Conrod."]]});