initSidebarItems({"enum":[["Align","The orientation of **Align**ment along some **Axis**."],["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**."],["Framing","To be used as a parameter for defining the aesthetic of the widget frame."],["MaybeParent","The builder argument for the **Widget**'s parent."],["MouseButtonPosition","Represents the current state of a mouse button."],["Place","Place the widget at a position on some other widget."],["Position","Some **Position** of some **Widget** along a single axis."],["ShapeStyle","The style for some 2D shape."],["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":[["widget_ids!","Generate a list of unique IDs given a list of identifiers."]],"mod":[["backend","Traits and functionality related to Conrod's generic backend."],["color",""],["drag",""],["glyph_cache","Conrod's character caching API."],["graph","Conrod uses a directed acyclic graph to manage both storing widgets and describing their relationships."],["scroll",""],["theme",""],["utils",""]],"struct":[["Background","A type for drawing a colored window background."],["Button","A pressable button widget whose reaction is triggered upon release."],["ButtonStyle","Styling for the Button, necessary for constructing its renderable Element."],["Canvas","A widget designed to be a parent for other widgets."],["CanvasStyle","Describes the style of a 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."],["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."],["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."],["Margin","The distance between the dimension bound and the outer edge of the frame."],["Mouse","Represents the current state of the Mouse."],["MouseButtonState","The current state of a Mouse button."],["MouseScroll","The amount of scrolling that has occurred since the last render event."],["NumberDialer","A widget for precision control over any digit within a value."],["NumberDialerStyle","Styling for the NumberDialer, necessary for constructing its renderable Element."],["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."],["PointPath","A simple, non-interactive widget for drawing a series of lines and/or points."],["Polygon","A basic, non-interactive, arbitarry **Polygon** widget."],["PositionMatrix","A type to simplify placement of various widgets in a matrix or grid layout."],["Range","Some start and end position along a single axis."],["Rect","Defines a Rectangle's bounds across the x and y axes."],["Rectangle","A basic, non-interactive rectangle shape widget."],["Slider","Linear value selection. If the slider's width is greater than it's height, it will automatically become a horizontal slider, otherwise it will be a vertical slider. Its reaction is triggered if the value is updated or if the mouse button is released while the cursor is above the rectangle."],["SliderStyle","Styling for the Slider, necessary for constructing its renderable Element."],["Split","A type of Canvas for flexibly designing and guiding widget layout as splits of a window."],["Tabs","A wrapper around a list of canvasses that displays thema s a list of selectable tabs."],["TabsStyle","The styling for Canvas Tabs."],["Text","Displays some given text centred within a rectangular area."],["TextBox","A widget for displaying and mutating a given one-line text `String`. It's reaction is triggered upon pressing of the `Enter`/`Return` key."],["TextBoxStyle","Styling for the TextBox, necessary for constructing its renderable Element."],["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 a `Ui` that only exposes the functionality necessary for the **Widget::update** method."],["UpdateArgs","Arguments for the **Widget::update** method in a struct to simplify the method signature."],["UserInput","A wrapper over the current user input state."],["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","Styling for the XYPad, necessary for constructing its renderable Element."]],"trait":[["CharacterCache","Stores characters in a buffer and loads them by demand."],["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."],["Graphics","Implemented by all graphics back-ends."],["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."],["Point","General use 2D spatial point."],["Scalar","An alias over the Scalar type used throughout Conrod."],["WidgetKind","A unique identifier for a **Widget** type."]]});