var searchIndex = {}; searchIndex["conrod"] = {"doc":"","items":[[8,"CharacterCache","conrod","Stores characters in a buffer and loads them by demand.",null,null],[16,"Texture","","The textyre type associated with the character cache.",0,null],[10,"character","","Get reference to character.",0,null],[11,"width","","Return the width for some given text.",0,null],[8,"Graphics","","Implemented by all graphics back-ends.",null,null],[16,"Texture","","The texture type associated with the back-end.",1,null],[10,"clear_color","","Clears background with a color.",1,null],[10,"clear_stencil","","Clears stencil buffer with a value, usually 0.",1,null],[10,"tri_list","","Renders list of 2d triangles using a solid color.",1,null],[10,"tri_list_uv","","Renders list of 2d triangles using a color and a texture.",1,null],[11,"rectangle","","Draws a rectangle.",1,null],[11,"polygon","","Draws a polygon.",1,null],[11,"polygon_tween_lerp","","Draws a tweened polygon using linear interpolation.",1,null],[11,"image","","Draws image.",1,null],[11,"ellipse","","Draws ellipse.",1,null],[11,"line","","Draws line.",1,null],[11,"circle_arc","","Draws circle arc.",1,null],[11,"deform_image","","Draws deformed image.",1,null],[3,"Line","","A simple, non-interactive widget for drawing a single straight Line.",null,null],[12,"start","","The start of the line.",2,null],[12,"end","","The end of the line.",2,null],[12,"common","","Data necessary and common for all widget builder types.",2,null],[12,"style","","Unique styling.",2,null],[12,"should_centre_points","","Whether or not the line should be automatically centred to the widget position.",2,null],[3,"Image","","A primitive and basic widget for drawing an `Image`.",null,null],[12,"common","","Data necessary and common for all widget builder types.",3,null],[12,"src_rect","","The rectangle area of the original source image that should be used.",3,null],[12,"style","","Unique styling.",3,null],[12,"src","","Where the `Image` data is stored.",3,null],[3,"PointPath","","A simple, non-interactive widget for drawing a series of lines and/or points.",null,null],[12,"points","","Some iterator yielding a series of Points.",4,null],[12,"common","","Data necessary and common for all widget builder types.",4,null],[12,"style","","Unique styling for the PointPath.",4,null],[12,"maybe_shift_to_centre_from","","Whether or not the points should be automatically centred to the widget position.",4,null],[3,"Circle","","A tiny wrapper around the **Oval** widget type.",null,null],[3,"FramedRectangle","","A filled rectangle widget that may or may not have some frame.",null,null],[12,"common","","Data necessary and common for all widget builder types.",5,null],[12,"style","","Unique styling for the **FramedRectangle**.",5,null],[3,"Polygon","","A basic, non-interactive, arbitarry **Polygon** widget.",null,null],[12,"points","","The points describing the corners of the **Polygon**.",6,null],[12,"common","","Data necessary and common for all widget builder types.",6,null],[12,"style","","Unique styling for the **Polygon**.",6,null],[12,"maybe_shift_to_centre_from","","Whether or not the points should be automatically centred to the widget position.",6,null],[3,"Oval","","A simple, non-interactive widget for drawing a single **Oval**.",null,null],[12,"common","","Data necessary and common for all widget builder types.",7,null],[12,"style","","Unique styling.",7,null],[3,"Rectangle","","A basic, non-interactive rectangle shape widget.",null,null],[12,"common","","Data necessary and common for all widget builder types.",8,null],[12,"style","","Unique styling for the **Rectangle**.",8,null],[3,"Text","","Displays some given text centred within a rectangular area.",null,null],[12,"common","","Data necessary and common for all widget builder types.",9,null],[12,"text","","The text to be drawn by the **Text**.",9,null],[12,"style","","Unique styling for the **Text**.",9,null],[3,"Button","","A pressable button widget whose reaction is triggered upon release.",null,null],[12,"style","","Unique styling for the Button.",10,null],[3,"Canvas","","**Canvas** is designed to be a "container"-like "parent" widget that simplifies placement of\n"children" widgets.",null,null],[12,"common","","Data necessary and common for all widget builder types.",11,null],[12,"style","","The builder data related to the style of the Canvas.",11,null],[12,"maybe_title_bar_label","","The label for the **Canvas**' **TitleBar** if there is one.",11,null],[12,"maybe_splits","","A list of child **Canvas**ses as splits of this **Canvas** flowing in the given direction.",11,null],[3,"DropDownList","","Displays a given `Vec<String>` as a selectable drop down menu. It's reaction is triggered upon\nselection of a list item.",null,null],[3,"EnvelopeEditor","","Used for editing a series of 2D Points on a cartesian (X, Y) plane within some given range.",null,null],[12,"skew_y_range","","The value skewing for the envelope's y-axis. This is useful for displaying exponential\nranges such as frequency.",12,null],[3,"WidgetMatrix","","Draw a matrix of any rectangular widget type, where the matrix will provide a function with\nthe widget number, it's `rows` and `cols` position, the width and height for the widget and\nthe location at which the widget should be drawn.",null,null],[3,"NumberDialer","","A widget for precision control over any digit within a value.",null,null],[3,"Slider","","Linear value selection. If the slider's width is greater than it's height, it will\nautomatically become a horizontal slider, otherwise it will be a vertical slider. Its reaction\nis triggered if the value is updated or if the mouse button is released while the cursor is\nabove the rectangle.",null,null],[12,"skew","","The amount in which the slider's display should be skewed.",13,null],[12,"maybe_react","","Set the reaction for the Slider.",13,null],[12,"enabled","","Whether or not user input is enabled for the Slider.",13,null],[3,"Tabs","","A wrapper around a list of canvasses that displays thema s a list of selectable tabs.",null,null],[3,"TextBox","","A widget for displaying and mutating a given one-line text `String`. It's reaction is\ntriggered upon pressing of the `Enter`/`Return` key.",null,null],[12,"maybe_react","","The reaction for the TextBox.",14,null],[12,"enabled","","Whether or not user input is enabled for the TextBox.",14,null],[3,"TitleBar","","A simple title bar widget that automatically sizes itself to the top of some other widget.",null,null],[12,"common","","Data necessary and common for all widget builder types.",15,null],[12,"style","","Unique styling for the **FramedRectangle**.",15,null],[12,"label","","A label displayed in the middle of the TitleBar.",15,null],[12,"maybe_react","","Some function used to react to interactions with the TitleBar.",15,null],[3,"Toggle","","A pressable widget for toggling the state of a bool.",null,null],[12,"maybe_react","","Set the reaction for the Toggle. It will be triggered upon release of the button.",16,null],[12,"enabled","","If true, will allow user inputs. If false, will disallow user inputs.",16,null],[3,"XYPad","","Used for displaying and controlling a 2D point on a cartesian plane within a given range.",null,null],[12,"maybe_react","","The reaction function for the XYPad.",17,null],[12,"enabled","","Indicates whether the XYPad will respond to user input.",17,null],[3,"LineStyle","","Unique styling for a Line widget.",null,null],[12,"maybe_pattern","","The patter for the line.",18,null],[12,"maybe_color","","Color of the Button's pressable area.",18,null],[12,"maybe_thickness","","The thickness of the line.",18,null],[12,"maybe_cap","","The style with which the ends of the line are drawn.",18,null],[3,"ImageStyle","","Unique styling for the `Image` widget.",null,null],[12,"maybe_color","","Optionally specify a single colour to use for the image.",19,null],[3,"FramedRectangleStyle","","Unique styling for the **FramedRectangle** widget.",null,null],[12,"color","","Shape styling for the inner rectangle.",20,null],[12,"frame","","The thickness of the frame.",20,null],[12,"frame_color","","The color of the frame.",20,null],[3,"TextStyle","","The styling for a **Text**'s graphics.",null,null],[12,"font_size","","The font size for the **Text**.",21,null],[12,"color","","The color of the **Text**.",21,null],[12,"maybe_wrap","","Whether or not the text should wrap around the width.",21,null],[12,"line_spacing","","The spacing between consecutive lines.",21,null],[12,"text_align","","Alignment of the text along the *x* axis.",21,null],[3,"ButtonStyle","","Unique styling for the Button.",null,null],[12,"color","","Color of the Button's pressable area.",22,null],[12,"frame","","Width of the frame surrounding the button",22,null],[12,"frame_color","","The color of the frame.",22,null],[12,"label_color","","The color of the Button's label.",22,null],[12,"label_font_size","","The font size of the Button's label.",22,null],[3,"CanvasStyle","","Unique styling for the Canvas.",null,null],[12,"color","","The color of the Canvas' rectangle surface.",23,null],[12,"frame","","The width of the frame surrounding the Canvas' rectangle.",23,null],[12,"frame_color","","The color of the Canvas' frame.",23,null],[12,"length","","If this Canvas is a split of some parent Canvas, this is the length of the split.",23,null],[12,"pad_left","","Padding for the left edge of the Canvas' kid area.",23,null],[12,"pad_right","","Padding for the right edge of the Canvas' kid area.",23,null],[12,"pad_bottom","","Padding for the bottom edge of the Canvas' kid area.",23,null],[12,"pad_top","","Padding for the top edge of the Canvas' kid area.",23,null],[12,"title_bar_text_color","","The color of the title bar's text.",23,null],[12,"title_bar_font_size","","The font size for the title bar's text.",23,null],[12,"title_bar_maybe_wrap","","The way in which the title bar's text should wrap.",23,null],[12,"title_bar_line_spacing","","The distance between lines for multi-line title bar text.",23,null],[12,"title_bar_text_align","","The horizontal alignment of the title bar text.",23,null],[3,"DropDownListStyle","","Styling for the DropDownList, necessary for constructing its renderable Element.",null,null],[12,"color","","Color of the widget.",24,null],[12,"frame","","Width of the widget's frame.",24,null],[12,"frame_color","","Color of the widget's frame.",24,null],[12,"label_color","","Color of the item labels.",24,null],[12,"label_font_size","","Font size for the item labels.",24,null],[12,"maybe_max_visible_height","","Maximum height of the Open menu before the scrollbar appears.",24,null],[3,"EnvelopeEditorStyle","","Styling for the EnvelopeEditor, necessary for constructing its renderable Element.",null,null],[12,"color","","Coloring for the EnvelopeEditor's **FramedRectangle**.",25,null],[12,"frame","","Thickness of the **FramedRectangle**'s frame.",25,null],[12,"frame_color","","Color of the frame.",25,null],[12,"label_color","","Color of the label.",25,null],[12,"label_font_size","","The font size of the **EnvelopeEditor**'s label if one was given.",25,null],[12,"value_font_size","","The font size of the value label.",25,null],[12,"point_radius","","The radius of the envelope points.",25,null],[12,"line_thickness","","The thickness of the envelope lines.",25,null],[3,"NumberDialerStyle","","Unique graphical styling for the NumberDialer.",null,null],[12,"color","","Color of the NumberDialer's rectangle.",26,null],[12,"frame","","The color of the rectangle frame.",26,null],[12,"frame_color","","The color of the rectangle frame.",26,null],[12,"label_color","","The color of the NumberDialer's label.",26,null],[12,"label_font_size","","The font size for the NumberDialer's label.",26,null],[3,"SliderStyle","","Graphical styling unique to the Slider widget.",null,null],[12,"color","","The color of the slidable rectangle.",27,null],[12,"frame","","The length of the frame around the edges of the slidable rectangle.",27,null],[12,"frame_color","","The color of the Slider's frame.",27,null],[12,"label_color","","The color of the Slider's label.",27,null],[12,"label_font_size","","The font-size for the Slider's label.",27,null],[3,"TabsStyle","","The styling for Canvas Tabs.",null,null],[12,"maybe_layout","","The direction in which the tabs will be laid out.",28,null],[12,"maybe_bar_width","","The width of the tab bar.",28,null],[12,"maybe_label_color","","The color of the tabs' labels.",28,null],[12,"maybe_label_font_size","","The font size for the tabs' labels.",28,null],[12,"canvas","","Styling for each of the canvasses passed to the Canvas.",28,null],[3,"TextBoxStyle","","Unique graphical styling for the TextBox.",null,null],[12,"color","","Color of the rectangle behind the text. If you don't want to see the rectangle, set the\ncolor with a zeroed alpha.",29,null],[12,"frame","","The frame around the rectangle behind the text.",29,null],[12,"frame_color","","The color of the frame.",29,null],[12,"font_size","","The font size for the text.",29,null],[12,"text_color","","The color of the text.",29,null],[3,"TitleBarStyle","","Unique styling for the **TitleBar** widget.",null,null],[12,"color","","The color of the TitleBar's rectangle surface.",30,null],[12,"frame","","The width of the frame surrounding the TitleBar's rectangle.",30,null],[12,"frame_color","","The color of the TitleBar's frame.",30,null],[12,"text_color","","The color of the title bar's text.",30,null],[12,"font_size","","The font size for the title bar's text.",30,null],[12,"maybe_wrap","","The way in which the title bar's text should wrap.",30,null],[12,"line_spacing","","The distance between lines for multi-line title bar text.",30,null],[12,"text_align","","The horizontal alignment of the title bar text.",30,null],[3,"ToggleStyle","","Styling for the Toggle including coloring, framing and labelling.",null,null],[12,"color","","Color of the Toggle's pressable area.",31,null],[12,"frame","","The width of the rectangular frame surrounding the Toggle.",31,null],[12,"frame_color","","The color of the Toggle's frame.",31,null],[12,"label_color","","The color of the Toggle's Text label.",31,null],[12,"label_font_size","","The font size for the Toggle's Text label.",31,null],[3,"XYPadStyle","","Unique graphical styling for the XYPad.",null,null],[12,"color","","The color of the XYPad's rectangle.",32,null],[12,"frame","","The width of the frame surrounding the rectangle.",32,null],[12,"frame_color","","The color of the surrounding rectangle frame.",32,null],[12,"label_color","","The color of the XYPad's label and value label text.",32,null],[12,"label_font_size","","The font size for the XYPad's label.",32,null],[12,"value_font_size","","The font size for the XYPad's *value* label.",32,null],[12,"line_thickness","","The thickness of the XYPad's crosshair lines.",32,null],[3,"Background","","A type for drawing a colored window background.",null,null],[3,"Mouse","","Represents the current state of the Mouse.",null,null],[12,"xy","","Position of the mouse cursor.",33,null],[12,"left","","Left mouse button state.",33,null],[12,"middle","","Middle mouse button state.",33,null],[12,"right","","Right mouse button state.",33,null],[12,"unknown","","Unknown button state.",33,null],[12,"scroll","","Amount that the mouse has scrolled since the last render.",33,null],[3,"MouseButtonState","","The current state of a Mouse button.",null,null],[12,"was_just_pressed","","The button has been pressed since the last update.",34,null],[12,"was_just_released","","The button has been released since the last update.",34,null],[12,"position","","The current position of the button.",34,null],[3,"MouseScroll","","The amount of scrolling that has occurred since the last render event.",null,null],[12,"x","","Scrolling across the x axis.",35,null],[12,"y","","Scrolling across the y axis.",35,null],[3,"Padding","","The distance between the inner edge of a frame and the outer edge of the inner content.",null,null],[12,"x","","Padding on the start and end of the *x* axis.",36,null],[12,"y","","Padding on the start and end of the *y* axis.",36,null],[3,"Range","","Some start and end position along a single axis.",null,null],[12,"start","","The start of some `Range` along an axis.",37,null],[12,"end","","The end of some `Range` along an axis.",37,null],[3,"Rect","","Defines a Rectangle's bounds across the x and y axes.",null,null],[12,"x","","The start and end positions of the Rectangle on the x axis.",38,null],[12,"y","","The start and end positions of the Rectangle on the y axis.",38,null],[3,"Ui","","`Ui` is the most important type within Conrod and is necessary for rendering and maintaining\nwidget state.\n# Ui Handles the following:\n* Contains the state of all widgets which can be indexed via their widget::Index.\n* Stores rendering state for each widget until the end of each render cycle.\n* Contains the theme used for default styling of the widgets.\n* Maintains the latest user input state (for mouse and keyboard).\n* Maintains the latest window dimensions.",null,null],[12,"theme","","The theme used to set default styling for widgets.",39,null],[12,"glyph_cache","","Cache for character textures, used for label width calculation and glyph rendering.",39,null],[12,"window","","An index into the root widget of the graph, representing the entire window.",39,null],[12,"win_w","","Window width.",39,null],[12,"win_h","","Window height.",39,null],[12,"global_input","","Handles aggregation of events and providing them to Widgets",39,null],[3,"UiCell","","A wrapper around the `Ui` that restricts the user from mutating the `Ui` in certain ways while\nin the scope of the `Ui::set_widgets` function and within `Widget`s' `update` methods. Using\nthe `UiCell`, users may access the `Ui` immutably (via `Deref`) however they wish, however they\nmay only mutate the `Ui` via the `&mut self` methods provided by the `UiCell`.",null,null],[3,"UserInput","","A wrapper over the current user input state.",null,null],[12,"maybe_mouse","","Mouse state only if it is currently available to the widget after considering capturing.",40,null],[12,"global_mouse","","The universal state of the Mouse, regardless of capturing.",40,null],[12,"pressed_keys","","Keys pressed since the last cycle.",40,null],[12,"released_keys","","Keys released since the last cycle.",40,null],[12,"entered_text","","Text entered since the last cycle.",40,null],[12,"window_dim","","Current dimensions of the window.",40,null],[3,"CommonBuilder","","A struct containing builder data common to all **Widget** types.",null,null],[12,"style","","Styling and positioning data that is common between all widget types.",41,null],[12,"maybe_parent_idx","","The parent widget of the Widget.",41,null],[12,"is_floating","","Whether or not the Widget is a "floating" Widget.",41,null],[12,"maybe_x_scroll","","Arguments to the scrolling of the widget's *x* axis.",41,null],[12,"maybe_y_scroll","","Arguments to the scrolling of the widget's *y* axis.",41,null],[12,"place_on_kid_area","","Whether or not the **Widget** should be placed on the kid_area.",41,null],[12,"maybe_graphics_for","","Describes whether or not the **Widget** is instantiated as a graphical element for some\nother **Widget**.",41,null],[3,"CommonState","","A wrapper around state that is common to all **Widget** types.",null,null],[12,"rect","","The rectangle describing the `Widget`'s area.",42,null],[12,"depth","","The rendering depth for the Widget (the default is 0.0).",42,null],[12,"drag_state","","The current state of the dragged widget, if it is draggable.",42,null],[12,"maybe_floating","","Floating state for the widget if it is floating.",42,null],[12,"kid_area","","The area of the widget upon which kid widgets are placed.",42,null],[3,"CommonStyle","","Styling and positioning data that is common between all widget types.",null,null],[12,"maybe_x_dimension","","The width of a Widget.",43,null],[12,"maybe_y_dimension","","The height of a Widget.",43,null],[12,"maybe_x_position","","The position of a Widget along the *x* axis.",43,null],[12,"maybe_y_position","","The position of a Widget along the *y* axis.",43,null],[12,"maybe_depth","","The rendering Depth of the Widget.",43,null],[3,"Floating","","State necessary for "floating" (pop-up style) widgets.",null,null],[12,"time_last_clicked","","The time the **Widget** was last clicked (used for depth sorting in the widget **Graph**).",44,null],[3,"IndexSlot","","A small cache for a single unique **NodeIndex**.",null,null],[3,"UpdateArgs","","Arguments for the [**Widget::update**](./trait.Widget#method.update) method in a struct to\nsimplify the method signature.",null,null],[12,"idx","","The **Widget**'s unique index.",45,null],[12,"maybe_parent_idx","","The **Widget**'s parent unique index, if there is one.",45,null],[12,"prev","","The **Widget**'s previous state. Specifically, the state that is common between all widgets,\nsuch as positioning, floatability, draggability, etc.",45,null],[12,"state","","A wrapper around the **Widget**'s unique state, providing methods for both immutably viewing\nand mutably updating the state.",45,null],[12,"rect","","The rectangle describing the **Widget**'s area.",45,null],[12,"style","","The **Widget**'s current **Widget::Style**.",45,null],[12,"ui","","Restricted access to the `Ui`.",45,null],[3,"KidArea","","The area upon which a **Widget**'s child widgets will be placed.",null,null],[12,"rect","","The **Rect** bounds describing the position and area.",46,null],[12,"pad","","The distance between the edge of the area and where the widgets will be placed.",46,null],[3,"KidAreaArgs","","Arguments to the [**Widget::kid_area**](./trait.Widget#method.kid_area) method in a struct to\nsimplify the method signature.",null,null],[12,"rect","","The **Rect** describing the **Widget**'s position and dimensions.",47,null],[12,"style","","Current **Widget::Style** of the **Widget**.",47,null],[12,"theme","","The active **Theme** within the **Ui**.",47,null],[12,"glyph_cache","","The **Ui**'s **GlyphCache** (for determining text width).",47,null],[3,"WidgetCommonState","","A wrapper around state that is common to all **Widget** types.",null,null],[12,"rect","","The rectangle describing the `Widget`'s area.",42,null],[12,"depth","","The rendering depth for the Widget (the default is 0.0).",42,null],[12,"drag_state","","The current state of the dragged widget, if it is draggable.",42,null],[12,"maybe_floating","","Floating state for the widget if it is floating.",42,null],[12,"kid_area","","The area of the widget upon which kid widgets are placed.",42,null],[3,"WidgetId","","Unique, public widget identifier. Each widget must use a unique `WidgetId` so that it's state\ncan be cached within the `Ui` type. The reason we use a usize is because widgets are cached\nwithin a `Graph` whose max number of `Node`s is indexed by usize.",null,null],[12,"0","","",48,null],[3,"WidgetState","","A wrapper around a **Widget**'s unique **Widget::State**.",null,null],[4,"TextWrap","","The way in which text should wrap around the width.",null,null],[13,"Character","","Wrap at the first character that exceeds the width.",49,null],[13,"Whitespace","","Wrap at the first word that exceeds the width.",49,null],[4,"ShapeStyle","","The style for some 2D shape.",null,null],[13,"Outline","","The outline of the shape with this style.",50,null],[13,"Fill","","A rectangle filled with this color.",50,null],[4,"Framing","","To be used as a parameter for defining the aesthetic\nof the widget frame.",null,null],[13,"Frame","","Frame width and color.",51,null],[13,"NoFrame","","No frame.",51,null],[4,"MouseButtonPosition","","Represents the current state of a mouse button.",null,null],[13,"Up","","The mouse button is currently up.",52,null],[13,"Down","","The mouse button is currently down (pressed).",52,null],[4,"Align","","The orientation of **Align**ment along some **Axis**.",null,null],[13,"Start","","**Align** our **Start** with the **Start** of some other widget along the **Axis**.",53,null],[13,"Middle","","**Align** our **Middle** with the **Middle** of some other widget along the **Axis**.",53,null],[13,"End","","**Align** our **End** with the **End** of some other widget along the **Axis**.",53,null],[4,"Axis","","Represents either **Axis** in the 2-dimensional plane.",null,null],[13,"X","","The horizontal plane's Axis.",54,null],[13,"Y","","The vertical plane's Axis.",54,null],[4,"Corner","","Either of the four corners of a **Rect**.",null,null],[13,"TopLeft","","The top left corner of a **Rect**.",55,null],[13,"TopRight","","The top right corner of a **Rect**.",55,null],[13,"BottomLeft","","The bottom left corner of a **Rect**.",55,null],[13,"BottomRight","","The bottom right corner of a **Rect**.",55,null],[4,"Direction","","Directionally positioned, normally relative to some other widget.",null,null],[13,"Forwards","","Positioned forwards (*positive* **Scalar**) along some **Axis**.",56,null],[13,"Backwards","","Positioned backwards (*negative* **Scalar**) along some **Axis**.",56,null],[4,"Dimension","","The length of a **Widget** over either the *x* or *y* axes.",null,null],[13,"Absolute","","Some specific length has been given.",57,null],[13,"Of","","The dimension should match that of the widget at the given index.",57,null],[13,"KidAreaOf","","The dimension should match that of the `kid_area` of the widget at the given index.",57,null],[4,"Edge","","Represents either the **Start** or **End** **Edge** of a **Range**.",null,null],[13,"Start","","The beginning of a **Range**.",58,null],[13,"End","","The end of a **Range**.",58,null],[4,"Place","","Place the widget at a position on some other widget.",null,null],[13,"Start","","Place upon the **Start** of the Widget's `kid_area`.",59,null],[13,"Middle","","Place upon the **Middle** of the Widget's `kid_area`.",59,null],[13,"End","","Place upon the **End** of the Widget's `kid_area`.",59,null],[4,"Position","","Some **Position** of some **Widget** along a single axis.",null,null],[13,"Absolute","","A specific position.",60,null],[13,"Relative","","A position relative to some other Widget.",60,null],[13,"Align","","A position aligned with some other Widget.",60,null],[13,"Direction","","A direction relative to some other Widget.",60,null],[13,"Place","","A position at a place on some other Widget.",60,null],[4,"MaybeParent","","The builder argument for the **Widget**'s parent.",null,null],[13,"None","","The user specified the widget should not have any parents, so the Root will be used.",61,null],[13,"Some","","The user gave a specific parent widget.",61,null],[13,"Unspecified","","No parent widget was specified, so we will assume they want the last parent.",61,null],[4,"WidgetIndex","","An index either given in the form of a publicly instantiated `Widget`'s `WidgetId`, or an\ninternally instantiated `Widget`'s `NodeIndex`,",null,null],[13,"Public","","A public identifier given by a user of a conrod library/widget, usually generated by the\n`widget_ids` macro.",62,null],[13,"Internal","","An index to an internal widget, usually used to construct some other widget.",62,null],[5,"default_x_dimension","","Determines the default **Dimension** for a **Widget**.",null,{"inputs":[{"name":"w"},{"name":"ui"}],"output":{"name":"dimension"}}],[5,"default_y_dimension","","Determines the default **Dimension** for a **Widget**.",null,{"inputs":[{"name":"w"},{"name":"ui"}],"output":{"name":"dimension"}}],[0,"drag","","",null,null],[4,"State","conrod::drag","The current drag interaction for the Widget.",null,null],[13,"Normal","","Idle drag state.",63,null],[13,"Highlighted","","The drag area is highlighted.",63,null],[13,"Clicked","","The drag area is clicked at the given point.",63,null],[5,"drag_widget","","Drag the widget from its position `xy` and return the new position.",null,null],[11,"eq","","",63,null],[11,"ne","","",63,null],[11,"fmt","","",63,null],[11,"clone","","",63,null],[0,"scroll","conrod","Scroll related types and logic.",null,null],[3,"Scroll","conrod::scroll","Arguments given via a scrollable `Widget`'s builder methods for the scrolling along a single\naxis.",null,null],[3,"State","","Scroll state calculated for a single axis.",null,null],[12,"offset","","The distance that has been scrolled from the origin.",64,null],[12,"thickness","","The width for vertical scrollbars, the height for horizontal scrollbars.",64,null],[12,"color","","The color of the scrollbar.",64,null],[12,"interaction","","The current state of interaction between the mouse and the scrollbar.",64,null],[12,"is_scrolling","","Whether or not the this axis is currently scrolling.",64,null],[3,"Style","","Style for the Scrolling.",null,null],[12,"maybe_thickness","","The width for vertical scrollbars, the height for horizontal scrollbars.",65,null],[12,"maybe_color","","The color of the scrollbar.",65,null],[4,"Interaction","","Represents an interaction between the mouse cursor and the scroll bar.",null,null],[13,"Normal","","There are currently no interactions.",66,null],[13,"Highlighted","","The mouse is over either the track or the handle of the scroll bar.",66,null],[13,"Clicked","","The scrollbar handle is currently clicked by the mouse.",66,null],[4,"Elem","","The elements that make up the scrollbar.",null,null],[13,"Handle","","The draggable part of the scrollbar and the mouse's position.",67,null],[13,"Track","","The track along which the `Handle` can be dragged.",67,null],[4,"X","","Behaviour for scrolling across the `X` axis.",null,null],[4,"Y","","Behaviour for scrolling across the `Y` axis.",null,null],[5,"track","","Calculates the `Rect` for a scroll "track" with the given `thickness` over the given axis for\nthe given `container`.",null,{"inputs":[{"name":"rect"},{"name":"scalar"}],"output":{"name":"rect"}}],[5,"handle","","Calculates the `Rect` for a scroll "handle" sitting on the given `track` with an offset and\nlength that represents the given `Axis`' `state`.",null,{"inputs":[{"name":"rect"},{"name":"state"}],"output":{"name":"rect"}}],[6,"StateX","","State for scrolling along the **X** axis.",null,null],[6,"StateY","","State for scrolling along the **Y** axis.",null,null],[8,"Axis","","Methods for distinguishing behaviour between both scroll axes at compile-time.",null,null],[10,"parallel_range","","The range of the given `Rect` that is parallel with this `Axis`.",68,{"inputs":[{"name":"rect"}],"output":{"name":"range"}}],[10,"perpendicular_range","","The range of the given `Rect` that is perpendicular with this `Axis`.",68,{"inputs":[{"name":"rect"}],"output":{"name":"range"}}],[10,"padding_range","","Given some rectangular `Padding`, return the `Range` that corresponds with this `Axis`.",68,{"inputs":[{"name":"padding"}],"output":{"name":"range"}}],[10,"track","","The `Rect` for a scroll "track" with the given `thickness` for a container with the given\n`Rect`.",68,{"inputs":[{"name":"rect"},{"name":"scalar"}],"output":{"name":"rect"}}],[10,"mouse_scalar","","The coordinate of the given mouse position that corresponds with this `Axis`.",68,{"inputs":[{"name":"point"}],"output":{"name":"scalar"}}],[10,"mouse_scroll_axis","","The coordinate of the given `MouseScroll` that corresponds with this `Axis`.",68,{"inputs":[{"name":"mousescroll"}],"output":{"name":"scalar"}}],[10,"handle_rect","","The `Rect` for a scroll handle given both `Range`s.",68,{"inputs":[{"name":"range"},{"name":"range"}],"output":{"name":"rect"}}],[10,"offset_direction","","A `Scalar` multiplier representing the direction in which positive offset shifts the\n`scrollable_range` (either `-1.0` or `1.0).",68,{"inputs":[],"output":{"name":"scalar"}}],[11,"eq","","",69,null],[11,"ne","","",69,null],[11,"fmt","","",69,null],[11,"clone","","",69,null],[11,"eq","","",64,null],[11,"ne","","",64,null],[11,"fmt","","",64,null],[11,"clone","","",64,null],[11,"eq","","",65,null],[11,"ne","","",65,null],[11,"fmt","","",65,null],[11,"clone","","",65,null],[11,"eq","","",66,null],[11,"ne","","",66,null],[11,"fmt","","",66,null],[11,"clone","","",66,null],[11,"eq","","",67,null],[11,"ne","","",67,null],[11,"fmt","","",67,null],[11,"clone","","",67,null],[11,"eq","","",70,null],[11,"fmt","","",70,null],[11,"clone","","",70,null],[11,"eq","","",71,null],[11,"fmt","","",71,null],[11,"clone","","",71,null],[11,"new","","The default `Scroll` args.",69,{"inputs":[],"output":{"name":"self"}}],[11,"update","","Calculate the new scroll state for the single axis of a `Widget`.",64,{"inputs":[{"name":"ui"},{"name":"index"},{"name":"scroll"},{"name":"kidarea"},{"name":"option"}],"output":{"name":"self"}}],[11,"is_over","","Whether or not the given `xy` point is over the scroll track.",64,null],[11,"new","","Construct a new default Style.",65,{"inputs":[],"output":{"name":"style"}}],[11,"thickness","","Get the thickness of the scrollbar or a default from the theme.",65,null],[11,"color","","Get the **Color** for the scrollbar.",65,null],[11,"parallel_range","","",70,{"inputs":[{"name":"rect"}],"output":{"name":"range"}}],[11,"perpendicular_range","","",70,{"inputs":[{"name":"rect"}],"output":{"name":"range"}}],[11,"padding_range","","",70,{"inputs":[{"name":"padding"}],"output":{"name":"range"}}],[11,"track","","",70,{"inputs":[{"name":"rect"},{"name":"scalar"}],"output":{"name":"rect"}}],[11,"mouse_scalar","","",70,{"inputs":[{"name":"point"}],"output":{"name":"scalar"}}],[11,"mouse_scroll_axis","","",70,{"inputs":[{"name":"mousescroll"}],"output":{"name":"scalar"}}],[11,"handle_rect","","",70,{"inputs":[{"name":"range"},{"name":"range"}],"output":{"name":"rect"}}],[11,"offset_direction","","",70,{"inputs":[],"output":{"name":"scalar"}}],[11,"parallel_range","","",71,{"inputs":[{"name":"rect"}],"output":{"name":"range"}}],[11,"perpendicular_range","","",71,{"inputs":[{"name":"rect"}],"output":{"name":"range"}}],[11,"padding_range","","",71,{"inputs":[{"name":"padding"}],"output":{"name":"range"}}],[11,"track","","",71,{"inputs":[{"name":"rect"},{"name":"scalar"}],"output":{"name":"rect"}}],[11,"mouse_scalar","","",71,{"inputs":[{"name":"point"}],"output":{"name":"scalar"}}],[11,"mouse_scroll_axis","","",71,{"inputs":[{"name":"mousescroll"}],"output":{"name":"scalar"}}],[11,"handle_rect","","",71,{"inputs":[{"name":"range"},{"name":"range"}],"output":{"name":"rect"}}],[11,"offset_direction","","",71,{"inputs":[],"output":{"name":"scalar"}}],[0,"events","conrod","This module contains all the logic for handling input events and providing them to widgets.\nAll user input is provided to the `Ui` in the form of `input::Input` events, which are continuously\npolled from the backend window implementation. These raw input events tend to be fairly low level.\nThe `Ui` passes each of these events off to it's `GlobalInput`, which keeps track of the state of\naffairs for the entire `Ui`. `GlobalInput` will also aggregate the low level events into higher\nlevel ones. For instance, two events indicating that a mouse button was pressed then released\nwould cause a new `UiEvent::MouseClick` to be generated. This saves individual widgets from\nhaving to interpret these themselves, thus freeing them from also having to store input state.",null,null],[0,"ui_event","conrod::events","Contains all the structs and enums to describe all of the input events that `Widget`s\ncan handle. The core of this module is the `UiEvent` enum, which encapsulates all\nof those events.",null,null],[3,"MouseDrag","conrod::events::ui_event","Contains all the relevant information for a mouse drag.",null,null],[12,"button","","Which mouse button was being held during the drag",72,null],[12,"start","","The origin of the drag. This will always be the position of the mouse whenever the\nbutton was first pressed",72,null],[12,"end","","The end position of the mouse. If `in_progress` is true, then subsequent `MouseDrag`\nevents may be created with a new `end` as the mouse continues to move.",72,null],[12,"modifier","","Which modifier keys are being held during the mouse drag.",72,null],[12,"in_progress","","Indicates whether the mouse button is still being held down. If it is, then\n`in_progress` will be `true` and more `MouseDrag` events can likely be expected.",72,null],[3,"MouseClick","","Contains all the relevant information for a mouse click.",null,null],[12,"button","","Which mouse button was clicked",73,null],[12,"location","","The location of the click",73,null],[12,"modifier","","Which modifier keys, if any, that were being held down when the user clicked",73,null],[3,"Scroll","","Holds all the relevant information about a scroll event",null,null],[12,"x","","The amount of scroll along the x axis.",74,null],[12,"y","","The amount of scroll along the y axis.",74,null],[12,"modifiers","","Which modifier keys, if any, that were being held down while the scroll occured",74,null],[4,"UiEvent","","Enum containing all the events that `Widget`s can listen for.",null,null],[13,"Raw","","Represents a raw `input::Input` event",75,null],[13,"MouseClick","","Represents a mouse button being pressed and subsequently released while the\nmouse stayed in roughly the same place.",75,null],[13,"MouseDrag","","Represents a mouse button being pressed and a subsequent movement of the mouse.",75,null],[13,"Scroll","","This is a generic scroll event. This is different from the `input::Movement::MouseScroll`\nevent in several aspects. For one, it does not necessarily have to get created by a\nmouse wheel, it could be generated from a keypress, or as a response to handling some\nother event. Secondly, it contains a field holding the `input::keyboard::ModifierKey`\nthat was held while the scroll occured.",75,null],[13,"WidgetCapturesMouse","","Indicates that the given widget is starting to capture the mouse.",75,null],[13,"WidgetUncapturesMouse","","Indicates that the given widget is losing mouse capture.",75,null],[13,"WidgetCapturesKeyboard","","Indicates that the given widget is starting to capture the keyboard.",75,null],[13,"WidgetUncapturesKeyboard","","Indicates that the given widget is losing keyboard capture.",75,null],[11,"fmt","","",75,null],[11,"eq","","",75,null],[11,"ne","","",75,null],[11,"clone","","",75,null],[11,"fmt","","",72,null],[11,"eq","","",72,null],[11,"ne","","",72,null],[11,"clone","","",72,null],[11,"fmt","","",73,null],[11,"eq","","",73,null],[11,"ne","","",73,null],[11,"clone","","",73,null],[11,"fmt","","",74,null],[11,"eq","","",74,null],[11,"ne","","",74,null],[11,"clone","","",74,null],[11,"relative_to","","Returns a copy of the MouseClick relative to the given `position::Point`",73,null],[11,"relative_to","","Returns a copy of the MouseDrag relative to the given `position::Point`",72,null],[11,"relative_to","","Returns a copy of the UiEvent relative to the given `position::Point`",75,null],[11,"is_mouse_event","","Returns `true` if this event is related to the mouse. Note that just because this method\nreturns true does not mean that the event necessarily came from the mouse.\nA `UiEvent::Scroll` is considered to be both a mouse and a keyboard event.",75,null],[11,"is_keyboard_event","","Returns `true` if this event is related to the keyboard. Note that just because this method\nreturns true does not mean that the event necessarily came from the keyboard.\nA `UiEvent::Scroll` is considered to be both a mouse and a keyboard event.",75,null],[0,"input_state","conrod::events","Everything related to storing the state of user input. This includes the state of any\nbuttons on either the keyboard or the mouse, as well as the position of the mouse.\nIt also includes which widgets, if any, are capturing the keyboard and mouse.\nThis module exists mostly to support the `events::InputProvider` trait.",null,null],[3,"InputState","conrod::events::input_state","Holds the current state of user input. This includes the state of all buttons on\nthe keyboard and mouse, as well as the position of the mouse. It also includes which\nwidgets, if any, are capturing keyboard and mouse input.",null,null],[12,"mouse_buttons","","A map that stores the up/down state of each button. If the button is down, then\nit stores the position of the mouse when the button was first pressed.",76,null],[12,"mouse_position","","The current position of the mouse.",76,null],[12,"widget_capturing_keyboard","","Which widget, if any, is currently capturing the keyboard",76,null],[12,"widget_capturing_mouse","","Which widget, if any, is currently capturing the mouse",76,null],[12,"modifiers","","Which modifier keys are being held down.",76,null],[3,"ButtonMap","","Stores the state of all mouse buttons. If the mouse button is down,\nit stores the position of the mouse when the button was pressed",null,null],[6,"ButtonDownPosition","","Describes the position of the mouse when the button was pressed. Will be\n`None` if the mouse button is currently in the up position.",null,null],[17,"NUM_MOUSE_BUTTONS","","The max total number of buttons on a mouse.",null,null],[11,"eq","","",76,null],[11,"ne","","",76,null],[11,"fmt","","",76,null],[11,"clone","","",76,null],[11,"new","","Returns a fresh new input state",76,{"inputs":[],"output":{"name":"inputstate"}}],[11,"update","","Updates the input state based on an event.",76,null],[11,"relative_to","","Returns a copy of the InputState relative to the given `position::Point`",76,null],[11,"eq","","",77,null],[11,"ne","","",77,null],[11,"fmt","","",77,null],[11,"clone","","",77,null],[11,"new","","Returns a new button map with all states set to `None`",77,{"inputs":[],"output":{"name":"buttonmap"}}],[11,"set","","Sets the state of a specific `MouseButton`",77,null],[11,"get","","Returns the state of a mouse button",77,null],[11,"take","","Returns the current state of a mouse button, leaving `None` in its place",77,null],[11,"pressed_button","","If any mouse buttons are currently pressed, will return a tuple containing\nboth the `MouseButton` that is pressed and the `Point` describing the location of the\nmouse when it was pressed.",77,null],[11,"relative_to","","Returns a copy of the ButtonMap relative to the given `Point`",77,null],[0,"widget_input","conrod::events","Contains all the logic for filtering input events and making them relative to widgets.\nThe core of this module is the `WidgetInput::for_widget` method, which creates an\n`InputProvider` that provides input events for a specific widget.",null,null],[3,"WidgetInput","conrod::events::widget_input","Holds any events meant to be given to a `Widget`. This is what widgets will interface with\nwhen handling events in their `update` method. All events returned from methods on `WidgetInput`\nwill be relative to the widget's own (0,0) origin. Additionally, `WidgetInput` will not provide\nmouse or keyboard events that do not directly pertain to the widget.",null,null],[3,"WidgetInputEventIterator","","Alows iterating over events for a specific widget. All events provided by this Iterator\nwill be filtered, so that input intended for other widgets is excluded. In addition,\nall mouse events will have their coordinates relative to the widget's own (0,0) origin.",null,null],[11,"for_widget","","Returns a `WidgetInput` with events specifically for the given widget.\nFilters out only the events that directly pertain to the widget.\nAll events will also be made relative to the widget's own (0,0) origin.",78,{"inputs":[{"name":"index"},{"name":"rect"},{"name":"globalinput"}],"output":{"name":"widgetinput"}}],[11,"mouse_is_over_widget","","Returns true if the mouse is currently over the widget, otherwise false",78,null],[11,"maybe_mouse_position","","If the mouse is over the widget and no other widget is capturing the mouse, then\nthis will return the position of the mouse relative to the widget. Otherwise, it\nwill return `None`",78,null],[11,"next","","",79,null],[11,"all_events","","",78,null],[11,"current_state","","",78,null],[11,"mouse_click","","",78,null],[11,"mouse_drag","","",78,null],[11,"mouse_button_down","","",78,null],[0,"global_input","conrod::events","Handles all of the global input events and state.\nThe core of this module is the `GlobalInput` struct. It is responsible for aggregating\nand interpreting raw input events into high-level semantic events.",null,null],[3,"GlobalInput","conrod::events::global_input","Global input event handler that also implements `InputProvider`. The `Ui` passes all events\nto it's `GlobalInput` instance, which aggregates and interprets the events to provide\nso-called 'high-level' events to widgets. This input gets reset after every update by the `Ui`.",null,null],[12,"start_state","","The `InputState` as it was at the end of the last update cycle.",80,null],[12,"current_state","","The most recent `InputState`, with updates from handling all the events\nthis update cycle",80,null],[6,"GlobalInputEventIterator","","Iterator over global `UiEvent`s. Unlike the `WidgetInputEventIterator`, this will\nnever filter out any events, and all coordinates will be reative to the (0,0) origin\nof the window.",null,null],[11,"all_events","","",80,null],[11,"current_state","","",80,null],[11,"mouse_button_down","","",80,null],[11,"new","","Returns a fresh new `GlobalInput`",80,{"inputs":[{"name":"scalar"}],"output":{"name":"globalinput"}}],[11,"push_event","","Adds a new event and updates the internal state.",80,null],[11,"reset","","Called at the end of every update cycle in order to prepare the `GlobalInput` to\nhandle events for the next one.",80,null],[11,"mouse_position","","Returns the most up to date position of the mouse",80,null],[11,"starting_state","","Returns the input state as it was after the last update",80,null],[11,"currently_capturing_mouse","","Returns the most up to date info on which widget is capturing the mouse",80,null],[11,"currently_capturing_keyboard","","Returns the most up to date info on which widget is capturing the keyboard",80,null],[0,"input_provider","conrod::events","Contains the `InputProvider` trait, which is used to provide input events to widgets.",null,null],[3,"TextJustEntered","conrod::events::input_provider","An iterator yielding the `&str` of each `Text` event's `String` that was just entered.",null,null],[3,"KeysJustReleased","","An Iterator over `input::keyboard::Key`s that were just released.",null,null],[3,"KeysJustPressed","","An Iterator over `input::keyboard::Key`s that were just pressed.",null,null],[3,"MouseButtonsJustPressed","","An Iterator over `input::mouse::MouseButton`s that were just pressed.",null,null],[3,"MouseButtonsJustReleased","","An Iterator over `input::mouse::MouseButton`s that were just released.",null,null],[8,"InputProvider","","Trait for something that provides events to be consumed by a widget.",null,null],[16,"Events","","An iterator yielding references to the `InputProvider`'s `UiEvent`s.",81,null],[10,"all_events","","This is the only method that needs to be implemented.\nJust provided a reference to a `Vec<UiEvent>` that contains\nall the events for this update cycle.",81,null],[10,"current_state","","Returns the current input state. The returned state is assumed to be up to\ndate with all of the events so far.",81,null],[10,"mouse_button_down","","If the given mouse button is currently pressed, returns the current position of the mouse.\nOtherwise, returns `None`",81,null],[11,"text_just_entered","","Returns a reference to each slice of `Text` that was entered since the last update.",81,null],[11,"keys_just_released","","Returns all of the `Key`s that were released since the last update.",81,null],[11,"keys_just_pressed","","Returns all of the keyboard `Key`s that were pressed since the last update.",81,null],[11,"mouse_buttons_just_pressed","","Returns all of the `MouseButton`s that were pressed since the last update.",81,null],[11,"mouse_buttons_just_released","","Returns all of the `MouseButton`s that were released since the last update.",81,null],[11,"scroll","","Returns a `Scroll` struct if any scrolling was done since the last update.\nIf multiple raw scroll events occured since the last update (which could very well\nhappen if the user is scrolling quickly), then the `Scroll` returned will represent an\naggregate total of all the scrolling.",81,null],[11,"mouse_left_drag","","Convenience method to call `mouse_drag`, passing in `MouseButton::Left`.\nSaves widgets from having to `use input::mouse::MouseButton` if all they care\nabout is the left mouse button.",81,null],[11,"mouse_drag","","Returns a `MouseDrag` if one has occured involving the given mouse button.\nIf multiple raw mouse movement events have\noccured since the last update (which will happen if the user moves the mouse quickly),\nthen the returned `MouseDrag` will be only the _most recent_ one, which will contain\nthe most recent mouse position.",81,null],[11,"mouse_left_click","","Convenience method to call `mouse_click`, passing in passing in `MouseButton::Left`.\nSaves widgets from having to `use input::mouse::MouseButton` if all they care\nabout is the left mouse button.",81,null],[11,"mouse_right_click","","Convenience method to call `mouse_click`, passing in passing in `MouseButton::Right`.\nSaves widgets from having to `use input::mouse::MouseButton` if all they care\nabout is the left mouse button.",81,null],[11,"mouse_click","","Returns a `MouseClick` if one has occured with the given mouse button.\nA _click_ is determined to have occured if a mouse button was pressed and subsequently\nreleased while the mouse was in roughly the same place.",81,null],[11,"mouse_left_button_down","","Convenience method for checking if the Left mouse button is down.\nReturns mouse position if the Left mouse button is currently pressed, otherwise `None`.",81,null],[11,"mouse_right_button_down","","Convenience method for checking if the Right mouse button is down.\nReturns mouse position if the Right mouse button is currently pressed, otherwise `None`.",81,null],[11,"mouse_position","","Convenience method for returning the current mouse position.",81,null],[11,"fmt","","",82,null],[11,"clone","","",82,null],[11,"next","","",82,null],[11,"fmt","","",83,null],[11,"clone","","",83,null],[11,"next","","",83,null],[11,"fmt","","",84,null],[11,"clone","","",84,null],[11,"next","","",84,null],[11,"fmt","","",85,null],[11,"clone","","",85,null],[11,"next","","",85,null],[11,"fmt","","",86,null],[11,"clone","","",86,null],[11,"next","","",86,null],[0,"backend","conrod","Traits and functionality related to Conrod's generic backend.",null,null],[8,"CharacterCache","conrod::backend","Stores characters in a buffer and loads them by demand.",null,null],[16,"Texture","","The textyre type associated with the character cache.",0,null],[10,"character","","Get reference to character.",0,null],[11,"width","","Return the width for some given text.",0,null],[8,"Graphics","","Implemented by all graphics back-ends.",null,null],[16,"Texture","","The texture type associated with the back-end.",1,null],[10,"clear_color","","Clears background with a color.",1,null],[10,"clear_stencil","","Clears stencil buffer with a value, usually 0.",1,null],[10,"tri_list","","Renders list of 2d triangles using a solid color.",1,null],[10,"tri_list_uv","","Renders list of 2d triangles using a color and a texture.",1,null],[11,"rectangle","","Draws a rectangle.",1,null],[11,"polygon","","Draws a polygon.",1,null],[11,"polygon_tween_lerp","","Draws a tweened polygon using linear interpolation.",1,null],[11,"image","","Draws image.",1,null],[11,"ellipse","","Draws ellipse.",1,null],[11,"line","","Draws line.",1,null],[11,"circle_arc","","Draws circle arc.",1,null],[11,"deform_image","","Draws deformed image.",1,null],[0,"graphics","","Conrod's generic graphics backend.",null,null],[3,"Context","conrod::backend::graphics","Drawing 2d context.",null,null],[12,"viewport","","Viewport information.",87,null],[12,"view","","View transformation.",87,null],[12,"transform","","Current transformation.",87,null],[12,"draw_state","","Current draw state settings.",87,null],[3,"DrawState","","Graphics draw state used for blending, clipping and stencil rendering.",null,null],[12,"scissor","","Scissor mask to use. If set, no pixel outside of this\nrectangle (in screen space) will be written to as a result of rendering.",88,null],[12,"stencil","","Stencil test to use. If None, no stencil testing is done.",88,null],[12,"blend","","Blend function to use. If None, blending is disabled.",88,null],[8,"Graphics","","Implemented by all graphics back-ends.",null,null],[16,"Texture","","The texture type associated with the back-end.",1,null],[10,"clear_color","","Clears background with a color.",1,null],[10,"clear_stencil","","Clears stencil buffer with a value, usually 0.",1,null],[10,"tri_list","","Renders list of 2d triangles using a solid color.",1,null],[10,"tri_list_uv","","Renders list of 2d triangles using a color and a texture.",1,null],[11,"rectangle","","Draws a rectangle.",1,null],[11,"polygon","","Draws a polygon.",1,null],[11,"polygon_tween_lerp","","Draws a tweened polygon using linear interpolation.",1,null],[11,"image","","Draws image.",1,null],[11,"ellipse","","Draws ellipse.",1,null],[11,"line","","Draws line.",1,null],[11,"circle_arc","","Draws circle arc.",1,null],[11,"deform_image","","Draws deformed image.",1,null],[8,"ImageSize","","Implemented by all images to be used with generic algorithms.",null,null],[10,"get_size","","Get the image size.",89,null],[11,"get_width","","Gets the image width.",89,null],[11,"get_height","","Gets the image height.",89,null],[8,"Transformed","","Implemented by contexts that can transform.",null,null],[10,"append_transform","","Appends transform to the current one.",90,null],[10,"prepend_transform","","Prepends transform to the current one.",90,null],[10,"trans","","Translate x an y in local coordinates.",90,null],[11,"rot_deg","","Rotates degrees in local coordinates.",90,null],[10,"rot_rad","","Rotate radians in local coordinates.",90,null],[10,"orient","","Orients x axis to look at point locally.",90,null],[10,"scale","","Scales in local coordinates.",90,null],[11,"zoom","","Scales in both directions in local coordinates.",90,null],[11,"flip_v","","Flips vertically in local coordinates.",90,null],[11,"flip_h","","Flips horizontally in local coordinates.",90,null],[11,"flip_hv","","Flips horizontally and vertically in local coordinates.",90,null],[10,"shear","","Shears in local coordinates.",90,null],[3,"Character","","Holds rendered character data.",null,null],[12,"offset","","The offset of character.",91,null],[12,"size","","The size of character, including space.",91,null],[12,"texture","","The texture of the character.",91,null],[8,"CharacterCache","","Stores characters in a buffer and loads them by demand.",null,null],[16,"Texture","","The textyre type associated with the character cache.",0,null],[10,"character","","Get reference to character.",0,null],[11,"width","","Return the width for some given text.",0,null],[5,"draw_from_graph","","Draw the given **Graph** using the given **CharacterCache** and **Graphics** backends.",null,null],[5,"draw_from_container","","Use the given **CharacterCache** and **Graphics** backends to draw the given widget.",null,{"inputs":[{"name":"context"},{"name":"g"},{"name":"charactercache"},{"name":"container"},{"name":"theme"}],"output":null}],[5,"conrod_rect_to_graphics_rect","","Converts a conrod `Rect` to a `graphics::types::Rectangle` expected by the Graphics backend.",null,{"inputs":[{"name":"rect"}],"output":{"name":"rectangle"}}],[5,"draw_rectangle","","Draw a rectangle at the given Rect.",null,{"inputs":[{"name":"context"},{"name":"g"},{"name":"rect"},{"name":"color"}],"output":null}],[5,"draw_lines","","Draw a series of lines between the given **Point**s using the given style.",null,{"inputs":[{"name":"context"},{"name":"g"},{"name":"theme"},{"name":"i"},{"name":"style"}],"output":null}],[5,"draw_scrolling","","Draw the scroll bars (if necessary) for the given widget's scroll state.",null,{"inputs":[{"name":"context"},{"name":"g"},{"name":"rect"},{"name":"option"},{"name":"option"}],"output":null}],[8,"Backend","conrod::backend","A trait to be implemented by all backends to conrod.",null,null],[16,"Texture","","The `Texture` type used by the `Graphics` and `CharacterCache` backends.",92,null],[16,"CharacterCache","","The character cache used by the backend.",92,null],[11,"clone","conrod","",93,null],[11,"new","","Construct a background.",93,{"inputs":[],"output":{"name":"background"}}],[11,"set","","Set the color used clear the background with before drawing widgets.",93,null],[11,"color","","",93,null],[0,"color","","",null,null],[3,"Hsla","conrod::color","The parts of HSL along with an alpha for transparency.",null,null],[12,"0","","",94,null],[12,"1","","",94,null],[12,"2","","",94,null],[12,"3","","",94,null],[3,"Rgba","","The parts of RGB along with an alpha for transparency.",null,null],[12,"0","","",95,null],[12,"1","","",95,null],[12,"2","","",95,null],[12,"3","","",95,null],[4,"Color","","Color supporting RGB and HSL variants.",null,null],[13,"Rgba","","Red, Green, Blue, Alpha - All values' scales represented between 0.0 and 1.0.",96,null],[13,"Hsla","","Hue, Saturation, Lightness, Alpha - all valuess scales represented between 0.0 and 1.0.",96,null],[4,"Gradient","","Linear or Radial Gradient.",null,null],[13,"Linear","","Takes a start and end point and then a series of color stops that indicate how to\ninterpolate between the start and end points.",97,null],[13,"Radial","","First takes a start point and inner radius. Then takes an end point and outer radius.\nIt then takes a series of color stops that indicate how to interpolate between the\ninner and outer circles.",97,null],[5,"rgba","","Create RGB colors with an alpha component for transparency.\nThe alpha component is specified with numbers between 0 and 1.",null,{"inputs":[{"name":"f32"},{"name":"f32"},{"name":"f32"},{"name":"f32"}],"output":{"name":"color"}}],[5,"rgb","","Create RGB colors from numbers between 0.0 and 1.0.",null,{"inputs":[{"name":"f32"},{"name":"f32"},{"name":"f32"}],"output":{"name":"color"}}],[5,"rgba_bytes","","Create RGB colors from numbers between 0 and 255 inclusive.\nThe alpha component is specified with numbers between 0 and 1.",null,{"inputs":[{"name":"u8"},{"name":"u8"},{"name":"u8"},{"name":"f32"}],"output":{"name":"color"}}],[5,"rgb_bytes","","Create RGB colors from numbers between 0 and 255 inclusive.",null,{"inputs":[{"name":"u8"},{"name":"u8"},{"name":"u8"}],"output":{"name":"color"}}],[5,"hsla","","Create [HSL colors](http://en.wikipedia.org/wiki/HSL_and_HSV) with an alpha component for\ntransparency.",null,{"inputs":[{"name":"f32"},{"name":"f32"},{"name":"f32"},{"name":"f32"}],"output":{"name":"color"}}],[5,"hsl","","Create [HSL colors](http://en.wikipedia.org/wiki/HSL_and_HSV). This gives you access to colors\nmore like a color wheel, where all hues are arranged in a circle that you specify with radians.",null,{"inputs":[{"name":"f32"},{"name":"f32"},{"name":"f32"}],"output":{"name":"color"}}],[5,"grayscale","","Produce a gray based on the input. 0.0 is white, 1.0 is black.",null,{"inputs":[{"name":"f32"}],"output":{"name":"color"}}],[5,"greyscale","","Produce a gray based on the input. 0.0 is white, 1.0 is black.",null,{"inputs":[{"name":"f32"}],"output":{"name":"color"}}],[5,"random","","Construct a random color.",null,{"inputs":[],"output":{"name":"color"}}],[5,"f32_to_byte","","Convert an f32 color to a byte.",null,{"inputs":[{"name":"f32"}],"output":{"name":"u8"}}],[5,"rgb_to_hsl","","Pure function for converting rgb to hsl.",null,null],[5,"hsl_to_rgb","","Pure function for converting hsl to rgb.",null,null],[5,"linear","","Create a linear gradient.",null,null],[5,"radial","","Create a radial gradient.",null,null],[6,"Colour","","Regional spelling alias.",null,null],[17,"LIGHT_RED","","Scarlet Red - Light - #EF2929",null,null],[17,"RED","","Scarlet Red - Regular - #CC0000",null,null],[17,"DARK_RED","","Scarlet Red - Dark - #A30000",null,null],[17,"LIGHT_ORANGE","","Orange - Light - #FCAF3E",null,null],[17,"ORANGE","","Orange - Regular - #F57900",null,null],[17,"DARK_ORANGE","","Orange - Dark - #CE5C00",null,null],[17,"LIGHT_YELLOW","","Butter - Light - #FCE94F",null,null],[17,"YELLOW","","Butter - Regular - #EDD400",null,null],[17,"DARK_YELLOW","","Butter - Dark - #C4A000",null,null],[17,"LIGHT_GREEN","","Chameleon - Light - #8AE234",null,null],[17,"GREEN","","Chameleon - Regular - #73D216",null,null],[17,"DARK_GREEN","","Chameleon - Dark - #4E9A06",null,null],[17,"LIGHT_BLUE","","Sky Blue - Light - #729FCF",null,null],[17,"BLUE","","Sky Blue - Regular - #3465A4",null,null],[17,"DARK_BLUE","","Sky Blue - Dark - #204A87",null,null],[17,"LIGHT_PURPLE","","Plum - Light - #AD7FA8",null,null],[17,"PURPLE","","Plum - Regular - #75507B",null,null],[17,"DARK_PURPLE","","Plum - Dark - #5C3566",null,null],[17,"LIGHT_BROWN","","Chocolate - Light - #E9B96E",null,null],[17,"BROWN","","Chocolate - Regular - #C17D11",null,null],[17,"DARK_BROWN","","Chocolate - Dark - #8F5902",null,null],[17,"BLACK","","Straight Black.",null,null],[17,"WHITE","","Straight White.",null,null],[17,"LIGHT_GRAY","","Alluminium - Light",null,null],[17,"GRAY","","Alluminium - Regular",null,null],[17,"DARK_GRAY","","Alluminium - Dark",null,null],[17,"LIGHT_GREY","","Aluminium - Light - #EEEEEC",null,null],[17,"GREY","","Aluminium - Regular - #D3D7CF",null,null],[17,"DARK_GREY","","Aluminium - Dark - #BABDB6",null,null],[17,"LIGHT_CHARCOAL","","Charcoal - Light - #888A85",null,null],[17,"CHARCOAL","","Charcoal - Regular - #555753",null,null],[17,"DARK_CHARCOAL","","Charcoal - Dark - #2E3436",null,null],[17,"TRANSPARENT","","Transparent",null,null],[8,"Colorable","","Types that can be colored.",null,null],[10,"color","","Set the color of the widget.",98,null],[11,"rgba","","Set the color of the widget from rgba values.",98,null],[11,"rgb","","Set the color of the widget from rgb values.",98,null],[11,"hsla","","Set the color of the widget from hsla values.",98,null],[11,"hsl","","Set the color of the widget from hsl values.",98,null],[11,"fmt","","",96,null],[11,"clone","","",96,null],[11,"eq","","",96,null],[11,"ne","","",96,null],[11,"complement","","Produce a complementary color. The two colors will accent each other. This is the same as\nrotating the hue by 180 degrees.",96,null],[11,"luminance","","Calculate and return the luminance of the Color.",96,null],[11,"plain_contrast","","Return either black or white, depending which contrasts the Color the most. This will be\nuseful for determining a readable color for text on any given background Color.",96,null],[11,"to_hsl","","Extract the components of a color in the HSL format.",96,null],[11,"to_rgb","","Extract the components of a color in the RGB format.",96,null],[11,"to_fsa","","Extract the components of a color in the RGB format within a fixed-size array.",96,null],[11,"to_byte_fsa","","Same as `to_fsa`, except r, g, b and a are represented in byte form.",96,null],[11,"with_luminance","","Return the same color but with the given luminance.",96,null],[11,"alpha","","Return the same color but with the alpha multiplied by the given alpha.",96,null],[11,"with_alpha","","Return the same color but with the given alpha.",96,null],[11,"highlighted","","Return a highlighted version of the current Color.",96,null],[11,"clicked","","Return a clicked version of the current Color.",96,null],[11,"invert","","Return the Color's invert.",96,null],[11,"red","","Return the red value.",96,null],[11,"green","","Return the green value.",96,null],[11,"blue","","Return the blue value.",96,null],[11,"set_red","","Set the red value.",96,null],[11,"set_green","","Set the green value.",96,null],[11,"set_blue","","Set the blue value.",96,null],[11,"fmt","","",94,null],[11,"clone","","",94,null],[11,"fmt","","",95,null],[11,"clone","","",95,null],[11,"fmt","","",97,null],[11,"clone","","",97,null],[11,"clone","conrod","",51,null],[0,"glyph_cache","","Conrod's character caching API.",null,null],[3,"GlyphCache","conrod::glyph_cache","A wrapper over some CharacterCache, exposing it's functionality via a RefCell.",null,null],[3,"CharWidths","","An iterator yielding the widths of each consecutive character in some sequence.",null,null],[3,"CharXs","","An iterator that converts the given sequnce of `char`s into their consecutive positions along\nthe x-axis.",null,null],[3,"Widths","","An iterator yielding the widths of each consecutive `&str` in some sequence.",null,null],[3,"LineBreaksBy","","An iterator that yields the indices at which some text should wrap in accordance with the given\nwrap function.",null,null],[3,"Lines","","A wrapper over an iterator yielding **LineBreak**s that yields each line divided by the breaks.",null,null],[4,"LineBreak","","The two types of **LineBreak** indices returned by the **WrapIndicesBy** iterators.",null,null],[13,"Wrap","","The first `usize` is an index at which the string should wrap due to exceeding a maximum\nwidth.",99,null],[13,"Newline","","An index at which the string breaks due to a newline character, along with the width of the\n"newline" token in bytes.",99,null],[6,"X","","Some position along the X axis (used within `CharXs`).",null,null],[6,"HalfW","","The half of the width of some character (used within `CharXs`).",null,null],[6,"NextLineBreakFn","","A function that returns the first index at which the text should wrap for the given max width.",null,null],[6,"LineBreaksByCharacter","","An iterator that yields the indices at which some text should wrap via a character.",null,null],[6,"LineBreaksByWhitespace","","An iterator that yields the indices at which some text should wrap via whitespace.",null,null],[6,"LinesWrappedBy","","An iterator yielding lines for text wrapped with the given function.",null,null],[6,"LinesWrappedByCharacter","","An iterator yielding lines for text wrapped via the first character exceeding a max width.",null,null],[6,"LinesWrappedByWhitespace","","An iterator yielding lines for text wrapped via the first character exceeding a max width.",null,null],[11,"clone","","",100,null],[11,"clone","","",101,null],[11,"clone","","",102,null],[11,"eq","","",99,null],[11,"ne","","",99,null],[11,"fmt","","",99,null],[11,"clone","","",99,null],[11,"clone","","",103,null],[11,"new","","Construct a new **GlyphCache**.",104,{"inputs":[{"name":"c"}],"output":{"name":"self"}}],[11,"char_width","","The width of a single character with the given size.",104,null],[11,"char_widths","","Converts the given sequence of `char`s into their Scalar widths.",104,null],[11,"char_xs","","Converts the given sequnce of `char`s into their consecutive positions along the x-axis.",104,null],[11,"width","","Return the width of the given text.",104,null],[11,"widths","","Converts the given sequence of `&str`s into their Scalar widths.",104,null],[11,"line_breaks_by","","An iterator that yields the indices at which some text should wrap in accordance with the\ngiven wrap function.",104,null],[11,"line_breaks_by_character","","An iterator that yields the indices at which some text should wrap via a character.",104,null],[11,"line_breaks_by_whitespace","","An iterator that yields the indices at which some text should wrap via whitespace.",104,null],[11,"lines_wrapped_by","","An iterator that behaves the same as `text.lines()` but inserts a break before the first\ncharacter that would cause the line to exceed the given `max_width`.",104,null],[11,"lines_wrapped_by_character","","An iterator that behaves the same as `text.lines()` but inserts a break before the first\ncharacter that would cause the line to exceed the given `max_width`.",104,null],[11,"lines_wrapped_by_whitespace","","An iterator that behaves the same as `text.lines()` but inserts a break before the first\ncharacter that would cause the line to exceed the given `max_width`.",104,null],[11,"deref","","",104,null],[11,"deref_mut","","",104,null],[11,"next","","",100,null],[11,"next","","",102,null],[11,"next","","",101,null],[11,"next","","",103,null],[11,"next","","",105,null],[11,"index","","Extracts the index at which the break occurs within the text (i.e. the index following the\nlast byte of the line).",99,null],[11,"next_by_character","","Returns the next index at which the text will break by either:\n- A newline character.\n- A line wrap at the beginning of the first character exceeding the `max_width`.",99,{"inputs":[{"name":"glyphcache"},{"name":"fontsize"},{"name":"str"},{"name":"scalar"}],"output":{"name":"option"}}],[11,"next_by_whitespace","","Returns the next index at which the text will break by either:\n- A newline character.\n- A line wrap at the beginning of the whitespace that preceeds the first word exceeding the\n`max_width`.",99,{"inputs":[{"name":"glyphcache"},{"name":"fontsize"},{"name":"str"},{"name":"scalar"}],"output":{"name":"option"}}],[11,"new","","Construct a new **Lines** iterator from the given text and line_breaks.",105,{"inputs":[{"name":"str"},{"name":"i"}],"output":{"name":"self"}}],[0,"graph","conrod","Conrod uses a directed acyclic graph to manage both storing widgets and describing their\nrelationships.",null,null],[8,"Walker","conrod::graph","A trait providing a variety of useful methods for traversing some graph type **G**.",null,null],[16,"Index","","The unsigned integer type used for node and edge indices.",106,null],[10,"next","","Fetch the `EdgeIndex` and `NodeIndex` to the next neighbour in our walk through the given\n**Graph**.",106,null],[11,"next_edge","","The next edge in our walk for the given **Graph**.",106,null],[11,"next_node","","The next node in our walk for the given **Graph**.",106,null],[11,"count","","Counts all the steps in the entire walk of the given graph.",106,null],[11,"last","","Walks the whole walk until reaching and returning the last edge node pair.",106,null],[11,"last_edge","","Walks the whole walk until reaching and returning the last edge.",106,null],[11,"last_node","","Walks the whole walk until reaching and returning the last node.",106,null],[11,"nth","","Walks "n" number of steps and produces the resulting edge node pair.",106,null],[11,"nth_edge","","Walks "n" number of steps and produces the resulting edge.",106,null],[11,"nth_node","","Walks "n" number of steps and produces the resulting node.",106,null],[11,"chain","","Produces a walker that will walk the entirey of `self` before walking the entirey of other.",106,null],[11,"filter","","Creates a walker that applies the predicate to each element returned by this walker.\nThe only elements that will be yielded are those that make the predicate evaluate to true.",106,null],[11,"peekable","","Creates a walker that has a `.peek(&graph)` method that returns an optional next neighbor.",106,null],[11,"skip_while","","Creates a walker that invokes the predicate on elements until it returns false. Once the\npredicate returns false, that element and all further elements are yielded.",106,null],[11,"take_while","","Creates a walker that yields elements so long as the predicate returns true. After the\npredicate returns false for the first time, no further elements will be yielded.",106,null],[11,"skip","","Creates a walker that skips the first n steps of this walk, and then yields all further\nsteps.",106,null],[11,"take","","Creates a walker that yields the first n steps of this walk.",106,null],[11,"all","","Tests whether the predicate holds true for all steps in the walk.",106,null],[11,"any","","Tests whether any step in the walk satisfies the given predicate.",106,null],[11,"find","","Returns the first edge node index pair satisfying the specified predicate.",106,null],[11,"find_edge","","Returns the edge index satisfying the specified predicate.",106,null],[11,"find_node","","Returns the node index satisfying the specified predicate.",106,null],[11,"cycle","","Repeats the walker endlessly.",106,null],[11,"fold","","Performs a fold operation over the entire walker, returning the eventual state at the end\nof the walk.",106,null],[11,"inspect","","Creates a walker that calls a function with a reference to each index pair before yielding\nthem. This is often useful for debugging a walker pipeline.",106,null],[11,"iter","","Converts the walker into an iterator yielding index pairs.",106,null],[11,"iter_weights","","Converts the walker into an iterator yielding `(&e, &n)`, where `e` is the edge weight for\nthe next `EdgeIndex` and `n` is the node weight for the next `NodeIndex`.",106,null],[3,"UniqueWidgetState","","The state type that we'll dynamically cast to and from `Any` for storage within the cache.",null,null],[12,"state","","A **Widget**'s unique "State".",107,null],[12,"style","","A **Widget**'s unique "Style".",107,null],[3,"Container","","A container for caching a Widget's state inside a Graph Node.",null,null],[12,"maybe_state","","Dynamically stored widget state.",108,null],[12,"kind","","A unique widget kind identifier.",108,null],[12,"rect","","The rectangle describing the Widget's area.",108,null],[12,"depth","","The depth at which the widget will be rendered comparatively to its siblings.",108,null],[12,"drag_state","","The drag state of the Widget.",108,null],[12,"kid_area","","The area in which child widgets are placed.",108,null],[12,"maybe_floating","","Whether or not the widget is a "Floating" widget.",108,null],[12,"maybe_x_scroll_state","","Scroll related state (is only `Some` if this axis is scrollable).",108,null],[12,"maybe_y_scroll_state","","Scroll related state (is only `Some` if this axis is scrollable).",108,null],[12,"instantiation_order_idx","","Represents the Widget's position within the overall instantiation ordering of the widgets.",108,null],[3,"Graph","","Stores the dynamic state of a UI tree of Widgets.",null,null],[4,"Node","","A node for use within the **Graph**.",null,null],[13,"Widget","","A widget constructed by a user.",109,null],[13,"Placeholder","","A placeholder node - used when reserving a place for a **Widget** within the **Graph**.",109,null],[4,"Edge","","An edge between nodes within the UI Graph.",null,null],[13,"Position","","Describes the relative positioning of widgets.",110,null],[13,"Depth","","Describes the rendering order of the widgets.",110,null],[13,"Graphic","","Describes when a widget is used solely as a graphical element for another widget.",110,null],[0,"algo","","This module was created in order to keep the `graph` module clean and focused upon the\n**Graph** data structure behaviour.",null,null],[5,"cropped_area_of_widget","conrod::graph::algo","The rectangle that represents the maximum visible area for the widget with the given index.",null,{"inputs":[{"name":"graph"},{"name":"i"}],"output":{"name":"option"}}],[5,"cropped_area_of_widget_within_depth","","The rectangle that represents the maximum visible area for the widget with the given index.",null,{"inputs":[{"name":"graph"},{"name":"i"},{"name":"nodeindex"}],"output":{"name":"option"}}],[5,"pick_widget","","If the given Point is currently on a Widget, return an index to that widget.",null,null],[5,"pick_scrollable_widget","","If the given **Point** is currently over a scrollable widget, return an index to that widget.",null,null],[5,"kids_bounding_box","","Find the absolute `Rect` that bounds all widgets that are `Depth` children of the widget at the\ngiven `idx`.",null,{"inputs":[{"name":"graph"},{"name":"hashset"},{"name":"i"}],"output":{"name":"option"}}],[5,"scroll_offset","","Return the `scroll_offset` for the widget at the given index.",null,{"inputs":[{"name":"graph"},{"name":"i"}],"output":{"name":"point"}}],[0,"depth_order","conrod::graph","Types and functionality related to the calculation of a **Graph**'s rendering depth order.",null,null],[3,"DepthOrder","conrod::graph::depth_order","Contains Node indices in order of depth, starting with the deepest.",null,null],[12,"indices","","The primary **Vec** storing the **DepthOrder**'s ordered indices.",111,null],[4,"Visitable","","Parts of the graph that are significant when visiting and sorting by depth.",null,null],[13,"Widget","","The index of some widget in the graph.",112,null],[13,"Scrollbar","","The scrollbar for the widget at the given NodeIndex.",112,null],[11,"eq","","",112,null],[11,"ne","","",112,null],[11,"fmt","","",112,null],[11,"clone","","",112,null],[11,"new","","Construct a new empty **DepthOrder**.",111,{"inputs":[],"output":{"name":"depthorder"}}],[11,"with_node_capacity","","Construct a new empty **DepthOrder**.",111,{"inputs":[{"name":"usize"}],"output":{"name":"depthorder"}}],[11,"update","","Update the **DepthOrder** (starting with the deepest) for all nodes in the given **Graph**.",111,null],[11,"to_widget_id","conrod","",48,null],[11,"to_node_index","","",48,null],[11,"from_idx","","",48,{"inputs":[{"name":"i"},{"name":"indexmap"}],"output":{"name":"option"}}],[11,"to_node_index","","Coerce a widget::Index into an Option<NodeIndex>.\nIf the Index is the Internal variant, that idx will be used directly.\nIf the Index is the Public variant, the index_map will be used to find the matching\nNodeIndex.",62,null],[11,"to_widget_id","","Coerce a widget::Index into an Option<WidgetId>.\nIf the Index is the Public variant, that id will be used directly.\nIf the Index is the Internal variant, the index_map will be used to find the matching\nWidgetId.",62,null],[11,"from_idx","","Construct a widget::Index from some GraphIndex.\nFirst tries to construct a Public variant by checking the IndexMap for a matching WidgetId.\nIf not WidgetId is found, then tries to find a matching NodeIndex.",62,{"inputs":[{"name":"i"},{"name":"indexmap"}],"output":{"name":"option"}}],[6,"NodeIndex","conrod::graph","An alias for our Graph's Node Index.",null,null],[6,"EdgeIndex","","An alias for our Graph's Edge Index.",null,null],[6,"IndexPair","","An alias for a tuple containing an associated `Edge/NodeIndex` pair.",null,null],[6,"Parents","","A **Walker** over some node's parent nodes.",null,null],[6,"Children","","A **Walker** over some node's child nodes.",null,null],[6,"PositionParents","","An alias for the iterator yielding both **X** and **Y** **Position** parents.",null,null],[6,"FilteredChildren","","An alias for some filtered children walker.",null,null],[6,"DepthChildren","","An alias for a **Walker** over a node's **Depth** children.",null,null],[6,"XPositionChildren","","An alias for a **Walker** over a node's **X Position** children.",null,null],[6,"YPositionChildren","","An alias for a **Walker** over a node's **Y Position** children.",null,null],[6,"PositionChildren","","An alias for a **Walker** over a node's **X** and **Y** **Position** children respectively.",null,null],[6,"GraphicChildren","","An alias for a **Walker** over a node's **Graphic** children.",null,null],[6,"RecursiveWalk","","An alias for our Graph's recursive walker.",null,null],[6,"WouldCycle","","An alias for our Graph's **WouldCycle** error type.",null,null],[17,"NUM_EDGE_VARIANTS","","The number of different variants within the **Edge** enum.",null,null],[8,"GraphIndex","","A trait for being generic over both WidgetId and NodeIndex.\nEach method should only return `Some` if they are contained as a key within the given IndexMap.",null,null],[10,"to_widget_id","","If not one already, convert Self to a WidgetId if it exists within the IndexMap.",113,null],[10,"to_node_index","","If not one already, convert Self to a NodeIndex if it exists within the IndexMap.",113,null],[10,"from_idx","","Convert some GraphIndex type to Self.",113,{"inputs":[{"name":"i"},{"name":"indexmap"}],"output":{"name":"option"}}],[11,"fmt","","",107,null],[11,"fmt","","",108,null],[11,"fmt","","",109,null],[11,"eq","","",110,null],[11,"ne","","",110,null],[11,"fmt","","",110,null],[11,"clone","","",110,null],[11,"fmt","","",114,null],[11,"state_and_style","","Borrow the **Container**'s unique widget State and Style if there is any.",108,null],[11,"unique_widget_state","","Same as [**Container::state_and_style**](./struct.Container#method.state_and_style) but\naccessed using a **Widget** type parameter instead of the unique State and Style types.",108,null],[11,"take_unique_widget_state","","A method for taking only the unique state from the container.",108,null],[11,"take_widget_state","","Take the widget state from the container and cast it to type W.",108,null],[11,"is_widget","","Whether or not the **Node** is of the **Widget** variant.",109,null],[11,"new","","A new empty **Graph**.",114,{"inputs":[],"output":{"name":"self"}}],[11,"with_node_capacity","","A new **Graph** with the given node capacity.",114,{"inputs":[{"name":"usize"}],"output":{"name":"self"}}],[11,"clear","","Removes all **Node**s and **Edge**s from the **Graph**.",114,null],[11,"node_count","","The total number of **Node**s in the **Graph**.",114,null],[11,"widget_count","","The total number of **Node::Widget**s in the **Graph**.",114,null],[11,"edge_count","","The total number of **Edge**s in the **Graph**.",114,null],[11,"node_capacity","","The current capacity for the **Graph**'s internal node `Vec`.",114,null],[11,"convert_idx","","Converts the given **GraphIndex** into an index of type **J**.",114,null],[11,"node_index","","Get the **NodeIndex** for the given **GraphIndex**.",114,null],[11,"widget_id","","Get the **WidgetId** for the given **GraphIndex**.",114,null],[11,"widget_index","","Get the **widget::Index** for the given **GraphIndex**.",114,null],[11,"add_placeholder","","Add a new placeholder node and return it's `NodeIndex` into the `Graph`.",114,null],[11,"node","","Borrow the node at the given **GraphIndex** if there is one.",114,null],[11,"node_mut","","Mutably borrow the node at the given **GraphIndex** if there is one.",114,null],[11,"edge","","Borrow the edge at the given **EdgeIndex** if there is one.",114,null],[11,"edge_mut","","Mutably borrow the edge at the given **EdgeIndex** if there is one.",114,null],[11,"edge_endpoints","","Return the parent and child nodes on either end of the **Edge** at the given index.",114,null],[11,"widget","","If there is a Widget for the given index, return a reference to it.",114,null],[11,"widget_mut","","If there is a Widget for the given Id, return a mutable reference to it.",114,null],[11,"parents","","A **Walker** type that may be used to step through the parents of the given child node.",114,null],[11,"recursive_walk","","A **Walker** type that recursively walks the **Graph** using the given `recursive_fn`.",114,null],[11,"edge_parent","","If the widget at the given index has some parent along an **Edge** of the given variant,\nreturn an index to it.",114,null],[11,"depth_parent","","Return the index of the parent along the given widget's **Depth** **Edge**.",114,null],[11,"x_position_parent","","Return the index of the parent along the given widget's **Position** **Edge**.",114,null],[11,"y_position_parent","","Return the index of the parent along the given widget's **Position** **Edge**.",114,null],[11,"position_parents","","Produces an iterator yielding the parents along both the **X** and **Y** **Position**\n**Edge**s respectively.",114,null],[11,"graphic_parent","","Return the index of the parent along the given widget's **Graphic** **Edge**.",114,null],[11,"depth_parent_recursion","","A **Walker** type that recursively walks **Depth** parents starting from the given node.",114,null],[11,"x_position_parent_recursion","","A **Walker** type that recursively walks **X** **Position** parents starting from the given\nnode.",114,null],[11,"y_position_parent_recursion","","A **Walker** type that recursively walks **Y** **Position** parents starting from the given\nnode.",114,null],[11,"graphic_parent_recursion","","A **Walker** type that recursively walks **Graphic** parents starting from the given node.",114,null],[11,"children","","A **Walker** type that may be used to step through the children of the given parent node.",114,null],[11,"depth_children","","For walking the **Depth** children of the given parent node.",114,null],[11,"x_position_children","","For walking the **Position(X)** children of the given parent node.",114,null],[11,"y_position_children","","For walking the **Position(Y)** children of the given parent node.",114,null],[11,"position_children","","For walking the **Position** children of the given parent node.",114,null],[11,"graphic_children","","For walking the **Graphic** children of the given parent node.",114,null],[11,"does_edge_exist","","Does the given edge type exist between the nodes `parent` -> `child`.",114,null],[11,"does_depth_edge_exist","","Does a **Edge::Depth** exist between the nodes `parent` -> `child`.",114,null],[11,"does_position_edge_exist","","Does a **Edge::Position** exist between the nodes `parent` -> `child`.",114,null],[11,"does_graphic_edge_exist","","Does a **Edge::Graphic** exist between the nodes `parent` -> `child`.",114,null],[11,"does_recursive_edge_exist","","Are the given `parent` and `child` nodes connected by a single chain of edges of the given\nkind?",114,null],[11,"does_recursive_depth_edge_exist","","Are the given `parent` and `child` nodes connected by a single chain of **Depth** edges?",114,null],[11,"does_recursive_graphic_edge_exist","","Are the given `parent` and `child` nodes connected by a single chain of **Graphic** edges?",114,null],[11,"pre_update_cache","","Cache some `PreUpdateCache` widget data into the graph.",114,null],[11,"post_update_cache","","Cache some `PostUpdateCache` widget data into the graph.",114,null],[11,"next","","",115,null],[11,"next","","",116,null],[11,"index","","",114,null],[11,"index_mut","","",114,null],[11,"index","","",114,null],[11,"index_mut","","",114,null],[0,"guide","conrod","**The Conrod Guide**",null,null],[0,"chapter_1","conrod::guide","**What is Conrod?**",null,null],[0,"chapter_2","","**Getting Started**",null,null],[11,"fmt","conrod","",34,null],[11,"clone","","",34,null],[11,"eq","","",52,null],[11,"fmt","","",52,null],[11,"clone","","",52,null],[11,"fmt","","",33,null],[11,"clone","","",33,null],[11,"fmt","","",35,null],[11,"clone","","",35,null],[11,"new","","Constructor for a default ButtonState.",34,{"inputs":[],"output":{"name":"buttonstate"}}],[11,"reset_pressed_and_released","","Reset the `was_just_released` and `was_just_pressed` flags.",34,null],[11,"new","","Constructor for a default Mouse struct.",33,{"inputs":[],"output":{"name":"mouse"}}],[11,"relative_to","","Return the mouse state with its position relative to the given position.",33,null],[11,"eq","","",37,null],[11,"ne","","",37,null],[11,"fmt","","",37,null],[11,"clone","","",37,null],[11,"eq","","",58,null],[11,"fmt","","",58,null],[11,"clone","","",58,null],[11,"new","","Construct a new `Range` from a given range, i.e. `Range::new(start, end)`.",37,{"inputs":[{"name":"scalar"},{"name":"scalar"}],"output":{"name":"range"}}],[11,"from_pos_and_len","","Construct a new `Range` from a given length and its centered position.",37,{"inputs":[{"name":"scalar"},{"name":"scalar"}],"output":{"name":"range"}}],[11,"magnitude","","The `start` value subtracted from the `end` value.",37,null],[11,"len","","The absolute length of the Range aka the absolute magnitude.",37,null],[11,"middle","","Return the value directly between the start and end values.",37,null],[11,"invert","","The current range with its start and end values swapped.",37,null],[11,"map_value_to","","Map the given Scalar from `Self` to some other given `Range`.",37,null],[11,"shift","","Shift the `Range` start and end points by a given `Scalar`.",37,null],[11,"direction","","The direction of the Range represented as a normalised scalar.",37,null],[11,"undirected","","Converts the Range to an undirected Range. By ensuring that `start` <= `end`.",37,null],[11,"max","","The Range that encompasses both self and the given Range.",37,null],[11,"overlap","","The Range that represents the range of the overlap between two Ranges if there is some.",37,null],[11,"max_directed","","The Range that encompasses both self and the given Range.",37,null],[11,"is_over","","Is the given scalar within our range.",37,null],[11,"round","","Round the values at both ends of the Range and return the result.",37,null],[11,"floor","","Floor the values at both ends of the Range and return the result.",37,null],[11,"pad_start","","The Range with some padding given to the `start` value.",37,null],[11,"pad_end","","The Range with some padding given to the `end` value.",37,null],[11,"pad","","The Range with some given padding to be applied to each end.",37,null],[11,"pad_ends","","The Range with some padding given for each end.",37,null],[11,"clamp_value","","Clamp the given value to the range.",37,null],[11,"stretch_to_value","","Stretch the end that is closest to the given value only if it lies outside the Range.",37,null],[11,"has_same_direction","","Does `self` have the same direction as `other`.",37,null],[11,"align_start_of","","Align the `start` of `self` to the `start` of the `other` **Range**.",37,null],[11,"align_end_of","","Align the `end` of `self` to the `end` of the `other` **Range**.",37,null],[11,"align_middle_of","","Align the middle of `self` to the middle of the `other` **Range**.",37,null],[11,"align_after","","Aligns the `start` of `self` with the `end` of `other`.",37,null],[11,"align_before","","Aligns the `end` of `self` with the `start` of `other`.",37,null],[11,"closest_edge","","The closest **Edge** of `self` to the given `scalar`.",37,null],[11,"eq","","",38,null],[11,"ne","","",38,null],[11,"fmt","","",38,null],[11,"clone","","",38,null],[11,"eq","","",55,null],[11,"fmt","","",55,null],[11,"clone","","",55,null],[11,"from_xy_dim","","Construct a Rect from a given `Point` and `Dimensions`.",38,{"inputs":[{"name":"point"},{"name":"dimensions"}],"output":{"name":"self"}}],[11,"from_corners","","Construct a Rect from the coordinates of two points.",38,{"inputs":[{"name":"point"},{"name":"point"}],"output":{"name":"self"}}],[11,"overlap","","The Rect representing the area in which two Rects overlap.",38,null],[11,"max","","The Rect that encompass the two given sets of Rect.",38,null],[11,"x","","The position in the middle of the x bounds.",38,null],[11,"y","","The position in the middle of the y bounds.",38,null],[11,"xy","","The xy position in the middle of the bounds.",38,null],[11,"x_y","","The centered x and y coordinates as a tuple.",38,null],[11,"w","","The width of the Rect.",38,null],[11,"h","","The height of the Rect.",38,null],[11,"dim","","The total dimensions of the Rect.",38,null],[11,"w_h","","The width and height of the Rect as a tuple.",38,null],[11,"xy_dim","","Convert the Rect to a `Point` and `Dimensions`.",38,null],[11,"x_y_w_h","","The Rect's centered coordinates and dimensions in a tuple.",38,null],[11,"len","","The length of the longest side of the rectangle.",38,null],[11,"bottom","","The Rect's lowest y value.",38,null],[11,"top","","The Rect's highest y value.",38,null],[11,"left","","The Rect's lowest x value.",38,null],[11,"right","","The Rect's highest x value.",38,null],[11,"top_left","","The top left corner **Point**.",38,null],[11,"bottom_left","","The bottom left corner **Point**.",38,null],[11,"top_right","","The top right corner **Point**.",38,null],[11,"bottom_right","","The bottom right corner **Point**.",38,null],[11,"l_r_b_t","","The edges of the **Rect** in a tuple (top, bottom, left, right).",38,null],[11,"l_t_w_h","","The left and top edges of the **Rect** along with the width and height.",38,null],[11,"l_b_w_h","","The left and bottom edges of the **Rect** along with the width and height.",38,null],[11,"shift_x","","Shift the Rect along the x axis.",38,null],[11,"shift_y","","Shift the Rect along the y axis.",38,null],[11,"shift","","Shift the Rect by the given Point.",38,null],[11,"is_over","","Does the given point touch the Rectangle.",38,null],[11,"pad_left","","The Rect with some padding applied to the left edge.",38,null],[11,"pad_right","","The Rect with some padding applied to the right edge.",38,null],[11,"pad_bottom","","The rect with some padding applied to the bottom edge.",38,null],[11,"pad_top","","The Rect with some padding applied to the top edge.",38,null],[11,"pad","","The Rect with some padding amount applied to each edge.",38,null],[11,"padding","","The Rect with some padding applied.",38,null],[11,"stretch_to_point","","Stretches the closest edge(s) to the given point if the point lies outside of the Rect area.",38,null],[11,"left_of","","Align `self`'s right edge with the left edge of the `other` **Rect**.",38,null],[11,"right_of","","Align `self`'s left edge with the right dge of the `other` **Rect**.",38,null],[11,"below","","Align `self`'s top edge with the bottom edge of the `other` **Rect**.",38,null],[11,"above","","Align `self`'s bottom edge with the top edge of the `other` **Rect**.",38,null],[11,"align_left_of","","Align `self`'s left edge with the left edge of the `other` **Rect**.",38,null],[11,"align_middle_x_of","","Align the middle of `self` with the middle of the `other` **Rect** along the *x* axis.",38,null],[11,"align_right_of","","Align `self`'s right edge with the right edge of the `other` **Rect**.",38,null],[11,"align_bottom_of","","Align `self`'s bottom edge with the bottom edge of the `other` **Rect**.",38,null],[11,"align_middle_y_of","","Align the middle of `self` with the middle of the `other` **Rect** along the *y* axis.",38,null],[11,"align_top_of","","Align `self`'s top edge with the top edge of the `other` **Rect**.",38,null],[11,"top_left_of","","Place `self` along the top left edges of the `other` **Rect**.",38,null],[11,"top_right_of","","Place `self` along the top right edges of the `other` **Rect**.",38,null],[11,"bottom_left_of","","Place `self` along the bottom left edges of the `other` **Rect**.",38,null],[11,"bottom_right_of","","Place `self` along the bottom right edges of the `other` **Rect**.",38,null],[11,"mid_top_of","","Place `self` in the middle of the top edge of the `other` **Rect**.",38,null],[11,"mid_bottom_of","","Place `self` in the middle of the bottom edge of the `other` **Rect**.",38,null],[11,"mid_left_of","","Place `self` in the middle of the left edge of the `other` **Rect**.",38,null],[11,"mid_right_of","","Place `self` in the middle of the right edge of the `other` **Rect**.",38,null],[11,"middle_of","","Place `self` directly in the middle of the `other` **Rect**.",38,null],[11,"closest_corner","","Return the **Corner** of `self` that is closest to the given **Point**.",38,null],[11,"eq","","",54,null],[11,"fmt","","",54,null],[11,"clone","","",54,null],[11,"eq","","",60,null],[11,"ne","","",60,null],[11,"fmt","","",60,null],[11,"clone","","",60,null],[11,"eq","","",56,null],[11,"fmt","","",56,null],[11,"clone","","",56,null],[11,"eq","","",53,null],[11,"fmt","","",53,null],[11,"clone","","",53,null],[11,"eq","","",59,null],[11,"ne","","",59,null],[11,"fmt","","",59,null],[11,"clone","","",59,null],[11,"eq","","",57,null],[11,"ne","","",57,null],[11,"fmt","","",57,null],[11,"clone","","",57,null],[11,"eq","","",36,null],[11,"ne","","",36,null],[11,"fmt","","",36,null],[11,"clone","","",36,null],[11,"none","","No padding.",36,{"inputs":[],"output":{"name":"padding"}}],[0,"theme","","",null,null],[3,"Theme","conrod::theme","A serializable collection of canvas and widget styling defaults.",null,null],[12,"name","","A name for the theme used for identification.",117,null],[12,"padding","","Padding for Canvas layout and positioning.",117,null],[12,"x_position","","A default widget position along the *x* axis.",117,null],[12,"y_position","","A default widget position along the *y* axis.",117,null],[12,"background_color","","A default background for the theme.",117,null],[12,"shape_color","","A default color for widget shapes.",117,null],[12,"frame_color","","A default color for widget frames.",117,null],[12,"frame_width","","A default width for widget frames.",117,null],[12,"label_color","","A default color for widget labels.",117,null],[12,"font_size_large","","A default "large" font size.",117,null],[12,"font_size_medium","","A default "medium" font size.",117,null],[12,"font_size_small","","A default "small" font size.",117,null],[12,"maybe_scrollbar","","Optional style defaults for a Scrollbar.",117,null],[12,"widget_styling","","Unique styling for each widget, index-able by the **Widget::kind**.",117,null],[12,"mouse_drag_threshold","","Mouse Drag distance threshold determines the minimum distance from the mouse-down point\nthat the mouse must move before starting a drag operation.",117,null],[3,"WidgetDefault","","The defaults for a specific widget.",null,null],[12,"style","","The unique style of a widget.",118,null],[12,"common","","The attributes commonly shared between widgets.",118,null],[3,"UniqueDefault","","A **WidgetDefault** downcast to a **Widget**'s unique **Style** type.",null,null],[12,"style","","The unique style for the widget.",119,null],[12,"common","","Attributes that are common to all widgets.",119,null],[17,"DEFAULT_MOUSE_DRAG_THRESHOLD","","This is the default value that is used for `Theme::mouse_drag_threshold`.",null,null],[11,"fmt","","",119,null],[11,"clone","","",119,null],[11,"new","","Constructor for a WidgetDefault.",118,{"inputs":[{"name":"box"}],"output":{"name":"widgetdefault"}}],[11,"default","","The default theme if not loading from file.",117,{"inputs":[],"output":{"name":"theme"}}],[11,"widget_style","","Retrieve the unique default styling for a widget.",117,null],[11,"fmt","conrod","",40,null],[11,"clone","","",40,null],[11,"new","","A new, empty **Ui**.",39,{"inputs":[{"name":"charactercache"},{"name":"theme"}],"output":{"name":"self"}}],[11,"with_capacity","","A new **Ui** with the capacity given as a number of widgets.",39,{"inputs":[{"name":"charactercache"},{"name":"theme"},{"name":"usize"}],"output":{"name":"self"}}],[11,"widget_input","","Returns a `WidgetInput` for the given widget",39,null],[11,"rect_of","","The **Rect** for the widget at the given index.",39,null],[11,"w_of","","The absolute width of the widget at the given index.",39,null],[11,"h_of","","The absolute height of the widget at the given index.",39,null],[11,"wh_of","","The absolute dimensions for the widget at the given index.",39,null],[11,"xy_of","","The coordinates for the widget at the given index.",39,null],[11,"kid_area_of","","The `kid_area` of the widget at the given index.",39,null],[11,"maybe_prev_widget","","An index to the previously updated widget if there is one.",39,null],[11,"widget_graph","","Borrow the **Ui**'s `widget_graph`.",39,null],[11,"updated_widgets","","Borrow the **Ui**'s set of updated widgets.",39,null],[11,"prev_updated_widgets","","Borrow the **Ui**'s set of updated widgets.",39,null],[11,"handle_event","","Handle game events and update the state.",39,null],[11,"calc_xy","","Get the centred xy coords for some given `Dimension`s, `Position` and alignment.",39,null],[11,"set_widgets","","A function within which all widgets are instantiated by the user, normally situated within\nthe "update" stage of an event loop.",39,null],[11,"set_num_redraw_frames","","Set the number of frames that the `Ui` should draw in the case that `needs_redraw` is\ncalled. The default is `3` (see the SAFE_REDRAW_COUNT docs for details).",39,null],[11,"needs_redraw","","Tells the `Ui` that it needs to be re-draw everything. It does this by setting the redraw\ncount to `num_redraw_frames`. See the docs for `set_num_redraw_frames`, SAFE_REDRAW_COUNT\nor `draw_if_changed` for more info on how/why the redraw count is used.",39,null],[11,"draw","","Draw the `Ui` in it's current state.",39,null],[11,"draw_if_changed","","Same as the `Ui::draw` method, but *only* draws if the `redraw_count` is greater than 0.",39,null],[11,"kids_bounding_box","","The **Rect** that bounds the kids of the widget with the given index.",39,null],[11,"visible_area","","The **Rect** that represents the maximum fully visible area for the widget with the given\nindex, including consideration of cropped scroll area.",39,null],[11,"theme","","A reference to the `Theme` that is currently active within the `Ui`.",120,null],[11,"glyph_cache","","A reference to the `Ui`'s `GlyphCache`.",120,null],[11,"window_dim","","Returns the dimensions of the window",120,null],[11,"input","","A struct representing the user input that has occurred since the last update, relevant to\nthe widget with the given index.",120,null],[11,"global_input","","Returns an immutable reference to the `GlobalInput` of the `Ui`.",120,null],[11,"widget_input","","Returns a `WidgetInput` with input events for the widget.",120,null],[11,"capture_mouse","","Have the widget capture the mouse input. The mouse state will be hidden from other\nwidgets while captured.",120,null],[11,"uncapture_mouse","","Uncapture the mouse input.",120,null],[11,"capture_keyboard","","Have the widget capture the keyboard input. The keyboard state will be hidden from other\nwidgets while captured.",120,null],[11,"uncapture_keyboard","","Uncapture the keyboard input.",120,null],[11,"new_unique_node_index","","Generate a new, unique NodeIndex into a Placeholder node within the `Ui`'s widget graph.\nThis should only be called once for each unique widget needed to avoid unnecessary bloat\nwithin the `Ui`'s widget graph.",120,null],[11,"kids_bounding_box","","The **Rect** that bounds the kids of the widget with the given index.",120,null],[11,"deref","","",120,null],[11,"as_ref","","",120,null],[0,"utils","","",null,null],[4,"IterDiff","conrod::utils","A type returned by the `iter_diff` function.",null,null],[13,"FirstMismatch","","The index of the first non-matching element along with the iterator's remaining elements\nstarting with the first mis-matched element.",121,null],[13,"Longer","","The remaining elements of the iterator.",121,null],[13,"Shorter","","The total number of elements that were in the iterator.",121,null],[5,"partial_min","","Compare to PartialOrd values and return the min.",null,{"inputs":[{"name":"t"},{"name":"t"}],"output":{"name":"t"}}],[5,"partial_max","","Compare to PartialOrd values and return the min.",null,{"inputs":[{"name":"t"},{"name":"t"}],"output":{"name":"t"}}],[5,"clamp","","Clamp a value between some range.",null,{"inputs":[{"name":"t"},{"name":"t"},{"name":"t"}],"output":{"name":"t"}}],[5,"degrees","","Convert degrees to radians.",null,{"inputs":[{"name":"f"}],"output":{"name":"f"}}],[5,"fmod","","Modulo float.",null,{"inputs":[{"name":"f32"},{"name":"i32"}],"output":{"name":"f32"}}],[5,"modulo","","The modulo function.",null,{"inputs":[{"name":"i"},{"name":"i"}],"output":{"name":"i"}}],[5,"map_range","","Map a value from a given range to a new given range.",null,{"inputs":[{"name":"x"},{"name":"x"},{"name":"x"},{"name":"y"},{"name":"y"}],"output":{"name":"y"}}],[5,"percentage","","Get value percentage between max and min.",null,{"inputs":[{"name":"t"},{"name":"t"},{"name":"t"}],"output":{"name":"f32"}}],[5,"turns","","Convert turns to radians.",null,{"inputs":[{"name":"f"}],"output":{"name":"f"}}],[5,"value_from_perc","","Adjust the value to the given percentage.",null,{"inputs":[{"name":"f32"},{"name":"t"},{"name":"t"}],"output":{"name":"t"}}],[5,"val_to_string","","Get a suitable string from the value, its max and the pixel range.",null,{"inputs":[{"name":"t"},{"name":"t"},{"name":"t"},{"name":"usize"}],"output":{"name":"string"}}],[5,"bounding_box_for_points","","Find the bounding rect for the given series of points.",null,{"inputs":[{"name":"i"}],"output":{"name":"rect"}}],[5,"iter_diff","","Compares every element yielded by both elems and new_elems in lock-step.",null,{"inputs":[{"name":"a"},{"name":"b"}],"output":{"name":"option"}}],[5,"write_if_different","","Returns `Borrowed` `elems` if `elems` contains the same elements as yielded by `new_elems`.",null,null],[5,"iter_eq","","Compares two iterators to see if they yield the same thing.",null,{"inputs":[{"name":"a"},{"name":"b"}],"output":{"name":"bool"}}],[11,"eq","conrod::drag","",63,null],[11,"ne","","",63,null],[11,"fmt","","",63,null],[11,"clone","","",63,null],[11,"cmp","conrod","",48,null],[11,"partial_cmp","","",48,null],[11,"lt","","",48,null],[11,"le","","",48,null],[11,"gt","","",48,null],[11,"ge","","",48,null],[11,"eq","","",48,null],[11,"ne","","",48,null],[11,"hash","","",48,null],[11,"fmt","","",48,null],[11,"clone","","",48,null],[11,"from","","",48,{"inputs":[{"name":"usize"}],"output":{"name":"id"}}],[11,"add","","",48,null],[11,"cmp","","",62,null],[11,"partial_cmp","","",62,null],[11,"lt","","",62,null],[11,"le","","",62,null],[11,"gt","","",62,null],[11,"ge","","",62,null],[11,"eq","","",62,null],[11,"ne","","",62,null],[11,"fmt","","",62,null],[11,"clone","","",62,null],[11,"from","","",62,{"inputs":[{"name":"widgetid"}],"output":{"name":"index"}}],[11,"from","","",62,{"inputs":[{"name":"nodeindex"}],"output":{"name":"index"}}],[11,"eq","conrod::scroll","",69,null],[11,"ne","","",69,null],[11,"fmt","","",69,null],[11,"clone","","",69,null],[11,"eq","","",64,null],[11,"ne","","",64,null],[11,"fmt","","",64,null],[11,"clone","","",64,null],[11,"eq","","",65,null],[11,"ne","","",65,null],[11,"fmt","","",65,null],[11,"clone","","",65,null],[11,"eq","","",66,null],[11,"ne","","",66,null],[11,"fmt","","",66,null],[11,"clone","","",66,null],[11,"eq","","",67,null],[11,"ne","","",67,null],[11,"fmt","","",67,null],[11,"clone","","",67,null],[11,"eq","","",70,null],[11,"fmt","","",70,null],[11,"clone","","",70,null],[11,"eq","","",71,null],[11,"fmt","","",71,null],[11,"clone","","",71,null],[11,"new","","The default `Scroll` args.",69,{"inputs":[],"output":{"name":"self"}}],[11,"update","","Calculate the new scroll state for the single axis of a `Widget`.",64,{"inputs":[{"name":"ui"},{"name":"index"},{"name":"scroll"},{"name":"kidarea"},{"name":"option"}],"output":{"name":"self"}}],[11,"is_over","","Whether or not the given `xy` point is over the scroll track.",64,null],[11,"new","","Construct a new default Style.",65,{"inputs":[],"output":{"name":"style"}}],[11,"thickness","","Get the thickness of the scrollbar or a default from the theme.",65,null],[11,"color","","Get the **Color** for the scrollbar.",65,null],[11,"parallel_range","","",70,{"inputs":[{"name":"rect"}],"output":{"name":"range"}}],[11,"perpendicular_range","","",70,{"inputs":[{"name":"rect"}],"output":{"name":"range"}}],[11,"padding_range","","",70,{"inputs":[{"name":"padding"}],"output":{"name":"range"}}],[11,"track","","",70,{"inputs":[{"name":"rect"},{"name":"scalar"}],"output":{"name":"rect"}}],[11,"mouse_scalar","","",70,{"inputs":[{"name":"point"}],"output":{"name":"scalar"}}],[11,"mouse_scroll_axis","","",70,{"inputs":[{"name":"mousescroll"}],"output":{"name":"scalar"}}],[11,"handle_rect","","",70,{"inputs":[{"name":"range"},{"name":"range"}],"output":{"name":"rect"}}],[11,"offset_direction","","",70,{"inputs":[],"output":{"name":"scalar"}}],[11,"parallel_range","","",71,{"inputs":[{"name":"rect"}],"output":{"name":"range"}}],[11,"perpendicular_range","","",71,{"inputs":[{"name":"rect"}],"output":{"name":"range"}}],[11,"padding_range","","",71,{"inputs":[{"name":"padding"}],"output":{"name":"range"}}],[11,"track","","",71,{"inputs":[{"name":"rect"},{"name":"scalar"}],"output":{"name":"rect"}}],[11,"mouse_scalar","","",71,{"inputs":[{"name":"point"}],"output":{"name":"scalar"}}],[11,"mouse_scroll_axis","","",71,{"inputs":[{"name":"mousescroll"}],"output":{"name":"scalar"}}],[11,"handle_rect","","",71,{"inputs":[{"name":"range"},{"name":"range"}],"output":{"name":"rect"}}],[11,"offset_direction","","",71,{"inputs":[],"output":{"name":"scalar"}}],[11,"fmt","conrod","",2,null],[11,"clone","","",2,null],[11,"eq","","",18,null],[11,"ne","","",18,null],[11,"fmt","","",18,null],[11,"clone","","",18,null],[11,"styled","","Build a new **Line** widget with the given style.",2,{"inputs":[{"name":"point"},{"name":"point"},{"name":"style"}],"output":{"name":"self"}}],[11,"new","","Build a new default **Line** widget.",2,{"inputs":[{"name":"point"},{"name":"point"}],"output":{"name":"self"}}],[11,"abs","","Build a new **Line** whose bounding box is fit to the absolute co-ordinates of the line\npoints.",2,{"inputs":[{"name":"point"},{"name":"point"}],"output":{"name":"self"}}],[11,"abs_styled","","The same as [**Line::abs**](./struct.Line#method.abs) but with the given style.",2,{"inputs":[{"name":"point"},{"name":"point"},{"name":"style"}],"output":{"name":"self"}}],[11,"centred","","Build a new **Line** and shift the location of the start and end points so that the centre\nof their bounding rectangle lies at the position determined by the layout for the **Line**\nwidget.",2,{"inputs":[{"name":"point"},{"name":"point"}],"output":{"name":"self"}}],[11,"centred_styled","","The same as [**Line::centred**](./struct.Line#method.centred) but with the given style.",2,{"inputs":[{"name":"point"},{"name":"point"},{"name":"style"}],"output":{"name":"self"}}],[11,"thickness","","The thickness or width of the Line.",2,null],[11,"solid","","Make a solid line.",2,null],[11,"dashed","","Make a line with a Dashed pattern.",2,null],[11,"dotted","","Make a line with a Dotted pattern.",2,null],[11,"new","","Constructor for a default Line Style.",18,{"inputs":[],"output":{"name":"self"}}],[11,"solid","","Make a solid line.",18,{"inputs":[],"output":{"name":"self"}}],[11,"dashed","","Make a line with a Dashed pattern.",18,{"inputs":[],"output":{"name":"self"}}],[11,"dotted","","Make a line with a Dotted pattern.",18,{"inputs":[],"output":{"name":"self"}}],[11,"pattern","","The style with some given pattern.",18,null],[11,"color","","The style with some given color.",18,null],[11,"thickness","","The style with some given thickness.",18,null],[11,"cap","","The style for the ends of the Line.",18,null],[11,"set_pattern","","Set the pattern for the line.",18,null],[11,"set_color","","Set the color for the line.",18,null],[11,"set_thickness","","Set the thickness for the line.",18,null],[11,"set_cap","","Set the **Cap** for the line.",18,null],[11,"get_pattern","","The Pattern for the Line.",18,null],[11,"get_color","","The Color for the Line.",18,null],[11,"get_thickness","","The width or thickness of the Line.",18,null],[11,"get_cap","","The styling for the ends of the Line.",18,null],[11,"common","","",2,null],[11,"common_mut","","",2,null],[11,"unique_kind","","",2,null],[11,"init_state","","",2,null],[11,"style","","",2,null],[11,"update","","Update the state of the Line.",2,null],[11,"color","","",2,null],[11,"eq","","",19,null],[11,"ne","","",19,null],[11,"fmt","","",19,null],[11,"clone","","",19,null],[11,"new","","Construct the default `Style`, initialising all fields to `None`.",19,{"inputs":[],"output":{"name":"self"}}],[11,"maybe_color","","Retrieves the value from the `Style`.",19,null],[11,"from_texture","","Construct a new `Image` from a texture.",3,{"inputs":[{"name":"arc"}],"output":{"name":"self"}}],[11,"source_rectangle","","Build the type's self.$($assignee).+ with the given $Type.",3,null],[11,"color","","Build the type's self.$($assignee).+ with the given $Type.",3,null],[11,"common","","",3,null],[11,"common_mut","","",3,null],[11,"unique_kind","","",3,null],[11,"init_state","","",3,null],[11,"style","","",3,null],[11,"default_x_dimension","","",3,null],[11,"default_y_dimension","","",3,null],[11,"update","","",3,null],[11,"fmt","","",4,null],[11,"clone","","",4,null],[11,"styled","","The same as [**PointPath::new**](./struct.PointPath#method.new) but with th given style.",4,{"inputs":[{"name":"i"},{"name":"style"}],"output":{"name":"self"}}],[11,"new","","Build a new default PointPath widget.",4,{"inputs":[{"name":"i"}],"output":{"name":"self"}}],[11,"abs","","Build a new PointPath whose bounding box is fit to the absolute co-ordinates of the points.",4,{"inputs":[{"name":"i"}],"output":{"name":"self"}}],[11,"abs_styled","","The same as [**PointPath::abs**](./struct.PointPath#method.abs) but constructs the\n**PointPath** with the given style.",4,{"inputs":[{"name":"i"},{"name":"style"}],"output":{"name":"self"}}],[11,"centred","","Build a new **PointPath** and shift the location of the points so that the centre of their\nbounding rectangle lies at the position determined for the **PointPath** widget.",4,{"inputs":[{"name":"i"}],"output":{"name":"self"}}],[11,"centred_styled","","The same as [**PointPath::centred**](./struct.PointPath#method.centred) but constructs the\n**PointPath** with the given style.",4,{"inputs":[{"name":"i"},{"name":"style"}],"output":{"name":"self"}}],[11,"thickness","","The thickness or width of the **PointPath**'s lines.",4,null],[11,"solid","","Make a Solid line.",4,null],[11,"dashed","","Make a line with a Dashed pattern.",4,null],[11,"dotted","","Make a line with a Dotted pattern.",4,null],[11,"common","","",4,null],[11,"common_mut","","",4,null],[11,"unique_kind","","",4,null],[11,"init_state","","",4,null],[11,"style","","",4,null],[11,"update","","Update the state of the Line.",4,null],[11,"color","","",4,null],[11,"fmt","","",122,null],[11,"clone","","",122,null],[11,"styled","","Build a circular **Oval** with the given dimensions and style.",122,{"inputs":[{"name":"scalar"},{"name":"style"}],"output":{"name":"oval"}}],[11,"fill","","Build a new **Fill**ed circular **Oval**.",122,{"inputs":[{"name":"scalar"}],"output":{"name":"oval"}}],[11,"fill_with","","Build a new circular **Oval** **Fill**ed with the given color.",122,{"inputs":[{"name":"scalar"},{"name":"color"}],"output":{"name":"oval"}}],[11,"outline","","Build a new circular **Outline**d **Oval** widget.",122,{"inputs":[{"name":"scalar"}],"output":{"name":"oval"}}],[11,"outline_styled","","Build a new circular **Oval** **Outline**d with the given style.",122,{"inputs":[{"name":"scalar"},{"name":"linestyle"}],"output":{"name":"oval"}}],[11,"fmt","","",7,null],[11,"clone","","",7,null],[11,"styled","","Build an **Oval** with the given dimensions and style.",7,{"inputs":[{"name":"dimensions"},{"name":"style"}],"output":{"name":"self"}}],[11,"fill","","Build a new **Fill**ed **Oval**.",7,{"inputs":[{"name":"dimensions"}],"output":{"name":"self"}}],[11,"fill_with","","Build a new **Oval** **Fill**ed with the given color.",7,{"inputs":[{"name":"dimensions"},{"name":"color"}],"output":{"name":"self"}}],[11,"outline","","Build a new **Outline**d **Oval** widget.",7,{"inputs":[{"name":"dimensions"}],"output":{"name":"self"}}],[11,"outline_styled","","Build a new **Oval** **Outline**d with the given style.",7,{"inputs":[{"name":"dimensions"},{"name":"linestyle"}],"output":{"name":"self"}}],[11,"common","","",7,null],[11,"common_mut","","",7,null],[11,"unique_kind","","",7,null],[11,"init_state","","",7,null],[11,"style","","",7,null],[11,"update","","Update the state of the Oval.",7,null],[11,"color","","",7,null],[11,"fmt","","",6,null],[11,"clone","","",6,null],[11,"styled","","Build a polygon with the given points and style.",6,{"inputs":[{"name":"i"},{"name":"style"}],"output":{"name":"self"}}],[11,"fill","","Build a **Polygon** with the default **Fill** style.",6,{"inputs":[{"name":"i"}],"output":{"name":"self"}}],[11,"fill_with","","Build a **Polygon** **Fill**ed with the given **Color**.",6,{"inputs":[{"name":"i"},{"name":"color"}],"output":{"name":"self"}}],[11,"outline","","Build a **Polygon** with the default **Outline** style.",6,{"inputs":[{"name":"i"}],"output":{"name":"self"}}],[11,"outline_styled","","Build a **Polygon** **Outline**ed with the given line style.",6,{"inputs":[{"name":"i"},{"name":"linestyle"}],"output":{"name":"self"}}],[11,"abs_styled","","Build a new filled **Polygon** whose bounding box is fit to the absolute co-ordinates of\nthe points.",6,{"inputs":[{"name":"i"},{"name":"style"}],"output":{"name":"self"}}],[11,"abs_fill","","The same as [**Polygon::abs_styled**](./struct.Polygon#method.abs_styled) but builds the\n**Polygon** with the default **Fill** style.",6,{"inputs":[{"name":"i"}],"output":{"name":"self"}}],[11,"abs_fill_with","","The same as [**Polygon::abs_styled**](./struct.Polygon#method.abs_styled) but builds the\n**Polygon** **Fill**ed with the given **Color**.",6,{"inputs":[{"name":"i"},{"name":"color"}],"output":{"name":"self"}}],[11,"abs_outline","","The same as [**Polygon::abs_styled**](./struct.Polygon#method.abs_styled) but builds the\n**Polygon** with the default **Outline** style.",6,{"inputs":[{"name":"i"}],"output":{"name":"self"}}],[11,"abs_outline_styled","","The same as [**Polygon::abs_styled**](./struct.Polygon#method.abs_styled) but builds the\n**Polygon** with the given **Outline** styling.",6,{"inputs":[{"name":"i"},{"name":"linestyle"}],"output":{"name":"self"}}],[11,"centred_styled","","Build a new **Polygon** and shift the location of the points so that the centre of their\nbounding rectangle lies at the position determined for the **Polygon** widget.",6,{"inputs":[{"name":"i"},{"name":"style"}],"output":{"name":"self"}}],[11,"centred_fill","","The same as [**Polygon::centred_styled**](./struct.Polygon#method.centred_styled) but\nconstructs the **Polygon** with the default **Fill** style.",6,{"inputs":[{"name":"i"}],"output":{"name":"self"}}],[11,"centred_fill_with","","The same as [**Polygon::centred_styled**](./struct.Polygon#method.centred_styled) but\nconstructs the **Polygon** **Fill**ed with the given color.",6,{"inputs":[{"name":"i"},{"name":"color"}],"output":{"name":"self"}}],[11,"centred_outline","","The same as [**Polygon::centred_styled**](./struct.Polygon#method.centred_styled) but\nconstructs the **Polygon** with the default **Outline** style.",6,{"inputs":[{"name":"i"}],"output":{"name":"self"}}],[11,"centred_outline_styled","","The same as [**Polygon::centred_styled**](./struct.Polygon#method.centred_styled) but\nconstructs the **Polygon** **Outline**d with the given styling.",6,{"inputs":[{"name":"i"},{"name":"linestyle"}],"output":{"name":"self"}}],[11,"common","","",6,null],[11,"common_mut","","",6,null],[11,"unique_kind","","",6,null],[11,"init_state","","",6,null],[11,"style","","",6,null],[11,"update","","Update the state of the Polygon.",6,null],[11,"color","","",6,null],[11,"fmt","","",8,null],[11,"clone","","",8,null],[11,"styled","","Build a rectangle with the dimensions and style.",8,{"inputs":[{"name":"dimensions"},{"name":"style"}],"output":{"name":"self"}}],[11,"fill","","Build a new filled rectangle.",8,{"inputs":[{"name":"dimensions"}],"output":{"name":"self"}}],[11,"fill_with","","Build a new filled rectangle widget filled with the given color.",8,{"inputs":[{"name":"dimensions"},{"name":"color"}],"output":{"name":"self"}}],[11,"outline","","Build a new outlined rectangle widget.",8,{"inputs":[{"name":"dimensions"}],"output":{"name":"self"}}],[11,"outline_styled","","Build an outlined rectangle rather than a filled one.",8,{"inputs":[{"name":"dimensions"},{"name":"linestyle"}],"output":{"name":"self"}}],[11,"common","","",8,null],[11,"common_mut","","",8,null],[11,"unique_kind","","",8,null],[11,"init_state","","",8,null],[11,"style","","",8,null],[11,"update","","Update the state of the Rectangle.",8,null],[11,"color","","",8,null],[11,"fmt","","",5,null],[11,"clone","","",5,null],[11,"eq","","",20,null],[11,"ne","","",20,null],[11,"fmt","","",20,null],[11,"clone","","",20,null],[11,"new","","Construct the default `Style`, initialising all fields to `None`.",20,{"inputs":[],"output":{"name":"self"}}],[11,"color","","Retrieves the value from the `Style`.",20,null],[11,"frame","","Retrieves the value from the `Style`.",20,null],[11,"frame_color","","Retrieves the value from the `Style`.",20,null],[11,"new","","Build a new **FramedRectangle**.",5,{"inputs":[{"name":"dimensions"}],"output":{"name":"self"}}],[11,"with_style","","Build the type's self.$($assignee).+ with the given $Type.",5,null],[11,"common","","",5,null],[11,"common_mut","","",5,null],[11,"unique_kind","","",5,null],[11,"init_state","","",5,null],[11,"style","","",5,null],[11,"update","","Update the state of the Rectangle.",5,null],[11,"color","","Build the type's self.$($assignee).+ with the given $Type.",5,null],[11,"frame","","Build the type's self.$($assignee).+ with the given $Type.",5,null],[11,"frame_color","","Build the type's self.$($assignee).+ with the given $Type.",5,null],[11,"eq","","",50,null],[11,"ne","","",50,null],[11,"fmt","","",50,null],[11,"clone","","",50,null],[11,"fill","","A default `Fill` style.",50,{"inputs":[],"output":{"name":"self"}}],[11,"fill_with","","A `Fill` style with some given `Color`.",50,{"inputs":[{"name":"color"}],"output":{"name":"self"}}],[11,"outline","","A default `Outline` style.",50,{"inputs":[],"output":{"name":"self"}}],[11,"outline_styled","","A default `Outline` style.",50,{"inputs":[{"name":"linestyle"}],"output":{"name":"self"}}],[11,"color","","The style with some given Color.",50,null],[11,"set_color","","Set the color for the style.",50,null],[11,"get_color","","Get the color of the Rectangle.",50,null],[11,"eq","","",21,null],[11,"ne","","",21,null],[11,"fmt","","",21,null],[11,"clone","","",21,null],[11,"new","","Construct the default `Style`, initialising all fields to `None`.",21,{"inputs":[],"output":{"name":"self"}}],[11,"font_size","","Retrieves the value from the `Style`.",21,null],[11,"color","","Retrieves the value from the `Style`.",21,null],[11,"maybe_wrap","","Retrieves the value from the `Style`.",21,null],[11,"line_spacing","","Retrieves the value from the `Style`.",21,null],[11,"text_align","","Retrieves the value from the `Style`.",21,null],[11,"eq","","",49,null],[11,"fmt","","",49,null],[11,"clone","","",49,null],[11,"new","","Build a new **Text** widget.",9,{"inputs":[{"name":"str"}],"output":{"name":"self"}}],[11,"font_size","","Build the **Text** with the given font size.",9,null],[11,"no_line_wrap","","Specify that the **Text** should not wrap lines around the width.",9,null],[11,"wrap_by_word","","Line wrap the **Text** at the beginning of the first word that exceeds the width.",9,null],[11,"wrap_by_character","","Line wrap the **Text** at the beginning of the first character that exceeds the width.",9,null],[11,"with_style","","Build the **Text** with the given **Style**.",9,null],[11,"align_text_left","","Align the text to the left of its bounding **Rect**'s *x* axis range.",9,null],[11,"align_text_middle","","Align the text to the middle of its bounding **Rect**'s *x* axis range.",9,null],[11,"align_text_right","","Align the text to the right of its bounding **Rect**'s *x* axis range.",9,null],[11,"line_spacing","","The height of the space used between consecutive lines.",9,null],[11,"common","","",9,null],[11,"common_mut","","",9,null],[11,"unique_kind","","",9,null],[11,"init_state","","",9,null],[11,"style","","",9,null],[11,"default_x_dimension","","If no specific width was given, we'll use the width of the widest line as a default.",9,null],[11,"default_y_dimension","","If no specific height was given, we'll use the total height of the text as a default.",9,null],[11,"update","","Update the state of the Text.",9,null],[11,"color","","",9,null],[11,"eq","","",22,null],[11,"ne","","",22,null],[11,"fmt","","",22,null],[11,"clone","","",22,null],[11,"new","","Construct the default `Style`, initialising all fields to `None`.",22,{"inputs":[],"output":{"name":"self"}}],[11,"color","","Retrieves the value from the `Style`.",22,null],[11,"frame","","Retrieves the value from the `Style`.",22,null],[11,"frame_color","","Retrieves the value from the `Style`.",22,null],[11,"label_color","","Retrieves the value from the `Style`.",22,null],[11,"label_font_size","","Retrieves the value from the `Style`.",22,null],[11,"new","","Create a button context to be built upon.",10,{"inputs":[],"output":{"name":"self"}}],[11,"react","","Build the type's self.$($assignee).+ with the given $Type.",10,null],[11,"enabled","","Build the type's self.$($assignee).+ with the given $Type.",10,null],[11,"common","","",10,null],[11,"common_mut","","",10,null],[11,"unique_kind","","",10,null],[11,"init_state","","",10,null],[11,"style","","",10,null],[11,"update","","Update the state of the Button.",10,null],[11,"color","","Build the type's self.$($assignee).+ with the given $Type.",10,null],[11,"frame","","Build the type's self.$($assignee).+ with the given $Type.",10,null],[11,"frame_color","","Build the type's self.$($assignee).+ with the given $Type.",10,null],[11,"label","","Build the type's self.$($assignee).+ with the given $Type.",10,null],[11,"label_color","","Build the type's self.$($assignee).+ with the given $Type.",10,null],[11,"label_font_size","","Build the type's self.$($assignee).+ with the given $Type.",10,null],[11,"fmt","","",11,null],[11,"clone","","",11,null],[11,"eq","","",23,null],[11,"ne","","",23,null],[11,"fmt","","",23,null],[11,"clone","","",23,null],[11,"new","","Construct the default `Style`, initialising all fields to `None`.",23,{"inputs":[],"output":{"name":"self"}}],[11,"color","","Retrieves the value from the `Style`.",23,null],[11,"frame","","Retrieves the value from the `Style`.",23,null],[11,"frame_color","","Retrieves the value from the `Style`.",23,null],[11,"length","","Retrieves the value from the `Style`.",23,null],[11,"pad_left","","Retrieves the value from the `Style`.",23,null],[11,"pad_right","","Retrieves the value from the `Style`.",23,null],[11,"pad_bottom","","Retrieves the value from the `Style`.",23,null],[11,"pad_top","","Retrieves the value from the `Style`.",23,null],[11,"title_bar_text_color","","Retrieves the value from the `Style`.",23,null],[11,"title_bar_font_size","","Retrieves the value from the `Style`.",23,null],[11,"title_bar_maybe_wrap","","Retrieves the value from the `Style`.",23,null],[11,"title_bar_line_spacing","","Retrieves the value from the `Style`.",23,null],[11,"title_bar_text_align","","Retrieves the value from the `Style`.",23,null],[11,"new","","Construct a new Canvas builder.",11,{"inputs":[],"output":{"name":"self"}}],[11,"title_bar","","Build the type's self.$($assignee).+ with the given $Type.",11,null],[11,"pad_left","","Build the type's self.$($assignee).+ with the given $Type.",11,null],[11,"pad_right","","Build the type's self.$($assignee).+ with the given $Type.",11,null],[11,"pad_bottom","","Build the type's self.$($assignee).+ with the given $Type.",11,null],[11,"pad_top","","Build the type's self.$($assignee).+ with the given $Type.",11,null],[11,"with_style","","Build the type's self.$($assignee).+ with the given $Type.",11,null],[11,"length","","Set the length of the Split as an absolute scalar.",11,null],[11,"length_weight","","Set the length of the Split as a weight.",11,null],[11,"flow_right","","Set the child Canvasses flowing to the right.",11,null],[11,"flow_left","","Set the child Canvasses flowing to the left.",11,null],[11,"flow_up","","Set the child Canvasses flowing upwards.",11,null],[11,"flow_down","","Set the child Canvasses flowing downwards.",11,null],[11,"pad","","Set the padding for all edges of the area where child widgets will be placed.",11,null],[11,"padding","","Set the padding of the area where child widgets will be placed.",11,null],[11,"common","","",11,null],[11,"common_mut","","",11,null],[11,"unique_kind","","",11,null],[11,"init_state","","",11,null],[11,"style","","",11,null],[11,"default_x_position","","",11,null],[11,"default_y_position","","",11,null],[11,"drag_area","","The title bar area at which the Canvas can be clicked and dragged.",11,null],[11,"kid_area","","The area of the widget below the title bar, upon which child widgets will be placed.",11,null],[11,"update","","Update the state of the Canvas.",11,null],[11,"padding","","Get the Padding for the Canvas' kid area.",23,null],[11,"color","","Build the type's self.$($assignee).+ with the given $Type.",11,null],[11,"frame","","Build the type's self.$($assignee).+ with the given $Type.",11,null],[11,"frame_color","","Build the type's self.$($assignee).+ with the given $Type.",11,null],[11,"label","","",11,null],[11,"label_color","","Build the type's self.$($assignee).+ with the given $Type.",11,null],[11,"label_font_size","","Build the type's self.$($assignee).+ with the given $Type.",11,null],[11,"eq","","",24,null],[11,"ne","","",24,null],[11,"fmt","","",24,null],[11,"clone","","",24,null],[11,"new","","Construct the default `Style`, initialising all fields to `None`.",24,{"inputs":[],"output":{"name":"self"}}],[11,"color","","Retrieves the value from the `Style`.",24,null],[11,"frame","","Retrieves the value from the `Style`.",24,null],[11,"frame_color","","Retrieves the value from the `Style`.",24,null],[11,"label_color","","Retrieves the value from the `Style`.",24,null],[11,"label_font_size","","Retrieves the value from the `Style`.",24,null],[11,"maybe_max_visible_height","","Retrieves the value from the `Style`.",24,null],[11,"new","","Construct a new DropDownList.",123,{"inputs":[{"name":"vec"},{"name":"option"}],"output":{"name":"self"}}],[11,"react","","Build the type's self.$($assignee).+ with the given $Type.",123,null],[11,"enabled","","Build the type's self.$($assignee).+ with the given $Type.",123,null],[11,"max_visible_items","","Set the maximum height of the DropDownList (before the scrollbar appears) as a number of\nitems.",123,null],[11,"max_visible_height","","Set the maximum height of the DropDownList (before the scrollbar appears) as a scalar\nheight.",123,null],[11,"common","","",123,null],[11,"common_mut","","",123,null],[11,"unique_kind","","",123,null],[11,"init_state","","",123,null],[11,"style","","",123,null],[11,"update","","Update the state of the DropDownList.",123,null],[11,"button_style","","Style for a `Button` given this `Style`'s current state.",24,null],[11,"color","","Build the type's self.$($assignee).+ with the given $Type.",123,null],[11,"frame","","Build the type's self.$($assignee).+ with the given $Type.",123,null],[11,"frame_color","","Build the type's self.$($assignee).+ with the given $Type.",123,null],[11,"label","","Build the type's self.$($assignee).+ with the given $Type.",123,null],[11,"label_color","","Build the type's self.$($assignee).+ with the given $Type.",123,null],[11,"label_font_size","","Build the type's self.$($assignee).+ with the given $Type.",123,null],[11,"eq","","",25,null],[11,"ne","","",25,null],[11,"fmt","","",25,null],[11,"clone","","",25,null],[11,"new","","Construct the default `Style`, initialising all fields to `None`.",25,{"inputs":[],"output":{"name":"self"}}],[11,"color","","Retrieves the value from the `Style`.",25,null],[11,"frame","","Retrieves the value from the `Style`.",25,null],[11,"frame_color","","Retrieves the value from the `Style`.",25,null],[11,"label_color","","Retrieves the value from the `Style`.",25,null],[11,"label_font_size","","Retrieves the value from the `Style`.",25,null],[11,"value_font_size","","Retrieves the value from the `Style`.",25,null],[11,"point_radius","","Retrieves the value from the `Style`.",25,null],[11,"line_thickness","","Retrieves the value from the `Style`.",25,null],[11,"new","","Construct an EnvelopeEditor widget.",12,{"inputs":[{"name":"vec"},{"name":"x"},{"name":"x"},{"name":"y"},{"name":"y"}],"output":{"name":"envelopeeditor"}}],[11,"point_radius","","Build the type's self.$($assignee).+ with the given $Type.",12,null],[11,"line_thickness","","Build the type's self.$($assignee).+ with the given $Type.",12,null],[11,"value_font_size","","Build the type's self.$($assignee).+ with the given $Type.",12,null],[11,"skew_y","","Build the type's self.$($assignee).+ with the given $Type.",12,null],[11,"react","","Build the type's self.$($assignee).+ with the given $Type.",12,null],[11,"enabled","","Build the type's self.$($assignee).+ with the given $Type.",12,null],[11,"common","","",12,null],[11,"common_mut","","",12,null],[11,"unique_kind","","",12,null],[11,"init_state","","",12,null],[11,"style","","",12,null],[11,"update","","Update the state of the EnvelopeEditor's cached state.",12,null],[11,"color","","Build the type's self.$($assignee).+ with the given $Type.",12,null],[11,"frame","","Build the type's self.$($assignee).+ with the given $Type.",12,null],[11,"frame_color","","Build the type's self.$($assignee).+ with the given $Type.",12,null],[11,"label","","Build the type's self.$($assignee).+ with the given $Type.",12,null],[11,"label_color","","Build the type's self.$($assignee).+ with the given $Type.",12,null],[11,"label_font_size","","Build the type's self.$($assignee).+ with the given $Type.",12,null],[11,"clone","","",124,null],[11,"new","","Create a widget matrix context.",124,{"inputs":[{"name":"usize"},{"name":"usize"}],"output":{"name":"matrix"}}],[11,"each_widget","","The function that will be called for each and every element in the Matrix.\nThe function should return the widget that will be displayed in the element associated with\nthe given row and column number.\nNote that the returned Widget's position and dimensions will be overridden with the\ndimensions and position of the matrix element's rectangle.",124,null],[11,"cell_padding","","A builder method for adding padding to the cell.",124,null],[11,"common","","",124,null],[11,"common_mut","","",124,null],[11,"unique_kind","","",124,null],[11,"init_state","","",124,null],[11,"style","","",124,null],[11,"update","","Update the state of the Matrix.",124,null],[11,"eq","","",26,null],[11,"ne","","",26,null],[11,"fmt","","",26,null],[11,"clone","","",26,null],[11,"new","","Construct the default `Style`, initialising all fields to `None`.",26,{"inputs":[],"output":{"name":"self"}}],[11,"color","","Retrieves the value from the `Style`.",26,null],[11,"frame","","Retrieves the value from the `Style`.",26,null],[11,"frame_color","","Retrieves the value from the `Style`.",26,null],[11,"label_color","","Retrieves the value from the `Style`.",26,null],[11,"label_font_size","","Retrieves the value from the `Style`.",26,null],[11,"new","","Construct a new NumberDialer widget.",125,{"inputs":[{"name":"t"},{"name":"t"},{"name":"t"},{"name":"u8"}],"output":{"name":"self"}}],[11,"react","","Build the type's self.$($assignee).+ with the given $Type.",125,null],[11,"enabled","","Build the type's self.$($assignee).+ with the given $Type.",125,null],[11,"common","","",125,null],[11,"common_mut","","",125,null],[11,"unique_kind","","",125,null],[11,"init_state","","",125,null],[11,"style","","",125,null],[11,"update","","Update the state of the NumberDialer.",125,null],[11,"color","","Build the type's self.$($assignee).+ with the given $Type.",125,null],[11,"frame","","Build the type's self.$($assignee).+ with the given $Type.",125,null],[11,"frame_color","","Build the type's self.$($assignee).+ with the given $Type.",125,null],[11,"label","","Build the type's self.$($assignee).+ with the given $Type.",125,null],[11,"label_color","","Build the type's self.$($assignee).+ with the given $Type.",125,null],[11,"label_font_size","","Build the type's self.$($assignee).+ with the given $Type.",125,null],[11,"eq","","",27,null],[11,"ne","","",27,null],[11,"fmt","","",27,null],[11,"clone","","",27,null],[11,"new","","Construct the default `Style`, initialising all fields to `None`.",27,{"inputs":[],"output":{"name":"self"}}],[11,"color","","Retrieves the value from the `Style`.",27,null],[11,"frame","","Retrieves the value from the `Style`.",27,null],[11,"frame_color","","Retrieves the value from the `Style`.",27,null],[11,"label_color","","Retrieves the value from the `Style`.",27,null],[11,"label_font_size","","Retrieves the value from the `Style`.",27,null],[11,"new","","Construct a new Slider widget.",13,{"inputs":[{"name":"t"},{"name":"t"},{"name":"t"}],"output":{"name":"self"}}],[11,"skew","","Build the type's self.$($assignee).+ with the given $Type.",13,null],[11,"react","","Build the type's self.$($assignee).+ with the given $Type.",13,null],[11,"enabled","","Build the type's self.$($assignee).+ with the given $Type.",13,null],[11,"common","","",13,null],[11,"common_mut","","",13,null],[11,"unique_kind","","",13,null],[11,"init_state","","",13,null],[11,"style","","",13,null],[11,"kid_area","","",13,null],[11,"update","","Update the state of the Slider.",13,null],[11,"color","","Build the type's self.$($assignee).+ with the given $Type.",13,null],[11,"frame","","Build the type's self.$($assignee).+ with the given $Type.",13,null],[11,"frame_color","","Build the type's self.$($assignee).+ with the given $Type.",13,null],[11,"label","","Build the type's self.$($assignee).+ with the given $Type.",13,null],[11,"label_color","","Build the type's self.$($assignee).+ with the given $Type.",13,null],[11,"label_font_size","","Build the type's self.$($assignee).+ with the given $Type.",13,null],[11,"eq","","",28,null],[11,"ne","","",28,null],[11,"fmt","","",28,null],[11,"clone","","",28,null],[11,"new","","Construct some new Canvas Tabs.",126,null],[11,"starting_canvas","","Set the initially selected tab with a Canvas via its widget::Id.",126,null],[11,"pad","","Set the padding for all edges.",126,null],[11,"layout_horizontally","","Layout the tabs horizontally.",126,null],[11,"layout_vertically","","Layout the tabs vertically.",126,null],[11,"bar_width","","Build the type's self.$($assignee).+ with the given $Type.",126,null],[11,"starting_tab_idx","","Build the type's self.$($assignee).+ with the given $Type.",126,null],[11,"label_color","","Build the type's self.$($assignee).+ with the given $Type.",126,null],[11,"label_font_size","","Build the type's self.$($assignee).+ with the given $Type.",126,null],[11,"canvas_style","","Build the type's self.$($assignee).+ with the given $Type.",126,null],[11,"pad_left","","Build the type's self.$($assignee).+ with the given $Type.",126,null],[11,"pad_right","","Build the type's self.$($assignee).+ with the given $Type.",126,null],[11,"pad_bottom","","Build the type's self.$($assignee).+ with the given $Type.",126,null],[11,"pad_top","","Build the type's self.$($assignee).+ with the given $Type.",126,null],[11,"common","","",126,null],[11,"common_mut","","",126,null],[11,"unique_kind","","",126,null],[11,"init_state","","",126,null],[11,"style","","",126,null],[11,"kid_area","","The area on which child widgets will be placed when using the `Place` Positionable methods.",126,null],[11,"update","","Update the state of the Tabs.",126,null],[11,"new","","Construct the default `Tabs` style.",28,{"inputs":[],"output":{"name":"style"}}],[11,"layout","","Get the layout of the tabs for the `Tabs` widget.",28,null],[11,"label_color","","Get the color for the tab labels.",28,null],[11,"font_size","","Get the font size for the tab labels.",28,null],[11,"color","","",126,null],[11,"frame","","",126,null],[11,"frame_color","","",126,null],[11,"eq","","",29,null],[11,"ne","","",29,null],[11,"fmt","","",29,null],[11,"clone","","",29,null],[11,"new","","Construct the default `Style`, initialising all fields to `None`.",29,{"inputs":[],"output":{"name":"self"}}],[11,"color","","Retrieves the value from the `Style`.",29,null],[11,"frame","","Retrieves the value from the `Style`.",29,null],[11,"frame_color","","Retrieves the value from the `Style`.",29,null],[11,"font_size","","Retrieves the value from the `Style`.",29,null],[11,"text_color","","Retrieves the value from the `Style`.",29,null],[11,"new","","Construct a TextBox widget.",14,{"inputs":[{"name":"string"}],"output":{"name":"textbox"}}],[11,"font_size","","Build the type's self.$($assignee).+ with the given $Type.",14,null],[11,"react","","Build the type's self.$($assignee).+ with the given $Type.",14,null],[11,"enabled","","Build the type's self.$($assignee).+ with the given $Type.",14,null],[11,"common","","",14,null],[11,"common_mut","","",14,null],[11,"unique_kind","","",14,null],[11,"init_state","","",14,null],[11,"style","","",14,null],[11,"kid_area","","",14,null],[11,"update","","Update the state of the TextBox.",14,null],[11,"color","","Build the type's self.$($assignee).+ with the given $Type.",14,null],[11,"frame","","Build the type's self.$($assignee).+ with the given $Type.",14,null],[11,"frame_color","","Build the type's self.$($assignee).+ with the given $Type.",14,null],[11,"eq","","",30,null],[11,"ne","","",30,null],[11,"fmt","","",30,null],[11,"clone","","",30,null],[11,"new","","Construct the default `Style`, initialising all fields to `None`.",30,{"inputs":[],"output":{"name":"self"}}],[11,"color","","Retrieves the value from the `Style`.",30,null],[11,"frame","","Retrieves the value from the `Style`.",30,null],[11,"frame_color","","Retrieves the value from the `Style`.",30,null],[11,"text_color","","Retrieves the value from the `Style`.",30,null],[11,"font_size","","Retrieves the value from the `Style`.",30,null],[11,"maybe_wrap","","Retrieves the value from the `Style`.",30,null],[11,"line_spacing","","Retrieves the value from the `Style`.",30,null],[11,"text_align","","Retrieves the value from the `Style`.",30,null],[11,"new","","Construct a new TitleBar widget and attach it to the widget at the given index.",15,{"inputs":[{"name":"str"},{"name":"i"}],"output":{"name":"self"}}],[11,"align_text_left","","Align the text to the left of its bounding **Rect**'s *x* axis range.",15,null],[11,"align_text_middle","","Align the text to the middle of its bounding **Rect**'s *x* axis range.",15,null],[11,"align_text_right","","Align the text to the right of its bounding **Rect**'s *x* axis range.",15,null],[11,"line_spacing","","Build the type's self.$($assignee).+ with the given $Type.",15,null],[11,"react","","Build the type's self.$($assignee).+ with the given $Type.",15,null],[11,"common","","",15,null],[11,"common_mut","","",15,null],[11,"unique_kind","","",15,null],[11,"init_state","","",15,null],[11,"style","","",15,null],[11,"default_y_dimension","","",15,null],[11,"update","","",15,null],[11,"color","","Build the type's self.$($assignee).+ with the given $Type.",15,null],[11,"frame","","Build the type's self.$($assignee).+ with the given $Type.",15,null],[11,"frame_color","","Build the type's self.$($assignee).+ with the given $Type.",15,null],[11,"label","","Build the type's self.$($assignee).+ with the given $Type.",15,null],[11,"label_color","","Build the type's self.$($assignee).+ with the given $Type.",15,null],[11,"label_font_size","","Build the type's self.$($assignee).+ with the given $Type.",15,null],[11,"eq","","",31,null],[11,"ne","","",31,null],[11,"fmt","","",31,null],[11,"clone","","",31,null],[11,"new","","Construct the default `Style`, initialising all fields to `None`.",31,{"inputs":[],"output":{"name":"self"}}],[11,"color","","Retrieves the value from the `Style`.",31,null],[11,"frame","","Retrieves the value from the `Style`.",31,null],[11,"frame_color","","Retrieves the value from the `Style`.",31,null],[11,"label_color","","Retrieves the value from the `Style`.",31,null],[11,"label_font_size","","Retrieves the value from the `Style`.",31,null],[11,"new","","Construct a new Toggle widget.",16,{"inputs":[{"name":"bool"}],"output":{"name":"toggle"}}],[11,"react","","Build the type's self.$($assignee).+ with the given $Type.",16,null],[11,"enabled","","Build the type's self.$($assignee).+ with the given $Type.",16,null],[11,"common","","",16,null],[11,"common_mut","","",16,null],[11,"unique_kind","","",16,null],[11,"init_state","","",16,null],[11,"style","","",16,null],[11,"update","","Update the state of the Toggle.",16,null],[11,"color","","Build the type's self.$($assignee).+ with the given $Type.",16,null],[11,"frame","","Build the type's self.$($assignee).+ with the given $Type.",16,null],[11,"frame_color","","Build the type's self.$($assignee).+ with the given $Type.",16,null],[11,"label","","Build the type's self.$($assignee).+ with the given $Type.",16,null],[11,"label_color","","Build the type's self.$($assignee).+ with the given $Type.",16,null],[11,"label_font_size","","Build the type's self.$($assignee).+ with the given $Type.",16,null],[11,"eq","","",32,null],[11,"ne","","",32,null],[11,"fmt","","",32,null],[11,"clone","","",32,null],[11,"new","","Construct the default `Style`, initialising all fields to `None`.",32,{"inputs":[],"output":{"name":"self"}}],[11,"color","","Retrieves the value from the `Style`.",32,null],[11,"frame","","Retrieves the value from the `Style`.",32,null],[11,"frame_color","","Retrieves the value from the `Style`.",32,null],[11,"label_color","","Retrieves the value from the `Style`.",32,null],[11,"label_font_size","","Retrieves the value from the `Style`.",32,null],[11,"value_font_size","","Retrieves the value from the `Style`.",32,null],[11,"line_thickness","","Retrieves the value from the `Style`.",32,null],[11,"new","","Build a new XYPad widget.",17,{"inputs":[{"name":"x"},{"name":"x"},{"name":"x"},{"name":"y"},{"name":"y"},{"name":"y"}],"output":{"name":"self"}}],[11,"line_thickness","","Build the type's self.$($assignee).+ with the given $Type.",17,null],[11,"value_font_size","","Build the type's self.$($assignee).+ with the given $Type.",17,null],[11,"react","","Build the type's self.$($assignee).+ with the given $Type.",17,null],[11,"enabled","","Build the type's self.$($assignee).+ with the given $Type.",17,null],[11,"common","","",17,null],[11,"common_mut","","",17,null],[11,"unique_kind","","",17,null],[11,"init_state","","",17,null],[11,"style","","",17,null],[11,"update","","Update the XYPad's cached state.",17,null],[11,"color","","Build the type's self.$($assignee).+ with the given $Type.",17,null],[11,"frame","","Build the type's self.$($assignee).+ with the given $Type.",17,null],[11,"frame_color","","Build the type's self.$($assignee).+ with the given $Type.",17,null],[11,"label","","Build the type's self.$($assignee).+ with the given $Type.",17,null],[11,"label_color","","Build the type's self.$($assignee).+ with the given $Type.",17,null],[11,"label_font_size","","Build the type's self.$($assignee).+ with the given $Type.",17,null],[11,"eq","","",127,null],[11,"ne","","",127,null],[11,"fmt","","",127,null],[11,"clone","","",127,null],[11,"eq","","",46,null],[11,"ne","","",46,null],[11,"fmt","","",46,null],[11,"clone","","",46,null],[11,"eq","","",61,null],[11,"ne","","",61,null],[11,"fmt","","",61,null],[11,"clone","","",61,null],[11,"get_unchecked","","Convert the **MaybeParent** into an **Option<Index>**.",61,null],[11,"get","","The same as `get_unchecked`, but checks whether or not the widget that we're inferring the\nparent for is the `Ui`'s window (which cannot have a parent, without creating a cycle).",61,null],[11,"eq","","",44,null],[11,"ne","","",44,null],[11,"fmt","","",44,null],[11,"clone","","",44,null],[11,"fmt","","",41,null],[11,"clone","","",41,null],[11,"fmt","","",43,null],[11,"clone","","",43,null],[11,"fmt","","",128,null],[11,"eq","","",42,null],[11,"ne","","",42,null],[11,"fmt","","",42,null],[11,"clone","","",42,null],[11,"new","","Construct a new empty **IndexSlot**.",127,{"inputs":[],"output":{"name":"self"}}],[11,"get","","Returns the **NodeIndex** held by the **IndexSlot**.",127,null],[11,"view","","Immutably borrow the internal widget state.",128,null],[11,"update","","Mutate the internal widget state and set a flag notifying us that there has been a mutation.",128,null],[11,"new","","Construct an empty, initialised CommonBuilder.",41,{"inputs":[],"output":{"name":"commonbuilder"}}],[11,"new","","A new default CommonStyle.",43,{"inputs":[],"output":{"name":"self"}}],[6,"FontSize","","Font size used throughout Conrod.",null,null],[6,"Depth","","The depth at which the widget will be rendered.",null,null],[6,"Dimensions","","General use 2D spatial dimensions.",null,null],[6,"Margin","","The margin for some `Place`ment on either end of an axis.",null,null],[6,"Point","","General use 2D spatial point.",null,null],[6,"Scalar","","An alias over the Scalar type used throughout Conrod.",null,null],[6,"WidgetKind","","A unique identifier for a **Widget** type.",null,null],[8,"EnvelopePoint","","`EnvPoint` must be implemented for any type that is used as a 2D point within the\nEnvelopeEditor.",null,null],[16,"X","","A value on the X-axis of the envelope.",129,null],[16,"Y","","A value on the Y-axis of the envelope.",129,null],[10,"get_x","","Return the X value.",129,null],[10,"get_y","","Return the Y value.",129,null],[10,"set_x","","Set the X value.",129,null],[10,"set_y","","Set the Y value.",129,null],[11,"get_curve","","Return the bezier curve depth (-1. to 1.) for the next interpolation.",129,null],[11,"set_curve","","Set the bezier curve depth (-1. to 1.) for the next interpolation.",129,null],[10,"new","","Create a new EnvPoint.",129,{"inputs":[{"name":"x"},{"name":"y"}],"output":{"name":"self"}}],[8,"Frameable","","Widgets that may display a frame.",null,null],[10,"frame","","Set the width of the widget's frame.",130,null],[10,"frame_color","","Set the color of the widget's frame.",130,null],[11,"frame_rgba","","Set the color of the widget's frame with rgba values.",130,null],[11,"frame_rgb","","Set the color of the widget's frame with rgb values.",130,null],[11,"frame_hsla","","Set the color of the widget's frame with hsla values.",130,null],[11,"frame_hsl","","Set the color of the widget's frame with hsl values.",130,null],[8,"Labelable","","Widgets that may display some label.",null,null],[10,"label","","Set the label for the widget.",131,null],[10,"label_color","","Set the color of the widget's label.",131,null],[11,"label_rgba","","Set the color of the widget's label from rgba values.",131,null],[11,"label_rgb","","Set the color of the widget's label from rgb values.",131,null],[11,"label_hsla","","Set the color of the widget's label from hsla values.",131,null],[11,"label_hsl","","Set the color of the widget's label from hsl values.",131,null],[10,"label_font_size","","Set the font size for the widget's label.",131,null],[11,"small_font","","Set a "small" font size for the widget's label.",131,null],[11,"medium_font","","Set a "medium" font size for the widget's label.",131,null],[11,"large_font","","Set a "large" font size for the widget's label.",131,null],[8,"Positionable","","Widgets that are positionable.",null,null],[10,"x_position","","Build with the given **Position** along the *x* axis.",132,null],[10,"y_position","","Build with the given **Position** along the *y* axis.",132,null],[10,"get_x_position","","Get the **Position** along the *x* axis.",132,null],[10,"get_y_position","","Get the **Position** along the *y* axis.",132,null],[11,"x","","Build with the given **Absolute** **Position** along the *x* axis.",132,null],[11,"y","","Build with the given **Absolute** **Position** along the *y* axis.",132,null],[11,"xy","","Set the **Position** with some Point.",132,null],[11,"x_y","","Set the **Position** with *x* *y* coordinates.",132,null],[11,"x_relative","","Set the **Position** along the *x* axis **Relative** to the previous widget.",132,null],[11,"y_relative","","Set the **Position** along the *y* axis **Relative** to the previous widget.",132,null],[11,"xy_relative","","Set the **Position** **Relative** to the previous widget.",132,null],[11,"x_y_relative","","Set the **Position** **Relative** to the previous widget.",132,null],[11,"x_relative_to","","Set the position relative to the widget with the given widget::Index.",132,null],[11,"y_relative_to","","Set the position relative to the widget with the given widget::Index.",132,null],[11,"xy_relative_to","","Set the position relative to the widget with the given widget::Index.",132,null],[11,"x_y_relative_to","","Set the position relative to the widget with the given widget::Index.",132,null],[11,"x_direction","","Build with the **Position** along the *x* axis as some distance from another widget.",132,null],[11,"y_direction","","Build with the **Position** along the *y* axis as some distance from another widget.",132,null],[11,"down","","Build with the **Position** as some distance below another widget.",132,null],[11,"up","","Build with the **Position** as some distance above another widget.",132,null],[11,"left","","Build with the **Position** as some distance to the left of another widget.",132,null],[11,"right","","Build with the **Position** as some distance to the right of another widget.",132,null],[11,"x_direction_from","","Build with the **Position** along the *x* axis as some distance from the given widget.",132,null],[11,"y_direction_from","","Build with the **Position** along the *y* axis as some distance from the given widget.",132,null],[11,"down_from","","Build with the **Position** as some distance below the given widget.",132,null],[11,"up_from","","Build with the **Position** as some distance above the given widget.",132,null],[11,"left_from","","Build with the **Position** as some distance to the left of the given widget.",132,null],[11,"right_from","","Build with the **Position** as some distance to the right of the given widget.",132,null],[11,"x_align","","Align the **Position** of the widget along the *x* axis.",132,null],[11,"y_align","","Align the **Position** of the widget along the *y* axis.",132,null],[11,"align_left","","Align the position to the left (only effective for Up or Down `Direction`s).",132,null],[11,"align_middle_x","","Align the position to the middle (only effective for Up or Down `Direction`s).",132,null],[11,"align_right","","Align the position to the right (only effective for Up or Down `Direction`s).",132,null],[11,"align_top","","Align the position to the top (only effective for Left or Right `Direction`s).",132,null],[11,"align_middle_y","","Align the position to the middle (only effective for Left or Right `Direction`s).",132,null],[11,"align_bottom","","Align the position to the bottom (only effective for Left or Right `Direction`s).",132,null],[11,"x_align_to","","Align the **Position** of the widget with the given widget along the *x* axis.",132,null],[11,"y_align_to","","Align the **Position** of the widget with the given widget along the *y* axis.",132,null],[11,"align_left_of","","Align the position to the left (only effective for Up or Down `Direction`s).",132,null],[11,"align_middle_x_of","","Align the position to the middle (only effective for Up or Down `Direction`s).",132,null],[11,"align_right_of","","Align the position to the right (only effective for Up or Down `Direction`s).",132,null],[11,"align_top_of","","Align the position to the top (only effective for Left or Right `Direction`s).",132,null],[11,"align_middle_y_of","","Align the position to the middle (only effective for Left or Right `Direction`s).",132,null],[11,"align_bottom_of","","Align the position to the bottom (only effective for Left or Right `Direction`s).",132,null],[11,"x_place_on","","Place the widget at some position on the `other` Widget along the *x* axis.",132,null],[11,"y_place_on","","Place the widget at some position on the `other` Widget along the *y* axis.",132,null],[11,"middle_of","","Place the widget in the middle of the given Widget.",132,null],[11,"top_left_of","","Place the widget in the top left corner of the given Widget.",132,null],[11,"top_left_with_margin_on","","Place the widget in the top left corner of the given Widget with the given margin between\nboth edges.",132,null],[11,"top_left_with_margins_on","","Place the widget in the top left corner of the given Widget with the given margins between\neach respective edge.",132,null],[11,"top_right_of","","Place the widget in the top right corner of the given Widget.",132,null],[11,"top_right_with_margin_on","","Place the widget in the top right corner of the given Widget with the given margin\nbetween both edges.",132,null],[11,"top_right_with_margins_on","","Place the widget in the top right corner of the given Widget with the given margins between\neach respective edge.",132,null],[11,"bottom_left_of","","Place the widget in the bottom left corner of the given Widget.",132,null],[11,"bottom_left_with_margin_on","","Place the widget in the bottom left corner of the given Widget with the given margin\nbetween both edges.",132,null],[11,"bottom_left_with_margins_on","","Place the widget in the bottom left corner of the given Widget with the given margins\nbetween each respective edge.",132,null],[11,"bottom_right_of","","Place the widget in the bottom right corner of the given Widget.",132,null],[11,"bottom_right_with_margin_on","","Place the widget in the bottom right corner of the given Widget with the given margin\nbetween both edges.",132,null],[11,"bottom_right_with_margins_on","","Place the widget in the bottom right corner of the given Widget with the given margins\nbetween each respective edge.",132,null],[11,"mid_top_of","","Place the widget in the middle of the top edge of the given Widget.",132,null],[11,"mid_top_with_margin_on","","Place the widget in the middle of the top edge of the given Widget with the given margin\nbetween the edges.",132,null],[11,"mid_bottom_of","","Place the widget in the middle of the bottom edge of the given Widget.",132,null],[11,"mid_bottom_with_margin_on","","Place the widget in the middle of the bottom edge of the given Widget with the given margin\nbetween the edges.",132,null],[11,"mid_left_of","","Place the widget in the middle of the left edge of the given Widget.",132,null],[11,"mid_left_with_margin_on","","Place the widget in the middle of the left edge of the given Widget with the given margin\nbetween the edges.",132,null],[11,"mid_right_of","","Place the widget in the middle of the right edge of the given Widget.",132,null],[11,"mid_right_with_margin_on","","Place the widget in the middle of the right edge of the given Widget with the given margin\nbetween the edges.",132,null],[11,"x_place","","Place the widget at some position on the Widget along the *x* axis.",132,null],[11,"y_place","","Place the widget at some position on the Widget along the *y* axis.",132,null],[11,"middle","","Place the widget in the middle of the current parent Widget.",132,null],[11,"top_left","","Place the widget in the top left corner of the current parent Widget.",132,null],[11,"top_left_with_margin","","Place the widget in the top left corner of the current parent Widget with the given margin\nbetween both edges.",132,null],[11,"top_left_with_margins","","Place the widget in the top left corner of the current parent Widget with the given margins\nbetween each respective edge.",132,null],[11,"top_right","","Place the widget in the top right corner of the current parent Widget.",132,null],[11,"top_right_with_margin","","Place the widget in the top right corner of the current parent Widget with the given margin\nbetween both edges.",132,null],[11,"top_right_with_margins","","Place the widget in the top right corner of the current parent Widget with the given margins\nbetween each respective edge.",132,null],[11,"bottom_left","","Place the widget in the bottom left corner of the current parent Widget.",132,null],[11,"bottom_left_with_margin","","Place the widget in the bottom left corner of the current parent Widget with the given\nmargin between both edges.",132,null],[11,"bottom_left_with_margins","","Place the widget in the bottom left corner of the current parent Widget with the given\nmargins between each respective edge.",132,null],[11,"bottom_right","","Place the widget in the bottom right corner of the current parent Widget.",132,null],[11,"bottom_right_with_margin","","Place the widget in the bottom right corner of the current parent Widget with the given\nmargin between both edges.",132,null],[11,"bottom_right_with_margins","","Place the widget in the bottom right corner of the current parent Widget with the given\nmargins between each respective edge.",132,null],[11,"mid_top","","Place the widget in the middle of the top edge of the current parent Widget.",132,null],[11,"mid_top_with_margin","","Place the widget in the middle of the top edge of the current parent Widget with the given\nmargin from the edge.",132,null],[11,"mid_bottom","","Place the widget in the middle of the bottom edge of the current parent Widget.",132,null],[11,"mid_bottom_with_margin","","Place the widget in the middle of the bottom edge of the current parent Widget with the\ngiven margin from the edge.",132,null],[11,"mid_left","","Place the widget in the middle of the left edge of the current parent Widget.",132,null],[11,"mid_left_with_margin","","Place the widget in the middle of the left edge of the current parent Widget with the\ngiven margin from the edge.",132,null],[11,"mid_right","","Place the widget in the middle of the right edge of the current parent Widget.",132,null],[11,"mid_right_with_margin","","Place the widget in the middle of the right edge of the current parent Widget with the\ngiven margin from the edge.",132,null],[10,"depth","","The depth at which the widget should be rendered relatively to its sibling widgets.",132,null],[10,"get_depth","","Return the depth.",132,null],[8,"Sizeable","","Widgets that support different dimensions.",null,null],[10,"x_dimension","","Set the length along the x axis.",133,null],[10,"y_dimension","","Set the length along the y axis.",133,null],[10,"get_x_dimension","","The widget's length along the x axis as a Dimension.",133,null],[10,"get_y_dimension","","The widget's length along the y axis as a Dimension.",133,null],[11,"w","","Set the absolute width for the widget.",133,null],[11,"h","","Set the absolute height for the widget.",133,null],[11,"wh","","Set the dimensions for the widget.",133,null],[11,"w_h","","Set the width and height for the widget.",133,null],[11,"w_of","","Set the width as the width of the widget at the given index.",133,null],[11,"padded_w_of","","Set the width as the width of the widget at the given index padded at both ends by the\ngiven Scalar.",133,null],[11,"h_of","","Set the height as the height of the widget at the given index.",133,null],[11,"padded_h_of","","Set the height as the height of the widget at the given index padded at both ends by the\ngiven Scalar.",133,null],[11,"wh_of","","Set the dimensions as the dimensions of the widget at the given index.",133,null],[11,"padded_wh_of","","Set the dimensions as the dimensions of the widget at the given index with all four edges\npadded by the given scalar.",133,null],[11,"kid_area_w_of","","Set the width as the width of the padded area of the widget at the given index.",133,null],[11,"padded_kid_area_w_of","","Set the width as the `KidArea` width for the widget at the given index, padded at both ends\nby the given scalar.",133,null],[11,"kid_area_h_of","","Set the height as the `KidArea` height of the widget at the given index.",133,null],[11,"padded_kid_area_h_of","","Set the height as the `KidArea` height of the widget at the given index, padded at both\nends by the given scalar.",133,null],[11,"kid_area_wh_of","","Set the dimensions as the `KidArea` dimensions of the widget at the given index.",133,null],[11,"padded_kid_area_wh_of","","Set the dimensions as the `KidArea` dimensions of the widget at the given index, padded at\nall four edges by the given scalar.",133,null],[11,"get_w","","Get the absolute width of the widget as a Scalar value.",133,null],[11,"get_h","","Get the height of the widget.",133,null],[11,"get_wh","","The dimensions for the widget.",133,null],[8,"Widget","","A trait to be implemented by all **Widget** types.",null,null],[16,"State","","State to be stored within the `Ui`s widget cache.",134,null],[16,"Style","","Every widget is required to have its own associated `Style` type. This type is intended to\ncontain high-level styling information for the widget that can be *optionally specified* by\na user of the widget.",134,null],[10,"common","","Return a reference to a **CommonBuilder** struct owned by the Widget.\nThis method allows us to do a blanket impl of Positionable and Sizeable for T: Widget.",134,null],[10,"common_mut","","Return a mutable reference to a CommonBuilder struct owned by the Widget.\nThis method allows us to do a blanket impl of Positionable and Sizeable for T: Widget.",134,null],[10,"unique_kind","","Return the kind of the widget as a &'static str.",134,null],[10,"init_state","","Return the initial **State** of the Widget.",134,null],[10,"style","","Return the styling of the widget.",134,null],[10,"update","","Update our **Widget**'s unique **Widget::State** via the **State** wrapper type (the\n`state` field within the [**UpdateArgs**](./struct.UpdateArgs)).",134,null],[11,"default_x_position","","The default **Position** for the widget along the *x* axis.",134,null],[11,"default_y_position","","The default **Position** for the widget along the *y* axis.",134,null],[11,"default_x_dimension","","The default width for the **Widget**.",134,null],[11,"default_y_dimension","","The default height of the widget.",134,null],[11,"drag_area","","If the widget is draggable, implement this method and return the position an dimensions\nof the draggable space. The position should be relative to the center of the widget.",134,null],[11,"kid_area","","The area on which child widgets will be placed when using the `Place` `Position` methods.",134,null],[11,"parent","","Set the parent widget for this Widget by passing the WidgetId of the parent.",134,null],[11,"no_parent","","Specify that this widget has no parent widgets.",134,null],[11,"place_on_kid_area","","Set whether or not the **Widget** should be placed on the kid_area.",134,null],[11,"graphics_for","","Indicates that the **Widget** is used as a non-interactive graphical element for some other\nwidget.",134,null],[11,"floating","","Set whether or not the widget is floating (the default is `false`).\nA typical example of a floating widget would be a pop-up or alert window.",134,null],[11,"scroll_kids","","Set whether or not the widget's `KidArea` is scrollable (the default is false).",134,null],[11,"scroll_kids_vertically","","Set whether or not the widget's `KidArea` is scrollable (the default is false).",134,null],[11,"scroll_kids_horizontally","","Set whether or not the widget's `KidArea` is scrollable (the default is false).",134,null],[11,"and","","A builder method that "lifts" the **Widget** through the given `build` function.",134,null],[11,"and_mut","","A builder method that mutates the **Widget** with the given `mutate` function.",134,null],[11,"and_if","","A method that conditionally builds the **Widget** with the given `build` function.",134,null],[11,"and_then","","A method that optionally builds the the **Widget** with the given `build` function.",134,null],[11,"set","","Note: There should be no need to override this method.",134,null],[14,"builder_method!","","A macro for simplifying implementation of methods for the `builder pattern`.",null,null],[14,"builder_methods!","","A macro to simplify implementation of\n["builder-pattern"](https://en.wikipedia.org/wiki/Builder_pattern) methods.",null,null],[14,"widget_style!","","A macro for vastly simplifying the definition and implementation of a widget's associated\n`Style` type.",null,null],[14,"widget_ids!","","Generate a list of unique IDs given a list of identifiers.",null,null],[11,"append_transform","conrod::backend::graphics","",87,null],[11,"prepend_transform","","",87,null],[11,"trans","","",87,null],[11,"rot_rad","","",87,null],[11,"orient","","",87,null],[11,"scale","","",87,null],[11,"shear","","",87,null],[11,"partial_cmp","","",88,null],[11,"lt","","",88,null],[11,"le","","",88,null],[11,"gt","","",88,null],[11,"ge","","",88,null],[11,"fmt","","",88,null],[11,"eq","","",88,null],[11,"ne","","",88,null],[11,"clone","","",88,null],[11,"default","","",88,{"inputs":[],"output":{"name":"drawstate"}}],[11,"new_alpha","","Uses alpha blending.",88,{"inputs":[],"output":{"name":"drawstate"}}],[11,"new_clip","","Draws to stencil buffer with value 255.\nThis can be used for clipping.",88,{"inputs":[],"output":{"name":"drawstate"}}],[11,"new_inside","","Tests against stencil buffer with value 255.\nDraws inside the shape defined by stencil buffer.",88,{"inputs":[],"output":{"name":"drawstate"}}],[11,"new_outside","","Tests against stencil buffer with value 255.\nDraws outside the shape defined by stencil buffer.",88,{"inputs":[],"output":{"name":"drawstate"}}],[11,"blend","","Sets blending.",88,null],[11,"scissor","","Sets scissor `[x, y, w, h]`.",88,null],[11,"clone","","",91,null],[11,"left","","The left offset.",91,null],[11,"top","","The top offset.",91,null],[11,"width","","Gets width of character, including space to the next one.",91,null],[11,"height","","Sets height of character, including space to the next one.",91,null],[11,"clone","","",87,null],[11,"new","","Creates a new drawing context.",87,{"inputs":[],"output":{"name":"context"}}],[11,"new_viewport","","Creates a new context with absolute transform in point coordinates.",87,{"inputs":[{"name":"viewport"}],"output":{"name":"context"}}],[11,"new_abs","","Creates a new drawing context in absolute coordinates.",87,{"inputs":[{"name":"f64"},{"name":"f64"}],"output":{"name":"context"}}],[11,"view","","Moves the current transform to the view coordinate system.",87,null],[11,"reset","","Moves the current transform to the default coordinate system.",87,null],[11,"store_view","","Stores the current transform as new view.",87,null],[11,"get_view_size","","Computes the current view size.",87,null],[11,"frame_rgba","conrod","Set the color of the widget's frame with rgba values.",130,null],[11,"frame_rgb","","Set the color of the widget's frame with rgb values.",130,null],[11,"frame_hsla","","Set the color of the widget's frame with hsla values.",130,null],[11,"frame_hsl","","Set the color of the widget's frame with hsl values.",130,null],[11,"to_widget_id","conrod::graph","",135,null],[11,"to_node_index","","",135,null],[11,"from_idx","","",135,{"inputs":[{"name":"i"},{"name":"indexmap"}],"output":{"name":"option"}}],[11,"label_rgba","conrod","Set the color of the widget's label from rgba values.",131,null],[11,"label_rgb","","Set the color of the widget's label from rgb values.",131,null],[11,"label_hsla","","Set the color of the widget's label from hsla values.",131,null],[11,"label_hsl","","Set the color of the widget's label from hsl values.",131,null],[11,"small_font","","Set a "small" font size for the widget's label.",131,null],[11,"medium_font","","Set a "medium" font size for the widget's label.",131,null],[11,"large_font","","Set a "large" font size for the widget's label.",131,null],[11,"x","","Build with the given **Absolute** **Position** along the *x* axis.",132,null],[11,"y","","Build with the given **Absolute** **Position** along the *y* axis.",132,null],[11,"xy","","Set the **Position** with some Point.",132,null],[11,"x_y","","Set the **Position** with *x* *y* coordinates.",132,null],[11,"x_relative","","Set the **Position** along the *x* axis **Relative** to the previous widget.",132,null],[11,"y_relative","","Set the **Position** along the *y* axis **Relative** to the previous widget.",132,null],[11,"xy_relative","","Set the **Position** **Relative** to the previous widget.",132,null],[11,"x_y_relative","","Set the **Position** **Relative** to the previous widget.",132,null],[11,"x_relative_to","","Set the position relative to the widget with the given widget::Index.",132,null],[11,"y_relative_to","","Set the position relative to the widget with the given widget::Index.",132,null],[11,"xy_relative_to","","Set the position relative to the widget with the given widget::Index.",132,null],[11,"x_y_relative_to","","Set the position relative to the widget with the given widget::Index.",132,null],[11,"x_direction","","Build with the **Position** along the *x* axis as some distance from another widget.",132,null],[11,"y_direction","","Build with the **Position** along the *y* axis as some distance from another widget.",132,null],[11,"down","","Build with the **Position** as some distance below another widget.",132,null],[11,"up","","Build with the **Position** as some distance above another widget.",132,null],[11,"left","","Build with the **Position** as some distance to the left of another widget.",132,null],[11,"right","","Build with the **Position** as some distance to the right of another widget.",132,null],[11,"x_direction_from","","Build with the **Position** along the *x* axis as some distance from the given widget.",132,null],[11,"y_direction_from","","Build with the **Position** along the *y* axis as some distance from the given widget.",132,null],[11,"down_from","","Build with the **Position** as some distance below the given widget.",132,null],[11,"up_from","","Build with the **Position** as some distance above the given widget.",132,null],[11,"left_from","","Build with the **Position** as some distance to the left of the given widget.",132,null],[11,"right_from","","Build with the **Position** as some distance to the right of the given widget.",132,null],[11,"x_align","","Align the **Position** of the widget along the *x* axis.",132,null],[11,"y_align","","Align the **Position** of the widget along the *y* axis.",132,null],[11,"align_left","","Align the position to the left (only effective for Up or Down `Direction`s).",132,null],[11,"align_middle_x","","Align the position to the middle (only effective for Up or Down `Direction`s).",132,null],[11,"align_right","","Align the position to the right (only effective for Up or Down `Direction`s).",132,null],[11,"align_top","","Align the position to the top (only effective for Left or Right `Direction`s).",132,null],[11,"align_middle_y","","Align the position to the middle (only effective for Left or Right `Direction`s).",132,null],[11,"align_bottom","","Align the position to the bottom (only effective for Left or Right `Direction`s).",132,null],[11,"x_align_to","","Align the **Position** of the widget with the given widget along the *x* axis.",132,null],[11,"y_align_to","","Align the **Position** of the widget with the given widget along the *y* axis.",132,null],[11,"align_left_of","","Align the position to the left (only effective for Up or Down `Direction`s).",132,null],[11,"align_middle_x_of","","Align the position to the middle (only effective for Up or Down `Direction`s).",132,null],[11,"align_right_of","","Align the position to the right (only effective for Up or Down `Direction`s).",132,null],[11,"align_top_of","","Align the position to the top (only effective for Left or Right `Direction`s).",132,null],[11,"align_middle_y_of","","Align the position to the middle (only effective for Left or Right `Direction`s).",132,null],[11,"align_bottom_of","","Align the position to the bottom (only effective for Left or Right `Direction`s).",132,null],[11,"x_place_on","","Place the widget at some position on the `other` Widget along the *x* axis.",132,null],[11,"y_place_on","","Place the widget at some position on the `other` Widget along the *y* axis.",132,null],[11,"middle_of","","Place the widget in the middle of the given Widget.",132,null],[11,"top_left_of","","Place the widget in the top left corner of the given Widget.",132,null],[11,"top_left_with_margin_on","","Place the widget in the top left corner of the given Widget with the given margin between\nboth edges.",132,null],[11,"top_left_with_margins_on","","Place the widget in the top left corner of the given Widget with the given margins between\neach respective edge.",132,null],[11,"top_right_of","","Place the widget in the top right corner of the given Widget.",132,null],[11,"top_right_with_margin_on","","Place the widget in the top right corner of the given Widget with the given margin\nbetween both edges.",132,null],[11,"top_right_with_margins_on","","Place the widget in the top right corner of the given Widget with the given margins between\neach respective edge.",132,null],[11,"bottom_left_of","","Place the widget in the bottom left corner of the given Widget.",132,null],[11,"bottom_left_with_margin_on","","Place the widget in the bottom left corner of the given Widget with the given margin\nbetween both edges.",132,null],[11,"bottom_left_with_margins_on","","Place the widget in the bottom left corner of the given Widget with the given margins\nbetween each respective edge.",132,null],[11,"bottom_right_of","","Place the widget in the bottom right corner of the given Widget.",132,null],[11,"bottom_right_with_margin_on","","Place the widget in the bottom right corner of the given Widget with the given margin\nbetween both edges.",132,null],[11,"bottom_right_with_margins_on","","Place the widget in the bottom right corner of the given Widget with the given margins\nbetween each respective edge.",132,null],[11,"mid_top_of","","Place the widget in the middle of the top edge of the given Widget.",132,null],[11,"mid_top_with_margin_on","","Place the widget in the middle of the top edge of the given Widget with the given margin\nbetween the edges.",132,null],[11,"mid_bottom_of","","Place the widget in the middle of the bottom edge of the given Widget.",132,null],[11,"mid_bottom_with_margin_on","","Place the widget in the middle of the bottom edge of the given Widget with the given margin\nbetween the edges.",132,null],[11,"mid_left_of","","Place the widget in the middle of the left edge of the given Widget.",132,null],[11,"mid_left_with_margin_on","","Place the widget in the middle of the left edge of the given Widget with the given margin\nbetween the edges.",132,null],[11,"mid_right_of","","Place the widget in the middle of the right edge of the given Widget.",132,null],[11,"mid_right_with_margin_on","","Place the widget in the middle of the right edge of the given Widget with the given margin\nbetween the edges.",132,null],[11,"x_place","","Place the widget at some position on the Widget along the *x* axis.",132,null],[11,"y_place","","Place the widget at some position on the Widget along the *y* axis.",132,null],[11,"middle","","Place the widget in the middle of the current parent Widget.",132,null],[11,"top_left","","Place the widget in the top left corner of the current parent Widget.",132,null],[11,"top_left_with_margin","","Place the widget in the top left corner of the current parent Widget with the given margin\nbetween both edges.",132,null],[11,"top_left_with_margins","","Place the widget in the top left corner of the current parent Widget with the given margins\nbetween each respective edge.",132,null],[11,"top_right","","Place the widget in the top right corner of the current parent Widget.",132,null],[11,"top_right_with_margin","","Place the widget in the top right corner of the current parent Widget with the given margin\nbetween both edges.",132,null],[11,"top_right_with_margins","","Place the widget in the top right corner of the current parent Widget with the given margins\nbetween each respective edge.",132,null],[11,"bottom_left","","Place the widget in the bottom left corner of the current parent Widget.",132,null],[11,"bottom_left_with_margin","","Place the widget in the bottom left corner of the current parent Widget with the given\nmargin between both edges.",132,null],[11,"bottom_left_with_margins","","Place the widget in the bottom left corner of the current parent Widget with the given\nmargins between each respective edge.",132,null],[11,"bottom_right","","Place the widget in the bottom right corner of the current parent Widget.",132,null],[11,"bottom_right_with_margin","","Place the widget in the bottom right corner of the current parent Widget with the given\nmargin between both edges.",132,null],[11,"bottom_right_with_margins","","Place the widget in the bottom right corner of the current parent Widget with the given\nmargins between each respective edge.",132,null],[11,"mid_top","","Place the widget in the middle of the top edge of the current parent Widget.",132,null],[11,"mid_top_with_margin","","Place the widget in the middle of the top edge of the current parent Widget with the given\nmargin from the edge.",132,null],[11,"mid_bottom","","Place the widget in the middle of the bottom edge of the current parent Widget.",132,null],[11,"mid_bottom_with_margin","","Place the widget in the middle of the bottom edge of the current parent Widget with the\ngiven margin from the edge.",132,null],[11,"mid_left","","Place the widget in the middle of the left edge of the current parent Widget.",132,null],[11,"mid_left_with_margin","","Place the widget in the middle of the left edge of the current parent Widget with the\ngiven margin from the edge.",132,null],[11,"mid_right","","Place the widget in the middle of the right edge of the current parent Widget.",132,null],[11,"mid_right_with_margin","","Place the widget in the middle of the right edge of the current parent Widget with the\ngiven margin from the edge.",132,null],[11,"w","","Set the absolute width for the widget.",133,null],[11,"h","","Set the absolute height for the widget.",133,null],[11,"wh","","Set the dimensions for the widget.",133,null],[11,"w_h","","Set the width and height for the widget.",133,null],[11,"w_of","","Set the width as the width of the widget at the given index.",133,null],[11,"padded_w_of","","Set the width as the width of the widget at the given index padded at both ends by the\ngiven Scalar.",133,null],[11,"h_of","","Set the height as the height of the widget at the given index.",133,null],[11,"padded_h_of","","Set the height as the height of the widget at the given index padded at both ends by the\ngiven Scalar.",133,null],[11,"wh_of","","Set the dimensions as the dimensions of the widget at the given index.",133,null],[11,"padded_wh_of","","Set the dimensions as the dimensions of the widget at the given index with all four edges\npadded by the given scalar.",133,null],[11,"kid_area_w_of","","Set the width as the width of the padded area of the widget at the given index.",133,null],[11,"padded_kid_area_w_of","","Set the width as the `KidArea` width for the widget at the given index, padded at both ends\nby the given scalar.",133,null],[11,"kid_area_h_of","","Set the height as the `KidArea` height of the widget at the given index.",133,null],[11,"padded_kid_area_h_of","","Set the height as the `KidArea` height of the widget at the given index, padded at both\nends by the given scalar.",133,null],[11,"kid_area_wh_of","","Set the dimensions as the `KidArea` dimensions of the widget at the given index.",133,null],[11,"padded_kid_area_wh_of","","Set the dimensions as the `KidArea` dimensions of the widget at the given index, padded at\nall four edges by the given scalar.",133,null],[11,"get_w","","Get the absolute width of the widget as a Scalar value.",133,null],[11,"get_h","","Get the height of the widget.",133,null],[11,"get_wh","","The dimensions for the widget.",133,null],[11,"get_curve","","Return the bezier curve depth (-1. to 1.) for the next interpolation.",129,null],[11,"set_curve","","Set the bezier curve depth (-1. to 1.) for the next interpolation.",129,null],[11,"get_x","","Return the X value.",136,null],[11,"get_y","","Return the Y value.",136,null],[11,"set_x","","Return the X value.",136,null],[11,"set_y","","Return the Y value.",136,null],[11,"new","","Create a new Envelope Point.",136,{"inputs":[{"name":"scalar"},{"name":"scalar"}],"output":{"name":"point"}}],[11,"default_x_position","","The default **Position** for the widget along the *x* axis.",134,null],[11,"default_y_position","","The default **Position** for the widget along the *y* axis.",134,null],[11,"default_x_dimension","","The default width for the **Widget**.",134,null],[11,"default_y_dimension","","The default height of the widget.",134,null],[11,"drag_area","","If the widget is draggable, implement this method and return the position an dimensions\nof the draggable space. The position should be relative to the center of the widget.",134,null],[11,"kid_area","","The area on which child widgets will be placed when using the `Place` `Position` methods.",134,null],[11,"parent","","Set the parent widget for this Widget by passing the WidgetId of the parent.",134,null],[11,"no_parent","","Specify that this widget has no parent widgets.",134,null],[11,"place_on_kid_area","","Set whether or not the **Widget** should be placed on the kid_area.",134,null],[11,"graphics_for","","Indicates that the **Widget** is used as a non-interactive graphical element for some other\nwidget.",134,null],[11,"floating","","Set whether or not the widget is floating (the default is `false`).\nA typical example of a floating widget would be a pop-up or alert window.",134,null],[11,"scroll_kids","","Set whether or not the widget's `KidArea` is scrollable (the default is false).",134,null],[11,"scroll_kids_vertically","","Set whether or not the widget's `KidArea` is scrollable (the default is false).",134,null],[11,"scroll_kids_horizontally","","Set whether or not the widget's `KidArea` is scrollable (the default is false).",134,null],[11,"and","","A builder method that "lifts" the **Widget** through the given `build` function.",134,null],[11,"and_mut","","A builder method that mutates the **Widget** with the given `mutate` function.",134,null],[11,"and_if","","A method that conditionally builds the **Widget** with the given `build` function.",134,null],[11,"and_then","","A method that optionally builds the the **Widget** with the given `build` function.",134,null],[11,"set","","Note: There should be no need to override this method.",134,null]],"paths":[[8,"CharacterCache"],[8,"Graphics"],[3,"Line"],[3,"Image"],[3,"PointPath"],[3,"FramedRectangle"],[3,"Polygon"],[3,"Oval"],[3,"Rectangle"],[3,"Text"],[3,"Button"],[3,"Canvas"],[3,"EnvelopeEditor"],[3,"Slider"],[3,"TextBox"],[3,"TitleBar"],[3,"Toggle"],[3,"XYPad"],[3,"LineStyle"],[3,"ImageStyle"],[3,"FramedRectangleStyle"],[3,"TextStyle"],[3,"ButtonStyle"],[3,"CanvasStyle"],[3,"DropDownListStyle"],[3,"EnvelopeEditorStyle"],[3,"NumberDialerStyle"],[3,"SliderStyle"],[3,"TabsStyle"],[3,"TextBoxStyle"],[3,"TitleBarStyle"],[3,"ToggleStyle"],[3,"XYPadStyle"],[3,"Mouse"],[3,"MouseButtonState"],[3,"MouseScroll"],[3,"Padding"],[3,"Range"],[3,"Rect"],[3,"Ui"],[3,"UserInput"],[3,"CommonBuilder"],[3,"CommonState"],[3,"CommonStyle"],[3,"Floating"],[3,"UpdateArgs"],[3,"KidArea"],[3,"KidAreaArgs"],[3,"WidgetId"],[4,"TextWrap"],[4,"ShapeStyle"],[4,"Framing"],[4,"MouseButtonPosition"],[4,"Align"],[4,"Axis"],[4,"Corner"],[4,"Direction"],[4,"Dimension"],[4,"Edge"],[4,"Place"],[4,"Position"],[4,"MaybeParent"],[4,"WidgetIndex"],[4,"State"],[3,"State"],[3,"Style"],[4,"Interaction"],[4,"Elem"],[8,"Axis"],[3,"Scroll"],[4,"X"],[4,"Y"],[3,"MouseDrag"],[3,"MouseClick"],[3,"Scroll"],[4,"UiEvent"],[3,"InputState"],[3,"ButtonMap"],[3,"WidgetInput"],[3,"WidgetInputEventIterator"],[3,"GlobalInput"],[8,"InputProvider"],[3,"TextJustEntered"],[3,"KeysJustReleased"],[3,"KeysJustPressed"],[3,"MouseButtonsJustPressed"],[3,"MouseButtonsJustReleased"],[3,"Context"],[3,"DrawState"],[8,"ImageSize"],[8,"Transformed"],[3,"Character"],[8,"Backend"],[3,"Background"],[3,"Hsla"],[3,"Rgba"],[4,"Color"],[4,"Gradient"],[8,"Colorable"],[4,"LineBreak"],[3,"CharWidths"],[3,"CharXs"],[3,"Widths"],[3,"LineBreaksBy"],[3,"GlyphCache"],[3,"Lines"],[8,"Walker"],[3,"UniqueWidgetState"],[3,"Container"],[4,"Node"],[4,"Edge"],[3,"DepthOrder"],[4,"Visitable"],[8,"GraphIndex"],[3,"Graph"],[6,"Children"],[6,"Parents"],[3,"Theme"],[3,"WidgetDefault"],[3,"UniqueDefault"],[3,"UiCell"],[4,"IterDiff"],[3,"Circle"],[3,"DropDownList"],[3,"WidgetMatrix"],[3,"NumberDialer"],[3,"Tabs"],[3,"IndexSlot"],[3,"WidgetState"],[8,"EnvelopePoint"],[8,"Frameable"],[8,"Labelable"],[8,"Positionable"],[8,"Sizeable"],[8,"Widget"],[6,"NodeIndex"],[6,"Point"]]}; initSearch(searchIndex);