var searchIndex = {}; searchIndex["conrod"] = {"doc":"","items":[[0,"color","conrod","",null,null],[4,"Color","conrod::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.",0,null],[13,"Hsla","","Hue, Saturation, Lightness, Alpha - all valuess scales represented between 0.0 and 1.0.",0,null],[6,"Colour","","",null,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"}}],[3,"Hsla","","The parts of HSL along with an alpha for transparency.",null,null],[12,"0","","",1,null],[12,"1","","",1,null],[12,"2","","",1,null],[12,"3","","",1,null],[3,"Rgba","","The parts of RGB along with an alpha for transparency.",null,null],[12,"0","","",2,null],[12,"1","","",2,null],[12,"2","","",2,null],[12,"3","","",2,null],[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],[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.",3,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.",3,null],[5,"linear","","Create a linear gradient.",null,null],[5,"radial","","Create a radial gradient.",null,null],[5,"light_red","","Built-in colors.",null,{"inputs":[],"output":{"name":"color"}}],[5,"red","","Scarlet Red - Regular - #CC0000",null,{"inputs":[],"output":{"name":"color"}}],[5,"dark_red","","Scarlet Red - Dark - #A30000",null,{"inputs":[],"output":{"name":"color"}}],[5,"light_orange","","Orange - Light - #FCAF3E",null,{"inputs":[],"output":{"name":"color"}}],[5,"orange","","Orange - Regular - #F57900",null,{"inputs":[],"output":{"name":"color"}}],[5,"dark_orange","","Orange - Dark - #CE5C00",null,{"inputs":[],"output":{"name":"color"}}],[5,"light_yellow","","Butter - Light - #FCE94F",null,{"inputs":[],"output":{"name":"color"}}],[5,"yellow","","Butter - Regular - #EDD400",null,{"inputs":[],"output":{"name":"color"}}],[5,"dark_yellow","","Butter - Dark - #C4A000",null,{"inputs":[],"output":{"name":"color"}}],[5,"light_green","","Chameleon - Light - #8AE234",null,{"inputs":[],"output":{"name":"color"}}],[5,"green","","Chameleon - Regular - #73D216",null,{"inputs":[],"output":{"name":"color"}}],[5,"dark_green","","Chameleon - Dark - #4E9A06",null,{"inputs":[],"output":{"name":"color"}}],[5,"light_blue","","Sky Blue - Light - #729FCF",null,{"inputs":[],"output":{"name":"color"}}],[5,"blue","","Sky Blue - Regular - #3465A4",null,{"inputs":[],"output":{"name":"color"}}],[5,"dark_blue","","Sky Blue - Dark - #204A87",null,{"inputs":[],"output":{"name":"color"}}],[5,"light_purple","","Plum - Light - #AD7FA8",null,{"inputs":[],"output":{"name":"color"}}],[5,"purple","","Plum - Regular - #75507B",null,{"inputs":[],"output":{"name":"color"}}],[5,"dark_purple","","Plum - Dark - #5C3566",null,{"inputs":[],"output":{"name":"color"}}],[5,"light_brown","","Chocolate - Light - #E9B96E",null,{"inputs":[],"output":{"name":"color"}}],[5,"brown","","Chocolate - Regular - #C17D11",null,{"inputs":[],"output":{"name":"color"}}],[5,"dark_brown","","Chocolate - Dark - #8F5902",null,{"inputs":[],"output":{"name":"color"}}],[5,"black","","Straight Black.",null,{"inputs":[],"output":{"name":"color"}}],[5,"white","","Straight White.",null,{"inputs":[],"output":{"name":"color"}}],[5,"light_gray","","Alluminium - Light",null,{"inputs":[],"output":{"name":"color"}}],[5,"gray","","Alluminium - Regular",null,{"inputs":[],"output":{"name":"color"}}],[5,"dark_gray","","Alluminium - Dark",null,{"inputs":[],"output":{"name":"color"}}],[5,"light_grey","","Aluminium - Light - #EEEEEC",null,{"inputs":[],"output":{"name":"color"}}],[5,"grey","","Aluminium - Regular - #D3D7CF",null,{"inputs":[],"output":{"name":"color"}}],[5,"dark_grey","","Aluminium - Dark - #BABDB6",null,{"inputs":[],"output":{"name":"color"}}],[5,"light_charcoal","","Charcoal - Light - #888A85",null,{"inputs":[],"output":{"name":"color"}}],[5,"charcoal","","Charcoal - Regular - #555753",null,{"inputs":[],"output":{"name":"color"}}],[5,"dark_charcoal","","Charcoal - Dark - #2E3436",null,{"inputs":[],"output":{"name":"color"}}],[8,"Colorable","","Types that can be colored.",null,null],[10,"color","","Set the color of the widget.",4,null],[11,"rgba","","Set the color of the widget from rgba values.",4,null],[11,"rgb","","Set the color of the widget from rgb values.",4,null],[11,"hsla","","Set the color of the widget from hsla values.",4,null],[11,"hsl","","Set the color of the widget from hsl values.",4,null],[3,"Element","conrod","Graphical elements that snap together to build complex widgets and layouts.",null,null],[12,"props","","",5,null],[12,"element","","",5,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.",0,null],[13,"Hsla","","Hue, Saturation, Lightness, Alpha - all valuess scales represented between 0.0 and 1.0.",0,null],[8,"Colorable","","Types that can be colored.",null,null],[10,"color","","Set the color of the widget.",4,null],[11,"rgba","","Set the color of the widget from rgba values.",4,null],[11,"rgb","","Set the color of the widget from rgb values.",4,null],[11,"hsla","","Set the color of the widget from hsla values.",4,null],[11,"hsl","","Set the color of the widget from hsl values.",4,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.",6,null],[10,"character","","Get reference to character.",6,null],[11,"width","","Return the width for some given text.",6,null],[6,"Scalar","","",null,null],[4,"JsonIoError","","Represents the different kinds of errors returned by Librar.",null,null],[13,"IO","","Some std::io Error.",7,null],[13,"JsonParserError","","An error returned by the JSON parser.",7,null],[13,"JsonDecoderError","","An error returned by the JSON decoder.",7,null],[13,"JsonEncoderError","","An error returned by the JSON encoder.",7,null],[3,"Button","","A pressable button widget whose reaction is triggered upon release.",null,null],[3,"Canvas","","A widget designed to be a parent for other widgets.",null,null],[12,"style","","The builder data related to the style of the Canvas.",8,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.\nUseful for things such as oscillator/automation envelopes or any value series represented\nperiodically.",null,null],[3,"Label","","Displays some given text centred within a rectangle.",null,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. The reaction is triggered when\nthe value is updated or if the mouse button is released while the cursor is above the widget.",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],[3,"Split","","A type of Canvas for flexibly designing and guiding widget layout as splits of a window.",null,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],[3,"Toggle","","A pressable widget for toggling the state of a bool. Like the button widget, it's reaction is\ntriggered upon release and will return the new bool state. Note that the toggle will not\nmutate the bool for you, you should do this yourself within the react closure.",null,null],[3,"XYPad","","Used for displaying and controlling a 2D point on a cartesian plane within a given range.\nIts reaction is triggered when the value is updated or if the mouse button is released while\nthe cursor is above the rectangle.",null,null],[3,"ButtonStyle","","Styling for the Button, necessary for constructing its renderable Element.",null,null],[12,"maybe_color","","Color of the Button's pressable area.",9,null],[12,"maybe_frame","","Width of the frame surrounding the button",9,null],[12,"maybe_frame_color","","The color of the frame.",9,null],[12,"maybe_label_color","","The color of the Button's label.",9,null],[12,"maybe_label_font_size","","The font size of the Button's label.",9,null],[3,"CanvasStyle","","Describes the style of a Canvas Floating.",null,null],[12,"maybe_color","","Color of the canvas",10,null],[12,"maybe_frame","","The width of the frame surrounding the canvas.",10,null],[12,"maybe_frame_color","","The color of the canvas' frame.",10,null],[12,"maybe_title_bar_font_size","","The font size of the canvas' title bar label.",10,null],[12,"maybe_title_bar_label_align","","The alignment of the canvas' title bar label.",10,null],[12,"maybe_title_bar_label_color","","The color of the title bar's label.",10,null],[12,"padding","","Padding of the kid area.",10,null],[12,"margin","","Margin for the kid area.",10,null],[3,"DropDownListStyle","","Styling for the DropDownList, necessary for constructing its renderable Element.",null,null],[12,"maybe_color","","Color of the widget.",11,null],[12,"maybe_frame","","Width of the widget's frame.",11,null],[12,"maybe_frame_color","","Color of the widget's frame.",11,null],[12,"maybe_label_color","","Color of the item labels.",11,null],[12,"maybe_label_font_size","","Font size for the item labels.",11,null],[12,"maybe_max_visible_height","","Maximum height of the Open menu before the scrollbar appears.",11,null],[3,"EnvelopeEditorStyle","","Styling for the EnvelopeEditor, necessary for constructing its renderable Element.",null,null],[12,"maybe_color","","",12,null],[12,"maybe_frame","","",12,null],[12,"maybe_frame_color","","",12,null],[12,"maybe_label_color","","",12,null],[12,"maybe_label_font_size","","",12,null],[12,"maybe_value_font_size","","",12,null],[12,"maybe_point_radius","","",12,null],[12,"maybe_line_width","","",12,null],[3,"LabelStyle","","The styling for a Label's renderable Element.",null,null],[3,"NumberDialerStyle","","Styling for the NumberDialer, necessary for constructing its renderable Element.",null,null],[12,"maybe_color","","",13,null],[12,"maybe_frame","","",13,null],[12,"maybe_frame_color","","",13,null],[12,"maybe_label_color","","",13,null],[12,"maybe_label_font_size","","",13,null],[3,"SliderStyle","","Styling for the Slider, necessary for constructing its renderable Element.",null,null],[12,"maybe_color","","",14,null],[12,"maybe_frame","","",14,null],[12,"maybe_frame_color","","",14,null],[12,"maybe_label_color","","",14,null],[12,"maybe_label_font_size","","",14,null],[3,"TabsStyle","","The styling for Canvas Tabs.",null,null],[12,"maybe_layout","","The direction in which the tabs will be laid out.",15,null],[12,"maybe_bar_width","","The width of the tab bar.\nFor horizontally laid out tabs, this is the height of the bar.\nFor vertically laid out tabs, this is the width of the bar.",15,null],[12,"maybe_label_color","","The color of the tabs' labels.",15,null],[12,"maybe_label_font_size","","The font size for the tabs' labels.",15,null],[12,"canvas","","Styling for each of the canvasses passed to the Canvas.",15,null],[3,"TextBoxStyle","","Styling for the TextBox, necessary for constructing its renderable Element.",null,null],[12,"maybe_color","","",16,null],[12,"maybe_frame","","",16,null],[12,"maybe_frame_color","","",16,null],[12,"maybe_font_size","","",16,null],[3,"ToggleStyle","","Styling for the Toggle, necessary for constructing its renderable Element.",null,null],[12,"maybe_color","","",17,null],[12,"maybe_frame","","",17,null],[12,"maybe_frame_color","","",17,null],[12,"maybe_label_color","","",17,null],[12,"maybe_label_font_size","","",17,null],[3,"XYPadStyle","","Styling for the XYPad, necessary for constructing its renderable Element.",null,null],[12,"maybe_color","","",18,null],[12,"maybe_frame","","",18,null],[12,"maybe_frame_color","","",18,null],[12,"maybe_label_color","","",18,null],[12,"maybe_label_font_size","","",18,null],[12,"maybe_value_font_size","","",18,null],[12,"maybe_line_width","","",18,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.",19,null],[12,"left","","Left mouse button state.",19,null],[12,"middle","","Middle mouse button state.",19,null],[12,"right","","Right mouse button state.",19,null],[12,"unknown","","Unknown button state.",19,null],[12,"scroll","","Amount that the mouse has scrolled since the last render.",19,null],[3,"MouseScroll","","The amount of scrolling that has occurred since the last render event.",null,null],[12,"x","","Scrolling across the x axis.",20,null],[12,"y","","Scrolling across the y axis.",20,null],[3,"HorizontalAlign","","The horizontal alignment of a widget positioned relatively to another UI element on the y axis.",null,null],[12,"0","","",21,null],[12,"1","","",21,null],[3,"Margin","","The distance between the dimension bound and the outer edge of the frame.",null,null],[12,"top","","Margin between the y max parent Widget and the outer edge of its frame.",22,null],[12,"bottom","","Margin between the y min parent Widget and the outer edge of its frame.",22,null],[12,"left","","Margin between the x min parent Widget and the outer edge of its frame.",22,null],[12,"right","","Margin between the x max parent Widget and the outer edge of its frame.",22,null],[3,"Padding","","The distance between the inner edge of a frame and the outer edge of the inner content.",null,null],[12,"top","","Padding between the top of a Widget and the top of a parent Widget.",23,null],[12,"bottom","","Padding between the bottom of a Widget and the bottom of a parent Widget.",23,null],[12,"left","","Margin between the left of a Widget and the left of a parent Widget.",23,null],[12,"right","","Margin between the right of a Widget and the right of a parent Widget.",23,null],[3,"VerticalAlign","","The vertical alignment of a widget positioned relatively to another UI element on the x axis.",null,null],[12,"0","","",24,null],[12,"1","","",24,null],[3,"GlyphCache","","A wrapper over some CharacterCache, exposing it's functionality via a RefCell.",null,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 WidgetId.\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.",25,null],[12,"glyph_cache","","Cache for character textures, used for label width calculation and glyph rendering.",25,null],[12,"win_w","","Window width.",25,null],[12,"win_h","","Window height.",25,null],[3,"UserInput","","A wrapper over the current user input state.",null,null],[12,"maybe_mouse","","Mouse state if it is available.",26,null],[12,"pressed_keys","","Keys pressed since the last cycle.",26,null],[12,"released_keys","","Keys released since the last cycle.",26,null],[12,"entered_text","","Text entered since the last cycle.",26,null],[12,"window_dim","","Current dimensions of the window.",26,null],[3,"CommonBuilder","","A struct containing builder data common to all Widget types.\nThis type allows us to do a blanket impl of Positionable and Sizeable for T: Widget.",null,null],[12,"maybe_width","","The width of a Widget.",27,null],[12,"maybe_height","","The height of a Widget.",27,null],[12,"maybe_position","","The position of a Widget.",27,null],[12,"maybe_h_align","","The horizontal alignment of a Widget.",27,null],[12,"maybe_v_align","","The vertical alignment of a Widget.",27,null],[12,"maybe_depth","","The rendering Depth of the Widget.",27,null],[12,"maybe_parent_id","","The parent widget of the Widget.",27,null],[12,"is_floating","","Whether or not the Widget is a "floating" Widget.",27,null],[12,"scrolling","","Builder data for scrollable widgets.",27,null],[3,"DrawArgs","","Arguments for the `Widget::draw` method in a struct to simplify the method signature.",null,null],[12,"state","","The current state of the Widget.",28,null],[12,"style","","The current style of the Widget.",28,null],[12,"theme","","The active `Theme` within the `Ui`.",28,null],[12,"glyph_cache","","The `Ui`'s GlyphCache (for determining text width, etc).",28,null],[3,"UpdateArgs","","Arguments for the `Widget::update` method in a struct to simplify the method signature.",null,null],[12,"prev_state","","The Widget's state that was last returned by the update method.",29,null],[12,"xy","","The absolute (centered origin) screen position of the widget.",29,null],[12,"dim","","The dimensions of the Widget.",29,null],[12,"input","","The current state of user input (i.e. mouse, keys pressed, etc).",29,null],[12,"style","","The Widget's current Style.",29,null],[12,"theme","","The active `Theme` within the `Ui`.",29,null],[12,"glyph_cache","","The `Ui`'s GlyphCache (for determining text width, etc).",29,null],[3,"WidgetState","","Represents the unique cached state of a widget.",null,null],[12,"state","","The state of the Widget.",30,null],[12,"dim","","The rectangular dimensions of the Widget.",30,null],[12,"xy","","The position of the Widget given as [x, y] coordinates.",30,null],[12,"depth","","The rendering depth for the Widget (the default is 0.0).",30,null],[12,"drag_state","","The current state of the dragged widget, if it is draggable.",30,null],[12,"maybe_floating","","Floating state for the widget if it is floating.",30,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.",31,null],[13,"NoFrame","","No frame.",31,null],[4,"MouseButtonState","","Represents the current state of a mouse button.",null,null],[13,"Up","","The mouse is currently up.",32,null],[13,"Down","","The mouse is currently down (pressed).",32,null],[4,"Corner","","A corner of a rectangle.",null,null],[13,"TopLeft","","The top left quarter of a rectangle's area.",33,null],[13,"TopRight","","The top right quarter of a rectangle's area.",33,null],[13,"BottomLeft","","The bottom left quarter of a rectangle's area.",33,null],[13,"BottomRight","","The bottom right quarter of a rectangle's area.",33,null],[4,"Direction","","Directionally positioned, relative to another widget.",null,null],[13,"Up","","Positioned above.",34,null],[13,"Down","","Positioned below.",34,null],[13,"Left","","Positioned to the left.",34,null],[13,"Right","","Positioned to the right.",34,null],[4,"Horizontal","","The orientation of a HorizontalAlign.",null,null],[13,"Left","","Align the left edges of the widgets.",35,null],[13,"Middle","","Align the centres of the widgets' closest parallel edges.",35,null],[13,"Right","","Align the right edges of the relative widgets.",35,null],[4,"Place","","Place the widget at a position on some other widget.",null,null],[13,"Middle","","Centre of the Widget.",36,null],[13,"TopLeft","","Top left of the Widget - pad_top + pad_left.",36,null],[13,"TopRight","","Top right of the Widget - pad_top - pad_right.",36,null],[13,"BottomLeft","","Bottom left of the Widget + pad_bottom + pad_left.",36,null],[13,"BottomRight","","Bottom right of the Widget + pad_bottom - pad_right.",36,null],[13,"MidTop","","Top centre of the Widget - pad_top.",36,null],[13,"MidBottom","","Bottom centre of the Widget + pad_bottom.",36,null],[13,"MidLeft","","Left centre of the Widget + pad_left.",36,null],[13,"MidRight","","Right centre of the Widget - pad_right.",36,null],[4,"Position","","A cached widget's position for rendering.",null,null],[13,"Absolute","","A specific position.",37,null],[13,"Relative","","A position relative to some other Widget.",37,null],[13,"Direction","","A direction relative to some other Widget.",37,null],[13,"Place","","A position at a place on some other Widget.",37,null],[4,"Vertical","","The orientation of a VerticalAlign.",null,null],[13,"Top","","Align the top edges of the widgets.",38,null],[13,"Middle","","Align the centres of the widgets' closest parallel edges.",38,null],[13,"Bottom","","Align the bottom edges of the widgets.",38,null],[5,"align_left_of","","The x offset required to align an element with `width` to the left of a target element.",null,{"inputs":[{"name":"scalar"},{"name":"scalar"}],"output":{"name":"scalar"}}],[5,"align_right_of","","The x offset required to align an element with `width` to the right of a target element.",null,{"inputs":[{"name":"scalar"},{"name":"scalar"}],"output":{"name":"scalar"}}],[5,"align_bottom_of","","The y offset required to align an element with `height` to the bottom of a target element.",null,{"inputs":[{"name":"scalar"},{"name":"scalar"}],"output":{"name":"scalar"}}],[5,"align_top_of","","The y offset required to align an element with `height` to the top of a target element.",null,{"inputs":[{"name":"scalar"},{"name":"scalar"}],"output":{"name":"scalar"}}],[5,"middle_of","","The position of a rect with `dim` Dimensions at the middle of the `target` Dimensions.",null,{"inputs":[{"name":"dimensions"},{"name":"dimensions"}],"output":{"name":"point"}}],[5,"top_left_of","","The position of a rect with `dim` Dimensions at the top left of the `target` Dimensions.",null,{"inputs":[{"name":"dimensions"},{"name":"dimensions"}],"output":{"name":"point"}}],[5,"top_right_of","","The position of a rect with `dim` Dimensions at the top right of the `target` Dimensions.",null,{"inputs":[{"name":"dimensions"},{"name":"dimensions"}],"output":{"name":"point"}}],[5,"bottom_left_of","","The position of a rect with `dim` Dimensions at the bottom left of the `target` Dimensions.",null,{"inputs":[{"name":"dimensions"},{"name":"dimensions"}],"output":{"name":"point"}}],[5,"bottom_right_of","","The position of a rect with `dim` Dimensions at the bottom right of the `target` Dimensions.",null,{"inputs":[{"name":"dimensions"},{"name":"dimensions"}],"output":{"name":"point"}}],[5,"mid_top_of","","The position of a rect with `dim` Dimensions at the middle of the inside of the top edge of\nthe `target` Dimensions.",null,{"inputs":[{"name":"dimensions"},{"name":"dimensions"}],"output":{"name":"point"}}],[5,"mid_bottom_of","","The position of a rect with `dim` Dimensions at the middle of the inside of the bottom edge of\nthe `target` Dimensions.",null,{"inputs":[{"name":"dimensions"},{"name":"dimensions"}],"output":{"name":"point"}}],[5,"mid_left_of","","The position of a rect with `dim` Dimensions at the middle of the inside of the left edge of\nthe `target` Dimensions.",null,{"inputs":[{"name":"dimensions"},{"name":"dimensions"}],"output":{"name":"point"}}],[5,"mid_right_of","","The position of a rect with `dim` Dimensions at the middle of the inside of the right edge of\nthe `target` Dimensions.",null,{"inputs":[{"name":"dimensions"},{"name":"dimensions"}],"output":{"name":"point"}}],[11,"clone","","",39,null],[11,"new","","Construct a background.",39,{"inputs":[],"output":{"name":"background"}}],[11,"set","","Set the color used clear the background with before drawing widgets.",39,null],[11,"color","","",39,null],[11,"clone","","",31,null],[11,"eq","","",32,null],[11,"fmt","","",32,null],[11,"clone","","",32,null],[11,"fmt","","",19,null],[11,"clone","","",19,null],[11,"fmt","","",20,null],[11,"clone","","",20,null],[11,"new","","Constructor for a Mouse struct.",19,{"inputs":[{"name":"point"},{"name":"buttonstate"},{"name":"buttonstate"},{"name":"buttonstate"}],"output":{"name":"mouse"}}],[11,"relative_to","","Return the mouse state with its position relative to the given position.",19,null],[11,"decode","","",37,{"inputs":[{"name":"__d"}],"output":{"name":"result"}}],[11,"encode","","",37,null],[11,"eq","","",37,null],[11,"ne","","",37,null],[11,"fmt","","",37,null],[11,"clone","","",37,null],[11,"default","","The default widget Position.",37,{"inputs":[],"output":{"name":"position"}}],[11,"eq","","",34,null],[11,"decode","","",34,{"inputs":[{"name":"__d"}],"output":{"name":"result"}}],[11,"encode","","",34,null],[11,"fmt","","",34,null],[11,"clone","","",34,null],[11,"eq","","",21,null],[11,"ne","","",21,null],[11,"decode","","",21,{"inputs":[{"name":"__d"}],"output":{"name":"result"}}],[11,"encode","","",21,null],[11,"fmt","","",21,null],[11,"clone","","",21,null],[11,"eq","","",35,null],[11,"decode","","",35,{"inputs":[{"name":"__d"}],"output":{"name":"result"}}],[11,"encode","","",35,null],[11,"fmt","","",35,null],[11,"clone","","",35,null],[11,"eq","","",24,null],[11,"ne","","",24,null],[11,"decode","","",24,{"inputs":[{"name":"__d"}],"output":{"name":"result"}}],[11,"encode","","",24,null],[11,"fmt","","",24,null],[11,"clone","","",24,null],[11,"eq","","",38,null],[11,"decode","","",38,{"inputs":[{"name":"__d"}],"output":{"name":"result"}}],[11,"encode","","",38,null],[11,"fmt","","",38,null],[11,"clone","","",38,null],[11,"eq","","",36,null],[11,"decode","","",36,{"inputs":[{"name":"__d"}],"output":{"name":"result"}}],[11,"encode","","",36,null],[11,"fmt","","",36,null],[11,"clone","","",36,null],[11,"clone","","",33,null],[11,"to","","Align `width` to the given `target_width`.",35,null],[11,"to","","Align `height` to the given `target_height`.",38,null],[11,"within","","Place the given `dim` within the `target_dim`.",36,null],[11,"decode","","",23,{"inputs":[{"name":"__d"}],"output":{"name":"result"}}],[11,"encode","","",23,null],[11,"eq","","",23,null],[11,"ne","","",23,null],[11,"fmt","","",23,null],[11,"clone","","",23,null],[11,"none","","No padding.",23,{"inputs":[],"output":{"name":"padding"}}],[11,"offset_from","","Determine the offset for the given `Place`.",23,null],[11,"decode","","",22,{"inputs":[{"name":"__d"}],"output":{"name":"result"}}],[11,"encode","","",22,null],[11,"fmt","","",22,null],[11,"clone","","",22,null],[11,"none","","No margin.",22,{"inputs":[],"output":{"name":"margin"}}],[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.",40,null],[12,"padding","","Padding for Canvas layout and positioning.",40,null],[12,"margin","","Margin for Canvas layout and positioning.",40,null],[12,"position","","A default widget position.",40,null],[12,"align","","A default alignment for widgets.",40,null],[12,"background_color","","A default background for the theme.",40,null],[12,"shape_color","","A default color for widget shapes.",40,null],[12,"frame_color","","A default color for widget frames.",40,null],[12,"frame_width","","A default width for widget frames.",40,null],[12,"label_color","","A default color for widget labels.",40,null],[12,"font_size_large","","A default "large" font size.",40,null],[12,"font_size_medium","","A default "medium" font size.",40,null],[12,"font_size_small","","A default "small" font size.",40,null],[12,"maybe_button","","Optional style defaults for a Button widget.",40,null],[12,"maybe_canvas","","Optional style defaults for a Canvas widget.",40,null],[12,"maybe_drop_down_list","","Optional style defaults for a DropDownList.",40,null],[12,"maybe_envelope_editor","","Optional style defaults for an EnvelopeEditor.",40,null],[12,"maybe_number_dialer","","Optional style defaults for a NumberDialer.",40,null],[12,"maybe_scrollbar","","Optional style defaults for a Scrollbar.",40,null],[12,"maybe_slider","","Optional style defaults for a Slider.",40,null],[12,"maybe_tabs","","Optional style defaults for a Tabs widget.",40,null],[12,"maybe_text_box","","Optional style defaults for a TextBox.",40,null],[12,"maybe_toggle","","Optional style defaults for a Toggle.",40,null],[12,"maybe_xy_pad","","Optional style defaults for an XYPad.",40,null],[3,"Align","","The alignment of an element's dimensions with another's.",null,null],[12,"horizontal","","Positioning relative to an elements width and position on the x axis.",41,null],[12,"vertical","","Positioning relative to an elements height and position on the y axis.",41,null],[3,"WidgetDefault","","The defaults for a specific widget.",null,null],[12,"style","","The unique style of a widget.",42,null],[12,"common","","The attributes commonly shared between widgets.",42,null],[11,"decode","","",40,{"inputs":[{"name":"__d"}],"output":{"name":"result"}}],[11,"encode","","",40,null],[11,"clone","","",40,null],[11,"fmt","","",40,null],[11,"decode","","",41,{"inputs":[{"name":"__d"}],"output":{"name":"result"}}],[11,"encode","","",41,null],[11,"clone","","",41,null],[11,"fmt","","",41,null],[11,"decode","","",42,{"inputs":[{"name":"__dt"}],"output":{"name":"result"}}],[11,"encode","","",42,null],[11,"clone","","",42,null],[11,"fmt","","",42,null],[11,"new","","Constructor for a WidgetDefault.",42,{"inputs":[{"name":"t"}],"output":{"name":"widgetdefault"}}],[11,"default","","The default theme if not loading from file.",40,{"inputs":[],"output":{"name":"theme"}}],[11,"load","","Load a theme from file.",40,{"inputs":[{"name":"path"}],"output":{"name":"result"}}],[11,"save","","Save a theme to file.",40,null],[11,"fmt","conrod","",26,null],[11,"clone","","",26,null],[11,"char_width","","Return the width of a character.",43,null],[11,"width","","Return the width of the given text.",43,null],[11,"deref","","",43,null],[11,"deref_mut","","",43,null],[11,"new","","Constructor for a UiContext.",25,{"inputs":[{"name":"c"},{"name":"theme"}],"output":{"name":"ui"}}],[11,"widget_size","","Return the dimensions of a widget.",25,null],[11,"handle_event","","Handle game events and update the state.",25,null],[11,"get_xy","","Get the centred xy coords for some given `Dimension`s, `Position` and alignment.\nIf getting the xy for a widget, its ID should be specified so that we can also consider the\nscroll offset of the scrollable parent widgets.",25,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).",25,null],[11,"needs_redraw","","Tells the `Ui` that it needs to be re-draw everything. It does this by setting the redraw\ncount to a `SAFE_REDRAW_COUNT`. See the docs for SAFE_REDRAW_COUNT or `draw_if_changed` for\nmore info on how/why the redraw count is used.",25,null],[11,"element","","Compiles the `Ui`'s entire widget `Graph` in its current state into a single\n`elmesque::Element` and returns a reference to it.",25,null],[11,"element_if_changed","","Same as `Ui::element`, but only returns an `&Element` if the stored `&Element` has changed\nsince the last time `Ui::element` or `Ui::element_if_changed` was called.",25,null],[11,"draw","","Draw the `Ui` in it's current state.\nNOTE: If you don't need to redraw your conrod GUI every frame, it is recommended to use the\n`Ui::draw_if_changed` method instead.\nSee the `Graph::draw` method for more details on how Widgets are drawn.\nSee the `graph::update_visit_order` function for details on how the render order is\ndetermined.",25,null],[11,"draw_if_changed","","Same as the `Ui::draw` method, but *only* draws if the `redraw_count` is greater than 0.\nThe `redraw_count` is set to `SAFE_REDRAW_COUNT` whenever a `Widget` produces a new\n`Element` because its state has changed.\nIt can also be triggered manually by the user using the `Ui::needs_redraw` method.",25,null],[0,"utils","","",null,null],[5,"partial_min","conrod::utils","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 a given min and max.",null,{"inputs":[{"name":"t"},{"name":"t"},{"name":"t"}],"output":{"name":"t"}}],[5,"is_over_rect","","Return whether or not a given point is over a rectangle at a given point on a cartesian plane.",null,{"inputs":[{"name":"point"},{"name":"point"},{"name":"dimensions"}],"output":{"name":"bool"}}],[5,"percentage","","Get value percentage between max and min.",null,{"inputs":[{"name":"t"},{"name":"t"},{"name":"t"}],"output":{"name":"f32"}}],[5,"value_from_perc","","Adjust the value to the given percentage.",null,{"inputs":[{"name":"f32"},{"name":"t"},{"name":"t"}],"output":{"name":"t"}}],[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,"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"}}],[11,"decode","conrod","",9,{"inputs":[{"name":"__d"}],"output":{"name":"result"}}],[11,"encode","","",9,null],[11,"eq","","",9,null],[11,"ne","","",9,null],[11,"fmt","","",9,null],[11,"clone","","",9,null],[11,"new","","Create a button context to be built upon.",44,{"inputs":[],"output":{"name":"button"}}],[11,"react","","Set the reaction for the Button. The reaction will be triggered upon release of the button.",44,null],[11,"enabled","","If true, will allow user inputs. If false, will disallow user inputs.",44,null],[11,"common","","",44,null],[11,"common_mut","","",44,null],[11,"unique_kind","","",44,null],[11,"init_state","","",44,null],[11,"style","","",44,null],[11,"capture_mouse","","",44,{"inputs":[{"name":"state"},{"name":"state"}],"output":{"name":"bool"}}],[11,"uncapture_mouse","","",44,{"inputs":[{"name":"state"},{"name":"state"}],"output":{"name":"bool"}}],[11,"default_width","","",44,null],[11,"default_height","","",44,null],[11,"update","","Update the state of the Button.",44,null],[11,"draw","","Construct an Element from the given Button State.",44,{"inputs":[{"name":"drawargs"}],"output":{"name":"element"}}],[11,"new","","Construct the default Style.",9,{"inputs":[],"output":{"name":"style"}}],[11,"color","","Get the Color for an Element.",9,null],[11,"frame","","Get the frame for an Element.",9,null],[11,"frame_color","","Get the frame Color for an Element.",9,null],[11,"label_color","","Get the label Color for an Element.",9,null],[11,"label_font_size","","Get the label font size for an Element.",9,null],[11,"color","","",44,null],[11,"frame","","",44,null],[11,"frame_color","","",44,null],[11,"label","","",44,null],[11,"label_color","","",44,null],[11,"label_font_size","","",44,null],[11,"encode","","",10,null],[11,"decode","","",10,{"inputs":[{"name":"__d"}],"output":{"name":"result"}}],[11,"eq","","",10,null],[11,"ne","","",10,null],[11,"fmt","","",10,null],[11,"clone","","",10,null],[11,"new","","Construct a new Canvas builder.",8,{"inputs":[],"output":{"name":"canvas"}}],[11,"show_title_bar","","Show or hide the title bar.",8,null],[11,"pad_left","","Set the padding of the left of the area where child widgets will be placed.",8,null],[11,"pad_right","","Set the padding of the right of the area where child widgets will be placed.",8,null],[11,"pad_top","","Set the padding of the top of the area where child widgets will be placed.",8,null],[11,"pad_bottom","","Set the padding of the bottom of the area where child widgets will be placed.",8,null],[11,"padding","","Set the padding of the area where child widgets will be placed.",8,null],[11,"margin_left","","Set the margin of the left of the area where child widgets will be placed.",8,null],[11,"margin_right","","Set the margin of the right of the area where child widgets will be placed.",8,null],[11,"margin_top","","Set the margin of the top of the area where child widgets will be placed.",8,null],[11,"margin_bottom","","Set the margin of the bottom of the area where child widgets will be placed.",8,null],[11,"margin","","Set the padding of the area where child widgets will be placed.",8,null],[11,"common","","",8,null],[11,"common_mut","","",8,null],[11,"unique_kind","","",8,null],[11,"init_state","","",8,null],[11,"style","","",8,null],[11,"default_position","","",8,null],[11,"default_width","","",8,null],[11,"default_height","","",8,null],[11,"drag_area","","The title bar area at which the Canvas can be clicked and dragged.\nThe position of the area should be relative to the center of the widget..",8,null],[11,"kid_area","","The area of the widget below the title bar, upon which child widgets will be placed.",8,{"inputs":[{"name":"state"},{"name":"style"},{"name":"theme"}],"output":{"name":"kidarea"}}],[11,"update","","Update the state of the Canvas.",8,null],[11,"draw","","Draw the canvas.",8,{"inputs":[{"name":"drawargs"}],"output":{"name":"element"}}],[11,"new","","Construct a default Canvas Style.",10,{"inputs":[],"output":{"name":"style"}}],[11,"color","","Get the color for the Floating's Element.",10,null],[11,"frame","","Get the frame for an Element.",10,null],[11,"frame_color","","Get the frame Color for an Element.",10,null],[11,"title_bar_font_size","","Get the font size of the title bar.",10,null],[11,"title_bar_label_align","","Get the alignment of the title bar label.",10,null],[11,"title_bar_label_color","","Get the color of the title bar label.",10,null],[11,"padding","","Get the Padding for the Canvas' kid area.",10,null],[11,"margin","","Get the Margin for the Canvas' kid area.",10,null],[11,"color","","",8,null],[11,"frame","","",8,null],[11,"frame_color","","",8,null],[11,"label","","",8,null],[11,"label_color","","",8,null],[11,"label_font_size","","",8,null],[11,"decode","","",11,{"inputs":[{"name":"__d"}],"output":{"name":"result"}}],[11,"encode","","",11,null],[11,"fmt","","",11,null],[11,"clone","","",11,null],[11,"eq","","",11,null],[11,"ne","","",11,null],[11,"new","","Construct a new DropDownList.",45,{"inputs":[{"name":"vec"},{"name":"option"}],"output":{"name":"dropdownlist"}}],[11,"react","","Set the DropDownList's reaction. It will be triggered upon selection of a list item.",45,null],[11,"enabled","","If true, will allow user inputs. If false, will disallow user inputs.",45,null],[11,"max_visible_items","","Set the maximum height of the DropDownList (before the scrollbar appears) as a number of\nitems.",45,null],[11,"max_visible_height","","Set the maximum height of the DropDownList (before the scrollbar appears) as a scalar\nheight.",45,null],[11,"common","","",45,null],[11,"common_mut","","",45,null],[11,"unique_kind","","",45,null],[11,"init_state","","",45,null],[11,"style","","",45,null],[11,"default_width","","",45,null],[11,"default_height","","",45,null],[11,"capture_mouse","","Capture the mouse if the menu was opened.",45,{"inputs":[{"name":"state"},{"name":"state"}],"output":{"name":"bool"}}],[11,"uncapture_mouse","","Uncapture the mouse if the menu was closed.",45,{"inputs":[{"name":"state"},{"name":"state"}],"output":{"name":"bool"}}],[11,"update","","Update the state of the DropDownList.",45,null],[11,"draw","","Construct an Element from the given DropDownList State.",45,{"inputs":[{"name":"drawargs"}],"output":{"name":"element"}}],[11,"new","","Construct the default Style.",11,{"inputs":[],"output":{"name":"style"}}],[11,"color","","Get the Color for an Element.",11,null],[11,"frame","","Get the frame for an Element.",11,null],[11,"frame_color","","Get the frame Color for an Element.",11,null],[11,"label_color","","Get the label Color for an Element.",11,null],[11,"label_font_size","","Get the label font size for an Element.",11,null],[11,"max_visible_height","","Get the maximum visible height of the DropDownList.",11,null],[11,"color","","",45,null],[11,"frame","","",45,null],[11,"frame_color","","",45,null],[11,"label","","",45,null],[11,"label_color","","",45,null],[11,"label_font_size","","",45,null],[11,"decode","","",12,{"inputs":[{"name":"__d"}],"output":{"name":"result"}}],[11,"encode","","",12,null],[11,"eq","","",12,null],[11,"ne","","",12,null],[11,"fmt","","",12,null],[11,"clone","","",12,null],[11,"point_radius","","Set the radius of the envelope point circle.",46,null],[11,"line_width","","Set the width of the envelope lines.",46,null],[11,"value_font_size","","Set the font size for the displayed values.",46,null],[11,"skew_y","","Set the value skewing for the envelope's y-axis. This is useful for displaying exponential\nranges such as frequency.",46,null],[11,"new","","Construct an EnvelopeEditor widget.",46,{"inputs":[{"name":"vec"},{"name":"x"},{"name":"x"},{"name":"y"},{"name":"y"}],"output":{"name":"envelopeeditor"}}],[11,"react","","Set the reaction for the EnvelopeEditor.",46,null],[11,"enabled","","If true, will allow user inputs. If false, will disallow user inputs.",46,null],[11,"common","","",46,null],[11,"common_mut","","",46,null],[11,"unique_kind","","",46,null],[11,"init_state","","",46,null],[11,"style","","",46,null],[11,"default_width","","",46,null],[11,"default_height","","",46,null],[11,"capture_mouse","","",46,{"inputs":[{"name":"state"},{"name":"state"}],"output":{"name":"bool"}}],[11,"uncapture_mouse","","",46,{"inputs":[{"name":"state"},{"name":"state"}],"output":{"name":"bool"}}],[11,"update","","Update the state of the EnvelopeEditor's cached state.",46,null],[11,"draw","","Construct an Element from the given EnvelopeEditor State.",46,{"inputs":[{"name":"drawargs"}],"output":{"name":"element"}}],[11,"new","","Construct the default Style.",12,{"inputs":[],"output":{"name":"style"}}],[11,"color","","Get the Color for an Element.",12,null],[11,"frame","","Get the frame for an Element.",12,null],[11,"frame_color","","Get the frame Color for an Element.",12,null],[11,"label_color","","Get the label Color for an Element.",12,null],[11,"label_font_size","","Get the label font size for an Element.",12,null],[11,"value_font_size","","Get the value font size for an Element.",12,null],[11,"point_radius","","Get the point radius size for an Element.",12,null],[11,"line_width","","Get the point radius size for an Element.",12,null],[11,"color","","",46,null],[11,"frame","","",46,null],[11,"frame_color","","",46,null],[11,"label","","",46,null],[11,"label_color","","",46,null],[11,"label_font_size","","",46,null],[11,"fmt","","",47,null],[11,"clone","","",47,null],[11,"decode","","",48,{"inputs":[{"name":"__d"}],"output":{"name":"result"}}],[11,"encode","","",48,null],[11,"eq","","",48,null],[11,"ne","","",48,null],[11,"fmt","","",48,null],[11,"clone","","",48,null],[11,"new","","Construct a new Label widget.",47,{"inputs":[{"name":"str"}],"output":{"name":"label"}}],[11,"font_size","","Set the font size for the label.",47,null],[11,"common","","",47,null],[11,"common_mut","","",47,null],[11,"unique_kind","","",47,null],[11,"init_state","","",47,null],[11,"style","","",47,null],[11,"default_width","","",47,null],[11,"default_height","","",47,null],[11,"update","","Update the state of the Label.",47,null],[11,"draw","","Construct an Element for the Label.",47,{"inputs":[{"name":"drawargs"}],"output":{"name":"element"}}],[11,"new","","Construct the default Style.",48,{"inputs":[],"output":{"name":"style"}}],[11,"color","","Get the Color for an Element.",48,null],[11,"font_size","","Get the label font size for an Element.",48,null],[11,"color","","",47,null],[11,"clone","","",49,null],[11,"new","","Create a widget matrix context.",49,{"inputs":[{"name":"usize"},{"name":"usize"}],"output":{"name":"matrix"}}],[11,"each_widget","","The reaction called for each widget in the matrix. This should be called following all\nbuilder methods.",49,null],[11,"cell_padding","","A builder method for adding padding to the cell.",49,null],[11,"position","","",49,null],[11,"get_position","","",49,null],[11,"horizontal_align","","",49,null],[11,"vertical_align","","",49,null],[11,"get_horizontal_align","","",49,null],[11,"get_vertical_align","","",49,null],[11,"depth","","",49,null],[11,"get_depth","","",49,null],[11,"width","","",49,null],[11,"height","","",49,null],[11,"get_width","","",49,null],[11,"get_height","","",49,null],[11,"decode","","",13,{"inputs":[{"name":"__d"}],"output":{"name":"result"}}],[11,"encode","","",13,null],[11,"eq","","",13,null],[11,"ne","","",13,null],[11,"fmt","","",13,null],[11,"clone","","",13,null],[11,"new","","Construct a new NumberDialer widget.",50,{"inputs":[{"name":"t"},{"name":"t"},{"name":"t"},{"name":"u8"}],"output":{"name":"numberdialer"}}],[11,"react","","Set the reaction for the NumberDialer. It will be triggered when the value is updated or if\nthe mouse button is released while the cursor is above the widget.",50,null],[11,"enabled","","If true, will allow user inputs. If false, will disallow user inputs.",50,null],[11,"common","","",50,null],[11,"common_mut","","",50,null],[11,"unique_kind","","",50,null],[11,"init_state","","",50,null],[11,"style","","",50,null],[11,"capture_mouse","","",50,{"inputs":[{"name":"state"},{"name":"state"}],"output":{"name":"bool"}}],[11,"uncapture_mouse","","",50,{"inputs":[{"name":"state"},{"name":"state"}],"output":{"name":"bool"}}],[11,"default_width","","",50,null],[11,"default_height","","",50,null],[11,"update","","Update the state of the NumberDialer.",50,null],[11,"draw","","Construct an Element from the given NumberDialer State.",50,{"inputs":[{"name":"drawargs"}],"output":{"name":"element"}}],[11,"new","","Construct the default Style.",13,{"inputs":[],"output":{"name":"style"}}],[11,"color","","Get the Color for an Element.",13,null],[11,"frame","","Get the frame for an Element.",13,null],[11,"frame_color","","Get the frame Color for an Element.",13,null],[11,"label_color","","Get the label Color for an Element.",13,null],[11,"label_font_size","","Get the label font size for an Element.",13,null],[11,"color","","",50,null],[11,"frame","","",50,null],[11,"frame_color","","",50,null],[11,"label","","",50,null],[11,"label_color","","",50,null],[11,"label_font_size","","",50,null],[11,"decode","","",14,{"inputs":[{"name":"__d"}],"output":{"name":"result"}}],[11,"encode","","",14,null],[11,"eq","","",14,null],[11,"ne","","",14,null],[11,"fmt","","",14,null],[11,"clone","","",14,null],[11,"new","","Construct a new Slider widget.",51,{"inputs":[{"name":"t"},{"name":"t"},{"name":"t"}],"output":{"name":"slider"}}],[11,"skew","","Set the amount in which the slider's display should be skewed.\nHigher skew amounts (above 1.0) will weight lower values.\nLower skew amounts (below 1.0) will weight heigher values.\nAll skew amounts should be greater than 0.0.",51,null],[11,"react","","Set the reaction for the Slider. It will be triggered if the value is updated or if the\nmouse button is released while the cursor is above the rectangle.",51,null],[11,"enabled","","If true, will allow user inputs. If false, will disallow user inputs.",51,null],[11,"common","","",51,null],[11,"common_mut","","",51,null],[11,"unique_kind","","",51,null],[11,"init_state","","",51,null],[11,"style","","",51,null],[11,"capture_mouse","","",51,{"inputs":[{"name":"state"},{"name":"state"}],"output":{"name":"bool"}}],[11,"uncapture_mouse","","",51,{"inputs":[{"name":"state"},{"name":"state"}],"output":{"name":"bool"}}],[11,"default_width","","",51,null],[11,"default_height","","",51,null],[11,"update","","Update the state of the Slider.",51,null],[11,"draw","","Construct an Element from the given Slider State.",51,{"inputs":[{"name":"drawargs"}],"output":{"name":"element"}}],[11,"new","","Construct the default Style.",14,{"inputs":[],"output":{"name":"style"}}],[11,"color","","Get the Color for an Element.",14,null],[11,"frame","","Get the frame for an Element.",14,null],[11,"frame_color","","Get the frame Color for an Element.",14,null],[11,"label_color","","Get the label Color for an Element.",14,null],[11,"label_font_size","","Get the label font size for an Element.",14,null],[11,"color","","",51,null],[11,"frame","","",51,null],[11,"frame_color","","",51,null],[11,"label","","",51,null],[11,"label_color","","",51,null],[11,"label_font_size","","",51,null],[11,"new","","Construct a default Canvas Split.",52,{"inputs":[{"name":"widgetid"}],"output":{"name":"split"}}],[11,"length","","Set the dimension of the Split.",52,null],[11,"flow","","Set the child Canvas Splits of the current Canvas flowing in a given direction.",52,null],[11,"flow_down","","Set the child Canvasses flowing downwards.",52,null],[11,"flow_up","","Set the child Canvasses flowing upwards.",52,null],[11,"flow_right","","Set the child Canvasses flowing to the right.",52,null],[11,"flow_left","","Set the child Canvasses flowing to the left.",52,null],[11,"pad_left","","Set the padding from the left edge.",52,null],[11,"pad_right","","Set the padding from the right edge.",52,null],[11,"pad_top","","Set the padding from the top edge.",52,null],[11,"pad_bottom","","Set the padding from the bottom edge.",52,null],[11,"pad","","Set the padding for all edges.",52,null],[11,"margin_left","","Set the margin from the left edge.",52,null],[11,"margin_right","","Set the margin from the right edge.",52,null],[11,"margin_top","","Set the margin from the top edge.",52,null],[11,"margin_bottom","","Set the margin from the bottom edge.",52,null],[11,"margin","","Set the margin for all edges.",52,null],[11,"vertical_scrolling","","Set whether or not the Canvas' `KidArea` is scrollable (the default is false).\nIf a widget is scrollable and it has children widgets that fall outside of its `KidArea`,\nthe `KidArea` will become scrollable.",52,null],[11,"horizontal_scrolling","","Set whether or not the Canvas' `KidArea` is scrollable (the default is false).\nIf a widget is scrollable and it has children widgets that fall outside of its `KidArea`,\nthe `KidArea` will become scrollable.",52,null],[11,"set","","Store the Canvas and its children within the `Ui`.",52,null],[11,"color","","",52,null],[11,"frame","","",52,null],[11,"frame_color","","",52,null],[11,"encode","","",15,null],[11,"decode","","",15,{"inputs":[{"name":"__d"}],"output":{"name":"result"}}],[11,"eq","","",15,null],[11,"ne","","",15,null],[11,"fmt","","",15,null],[11,"clone","","",15,null],[11,"new","","Construct some new Canvas Tabs.",53,null],[11,"bar_width","","Set the exact width of the tab bar.",53,null],[11,"starting_tab_idx","","Set the initially selected tab with an index for our tab list.",53,null],[11,"starting_canvas","","Set the initially selected tab with a Canvas via its WidgetId.",53,null],[11,"layout_horizontally","","Layout the tabs horizontally.",53,null],[11,"layout_vertically","","Layout the tabs vertically.",53,null],[11,"label_color","","The color of the tab labels.",53,null],[11,"label_font_size","","The font size for the tab labels.",53,null],[11,"canvas_style","","The style that will be used for the selected Canvas.",53,null],[11,"pad_left","","Set the padding from the left edge.",53,null],[11,"pad_right","","Set the padding from the right edge.",53,null],[11,"pad_top","","Set the padding from the top edge.",53,null],[11,"pad_bottom","","Set the padding from the bottom edge.",53,null],[11,"pad","","Set the padding for all edges.",53,null],[11,"margin_left","","Set the margin from the left edge.",53,null],[11,"margin_right","","Set the margin from the right edge.",53,null],[11,"margin_top","","Set the margin from the top edge.",53,null],[11,"margin_bottom","","Set the margin from the bottom edge.",53,null],[11,"margin","","Set the margin for all edges.",53,null],[11,"common","","",53,null],[11,"common_mut","","",53,null],[11,"unique_kind","","",53,null],[11,"init_state","","",53,null],[11,"style","","",53,null],[11,"kid_area","","The area on which child widgets will be placed when using the `Place` `Position` methods.",53,{"inputs":[{"name":"state"},{"name":"style"},{"name":"theme"}],"output":{"name":"kidarea"}}],[11,"update","","Update the state of the Tabs.",53,null],[11,"draw","","Construct an Element from the given Button State.",53,{"inputs":[{"name":"drawargs"}],"output":{"name":"element"}}],[11,"set_children","","Set the currently active canvas as a child (called directly after update).",53,{"inputs":[{"name":"widgetid"},{"name":"state"},{"name":"style"},{"name":"ui"}],"output":null}],[11,"new","","Construct the default `Tabs` style.",15,{"inputs":[],"output":{"name":"style"}}],[11,"layout","","Get the layout of the tabs for the `Tabs` widget.",15,null],[11,"label_color","","Get the color for the tab labels.",15,null],[11,"font_size","","Get the font size for the tab labels.",15,null],[11,"color","","",53,null],[11,"frame","","",53,null],[11,"frame_color","","",53,null],[11,"decode","","",16,{"inputs":[{"name":"__d"}],"output":{"name":"result"}}],[11,"encode","","",16,null],[11,"eq","","",16,null],[11,"ne","","",16,null],[11,"fmt","","",16,null],[11,"clone","","",16,null],[11,"new","","Construct a TextBox widget.",54,{"inputs":[{"name":"string"}],"output":{"name":"textbox"}}],[11,"font_size","","Set the font size of the text.",54,null],[11,"react","","Set the reaction for the TextBox. It will be triggered upon pressing of the\n`Enter`/`Return` key.",54,null],[11,"enabled","","If true, will allow user inputs. If false, will disallow user inputs.",54,null],[11,"common","","",54,null],[11,"common_mut","","",54,null],[11,"unique_kind","","",54,null],[11,"init_state","","",54,null],[11,"style","","",54,null],[11,"default_width","","",54,null],[11,"default_height","","",54,null],[11,"capture_keyboard","","Capture the keyboard if the Interaction has become `Captured`.",54,{"inputs":[{"name":"state"},{"name":"state"}],"output":{"name":"bool"}}],[11,"uncapture_keyboard","","Uncapture the keyboard if the Interaction has become `Uncaptured`.",54,{"inputs":[{"name":"state"},{"name":"state"}],"output":{"name":"bool"}}],[11,"update","","Update the state of the TextBox.",54,null],[11,"draw","","Construct an Element from the given TextBox State.",54,{"inputs":[{"name":"drawargs"}],"output":{"name":"element"}}],[11,"new","","Construct the default Style.",16,{"inputs":[],"output":{"name":"style"}}],[11,"color","","Get the Color for an Element.",16,null],[11,"frame","","Get the frame for an Element.",16,null],[11,"frame_color","","Get the frame Color for an Element.",16,null],[11,"font_size","","Get the label font size for an Element.",16,null],[11,"color","","",54,null],[11,"frame","","",54,null],[11,"frame_color","","",54,null],[11,"decode","","",17,{"inputs":[{"name":"__d"}],"output":{"name":"result"}}],[11,"encode","","",17,null],[11,"eq","","",17,null],[11,"ne","","",17,null],[11,"fmt","","",17,null],[11,"clone","","",17,null],[11,"new","","Construct a new Toggle widget.",55,{"inputs":[{"name":"bool"}],"output":{"name":"toggle"}}],[11,"react","","Set the reaction for the Toggle. It will be triggered upon release of the button.",55,null],[11,"enabled","","If true, will allow user inputs. If false, will disallow user inputs.",55,null],[11,"common","","",55,null],[11,"common_mut","","",55,null],[11,"unique_kind","","",55,null],[11,"init_state","","",55,null],[11,"style","","",55,null],[11,"capture_mouse","","",55,{"inputs":[{"name":"state"},{"name":"state"}],"output":{"name":"bool"}}],[11,"uncapture_mouse","","",55,{"inputs":[{"name":"state"},{"name":"state"}],"output":{"name":"bool"}}],[11,"default_width","","",55,null],[11,"default_height","","",55,null],[11,"update","","Update the state of the Toggle.",55,null],[11,"draw","","Construct an Element from the given Toggle State.",55,{"inputs":[{"name":"drawargs"}],"output":{"name":"element"}}],[11,"new","","Construct the default Style.",17,{"inputs":[],"output":{"name":"style"}}],[11,"color","","Get the Color for an Element.",17,null],[11,"frame","","Get the frame for an Element.",17,null],[11,"frame_color","","Get the frame Color for an Element.",17,null],[11,"label_color","","Get the label Color for an Element.",17,null],[11,"label_font_size","","Get the label font size for an Element.",17,null],[11,"color","","",55,null],[11,"frame","","",55,null],[11,"frame_color","","",55,null],[11,"label","","",55,null],[11,"label_color","","",55,null],[11,"label_font_size","","",55,null],[11,"decode","","",18,{"inputs":[{"name":"__d"}],"output":{"name":"result"}}],[11,"encode","","",18,null],[11,"eq","","",18,null],[11,"ne","","",18,null],[11,"fmt","","",18,null],[11,"clone","","",18,null],[11,"new","","Construct a new XYPad widget.",56,{"inputs":[{"name":"x"},{"name":"x"},{"name":"x"},{"name":"y"},{"name":"y"},{"name":"y"}],"output":{"name":"xypad"}}],[11,"line_width","","Set the width of the XYPad's crosshair lines.",56,null],[11,"value_font_size","","Set the font size for the displayed crosshair value.",56,null],[11,"react","","Set the reaction for the XYPad. It will be triggered when the value is updated or if the\nmouse button is released while the cursor is above the rectangle.",56,null],[11,"enabled","","If true, will allow user inputs. If false, will disallow user inputs.",56,null],[11,"common","","",56,null],[11,"common_mut","","",56,null],[11,"unique_kind","","",56,null],[11,"init_state","","",56,null],[11,"style","","",56,null],[11,"capture_mouse","","",56,{"inputs":[{"name":"state"},{"name":"state"}],"output":{"name":"bool"}}],[11,"uncapture_mouse","","",56,{"inputs":[{"name":"state"},{"name":"state"}],"output":{"name":"bool"}}],[11,"default_width","","",56,null],[11,"default_height","","",56,null],[11,"update","","Update the XYPad's cached state.",56,null],[11,"draw","","Construct an Element from the given XYPad State.",56,{"inputs":[{"name":"drawargs"}],"output":{"name":"element"}}],[11,"new","","Construct the default Style.",18,{"inputs":[],"output":{"name":"style"}}],[11,"color","","Get the Color for an Element.",18,null],[11,"frame","","Get the frame for an Element.",18,null],[11,"frame_color","","Get the frame Color for an Element.",18,null],[11,"label_color","","Get the label Color for an Element.",18,null],[11,"label_font_size","","Get the label font size for an Element.",18,null],[11,"value_font_size","","Get the value font size for an Element.",18,null],[11,"line_width","","Get the point radius size for an Element.",18,null],[11,"color","","",56,null],[11,"frame","","",56,null],[11,"frame_color","","",56,null],[11,"label","","",56,null],[11,"label_color","","",56,null],[11,"label_font_size","","",56,null],[11,"decode","","",27,{"inputs":[{"name":"__d"}],"output":{"name":"result"}}],[11,"encode","","",27,null],[11,"fmt","","",27,null],[11,"clone","","",27,null],[11,"eq","","",30,null],[11,"ne","","",30,null],[11,"new","","Construct an empty, initialised CommonBuilder.",27,{"inputs":[],"output":{"name":"commonbuilder"}}],[6,"FontSize","","Font size used throughout Conrod.",null,null],[6,"Depth","","The depth at which the widget will be rendered. This determines the order of rendering where\nwidgets with a greater depth will be rendered first. 0.0 is the default depth.",null,null],[6,"Dimensions","","General use 2D spatial dimensions.",null,null],[6,"Point","","General use 2D spatial point.",null,null],[6,"WidgetId","","Unique widget identifier. Each widget must use a unique `WidgetId` so that it's state can be\ncached within the `Ui` type. The reason we use a usize is because widgets are cached within\na `Vec`, which is limited to a size of `usize` elements.",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.",57,null],[16,"Y","","A value on the Y-axis of the envelope.",57,null],[10,"get_x","","Return the X value.",57,null],[10,"get_y","","Return the Y value.",57,null],[10,"set_x","","Set the X value.",57,null],[10,"set_y","","Set the Y value.",57,null],[11,"get_curve","","Return the bezier curve depth (-1. to 1.) for the next interpolation.",57,null],[11,"set_curve","","Set the bezier curve depth (-1. to 1.) for the next interpolation.",57,null],[10,"new","","Create a new EnvPoint.",57,{"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.",58,null],[10,"frame_color","","Set the color of the widget's frame.",58,null],[11,"frame_rgba","","Set the color of the widget's frame with rgba values.",58,null],[11,"frame_rgb","","Set the color of the widget's frame with rgb values.",58,null],[11,"frame_hsla","","Set the color of the widget's frame with hsla values.",58,null],[11,"frame_hsl","","Set the color of the widget's frame with hsl values.",58,null],[8,"Labelable","","Widgets that may display some label.",null,null],[10,"label","","Set the label for the widget.",59,null],[10,"label_color","","Set the color of the widget's label.",59,null],[11,"label_rgba","","Set the color of the widget's label from rgba values.",59,null],[11,"label_rgb","","Set the color of the widget's label from rgb values.",59,null],[11,"label_hsla","","Set the color of the widget's label from hsla values.",59,null],[11,"label_hsl","","Set the color of the widget's label from hsl values.",59,null],[10,"label_font_size","","Set the font size for the widget's label.",59,null],[11,"small_font","","Set a "small" font size for the widget's label.",59,null],[11,"medium_font","","Set a "medium" font size for the widget's label.",59,null],[11,"large_font","","Set a "large" font size for the widget's label.",59,null],[8,"Positionable","","Widgets that are positionable.",null,null],[10,"position","","Set the Position.",60,null],[10,"get_position","","Get the Position.",60,null],[11,"point","","Set the position with some Point.",60,null],[11,"xy","","Set the position with XY co-ords.",60,null],[11,"relative","","Set the point relative to the previous widget.",60,null],[11,"relative_xy","","Set the xy relative to the previous widget.",60,null],[11,"relative_to","","Set the position relative to the widget with the given WidgetId.",60,null],[11,"relative_xy_to","","Set the position relative to the widget with the given WidgetId.",60,null],[11,"down","","Set the position as below the previous widget.",60,null],[11,"up","","Set the position as above the previous widget.",60,null],[11,"left","","Set the position to the left of the previous widget.",60,null],[11,"right","","Set the position to the right of the previous widget.",60,null],[11,"down_from","","Set the position as below the widget with the given WidgetId.",60,null],[11,"up_from","","Set the position as above the widget with the given WidgetId.",60,null],[11,"left_from","","Set the position to the left of the widget with the given WidgetId.",60,null],[11,"right_from","","Set the position to the right of the widget with the given WidgetId.",60,null],[10,"horizontal_align","","Align the position horizontally (only effective for Up or Down `Direction`s).",60,null],[10,"vertical_align","","Align the position vertically (only effective for Left or Right `Direction`s).",60,null],[10,"get_horizontal_align","","Return the horizontal alignment.",60,null],[10,"get_vertical_align","","Return the vertical alignment.",60,null],[11,"get_alignment","","Return the alignment of both axis.",60,null],[11,"align_left","","Align the position to the left (only effective for Up or Down `Direction`s).",60,null],[11,"align_middle_x","","Align the position to the middle (only effective for Up or Down `Direction`s).",60,null],[11,"align_right","","Align the position to the right (only effective for Up or Down `Direction`s).",60,null],[11,"align_top","","Align the position to the top (only effective for Left or Right `Direction`s).",60,null],[11,"align_middle_y","","Align the position to the middle (only effective for Left or Right `Direction`s).",60,null],[11,"align_bottom","","Align the position to the bottom (only effective for Left or Right `Direction`s).",60,null],[11,"align_left_of","","Align the position to the left (only effective for Up or Down `Direction`s).",60,null],[11,"align_middle_x_of","","Align the position to the middle (only effective for Up or Down `Direction`s).",60,null],[11,"align_right_of","","Align the position to the right (only effective for Up or Down `Direction`s).",60,null],[11,"align_top_of","","Align the position to the top (only effective for Left or Right `Direction`s).",60,null],[11,"align_middle_y_of","","Align the position to the middle (only effective for Left or Right `Direction`s).",60,null],[11,"align_bottom_of","","Align the position to the bottom (only effective for Left or Right `Direction`s).",60,null],[11,"place","","Place the widget at some position on the Widget.",60,null],[11,"middle_of","","Place the widget in the middle of the given Widget.",60,null],[11,"top_left_of","","Place the widget in the top left corner of the given Widget.",60,null],[11,"top_right_of","","Place the widget in the top right corner of the given Widget.",60,null],[11,"bottom_left_of","","Place the widget in the bottom left corner of the given Widget.",60,null],[11,"bottom_right_of","","Place the widget in the bottom right corner of the given Widget.",60,null],[11,"mid_top_of","","Place the widget in the middle of the top edge of the given Widget.",60,null],[11,"mid_bottom_of","","Place the widget in the middle of the bottom edge of the given Widget.",60,null],[11,"mid_left_of","","Place the widget in the middle of the left edge of the given Widget.",60,null],[11,"mid_right_of","","Place the widget in the middle of the right edge of the given Widget.",60,null],[11,"middle","","Place the widget in the middle of the current parent Widget.",60,null],[11,"top_left","","Place the widget in the top left corner of the current parent Widget.",60,null],[11,"top_right","","Place the widget in the top right corner of the current parent Widget.",60,null],[11,"bottom_left","","Place the widget in the bottom left corner of the current parent Widget.",60,null],[11,"bottom_right","","Place the widget in the bottom right corner of the current parent Widget.",60,null],[11,"mid_top","","Place the widget in the middle of the top edge of the current parent Widget.",60,null],[11,"mid_bottom","","Place the widget in the middle of the bottom edge of the current parent Widget.",60,null],[11,"mid_left","","Place the widget in the middle of the left edge of the current parent Widget.",60,null],[11,"mid_right","","Place the widget in the middle of the right edge of the current parent Widget.",60,null],[10,"depth","","The depth at which the widget should be rendered.",60,null],[10,"get_depth","","Return the depth.",60,null],[8,"Sizeable","","Widgets that support different dimensions.",null,null],[10,"width","","Set the width for the widget.",61,null],[10,"height","","Set the height for the widget.",61,null],[10,"get_width","","Get the width of the widget.",61,null],[10,"get_height","","Get the height of the widget.",61,null],[11,"dim","","Set the dimensions for the widget.",61,null],[11,"dimensions","","Set the width and height for the widget.",61,null],[11,"get_dimensions","","The dimensions for the widget.",61,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. Take advantage of this type for any large\nallocations that you would like to avoid repeating between updates, or any calculations\nthat you'd like to avoid repeating between calls to `update` and `draw`. Conrod will never\nclone the state, it will only ever be moved.",62,null],[16,"Style","","Styling used by the widget to construct an Element. Styling is useful to have in its own\nabstraction in order to making Theme serializing easier. Conrod doesn't yet support\nserializing non-internal widget styling with the `Theme` type, but we hope to soon.",62,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.",62,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.",62,null],[10,"unique_kind","","Return the kind of the widget as a &'static str. Note that this must be unique from all\nother widgets' "unique kinds". This is used by conrod to help avoid WidgetId errors and to\nprovide better messages for those that do occur.",62,null],[10,"init_state","","Return the initial `State` of the Widget. The `Ui` will only call this once.",62,null],[10,"style","","Return the styling of the widget. The `Ui` will call this once prior to each `update`. It\ndoes this so that it can check for differences in `Style` in case a new `Element` needs to\nbe constructed.",62,null],[10,"update","","Your widget's previous state is given to you as a parameter and it is your job to\nconstruct and return an Update that will be used to update the widget's cached state.\nYou only have to return `Some` state if the resulting state would be different to `prev`.\nIf `Some` new state was returned, `Widget::draw` will be called in order to construct an\nup to date `Element`.",62,null],[10,"draw","","Construct a renderable Element from the current styling and new state. This will *only* be\ncalled on the occasion that the widget's `Style` or `State` has changed. Keep this in mind\nwhen designing your widget's `Style` and `State` types.",62,{"inputs":[{"name":"drawargs"}],"output":{"name":"element"}}],[11,"default_position","","The default Position for the widget.\nThis is used when no Position is explicitly given when instantiating the Widget.",62,null],[11,"default_h_align","","The default horizontal alignment for the widget.\nThis is used when no HorizontalAlign is explicitly given when instantiating a Widget.",62,null],[11,"default_v_align","","The default vertical alignment for the widget.\nThis is used when no VerticalAlign is explicitly given when instantiating a Widget.",62,null],[11,"default_width","","The default width of the widget.\nA reference to the GlyphCache is provided in case the width should adjust to some text len.\nThis method is only used if no width or dimensions are given.",62,null],[11,"default_height","","The default height of the widget.\nThis method is only used if no height or dimensions are given.",62,null],[11,"capture_mouse","","Optionally override with the case that the widget should capture the mouse.",62,{"inputs":[{"name":"state"},{"name":"state"}],"output":{"name":"bool"}}],[11,"uncapture_mouse","","Optionally override with the case that the widget should capture the mouse.",62,{"inputs":[{"name":"state"},{"name":"state"}],"output":{"name":"bool"}}],[11,"capture_keyboard","","Optionally override with the case that the widget should capture the mouse.",62,{"inputs":[{"name":"state"},{"name":"state"}],"output":{"name":"bool"}}],[11,"uncapture_keyboard","","Optionally override with the case that the widget should capture the mouse.",62,{"inputs":[{"name":"state"},{"name":"state"}],"output":{"name":"bool"}}],[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.",62,null],[11,"kid_area","","The area on which child widgets will be placed when using the `Place` `Position` methods.",62,{"inputs":[{"name":"state"},{"name":"style"},{"name":"theme"}],"output":{"name":"kidarea"}}],[11,"parent","","Set the parent widget for this Widget by passing the WidgetId of the parent.\nThis will attach this Widget to the parent widget.",62,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.",62,null],[11,"scrolling","","Set whether or not the widget's `KidArea` is scrollable (the default is false).\nIf a widget is scrollable and it has children widgets that fall outside of its `KidArea`,\nthe `KidArea` will become scrollable.",62,null],[11,"vertical_scrolling","","Set whether or not the widget's `KidArea` is scrollable (the default is false).\nIf a widget is scrollable and it has children widgets that fall outside of its `KidArea`,\nthe `KidArea` will become scrollable.",62,null],[11,"horizontal_scrolling","","Set whether or not the widget's `KidArea` is scrollable (the default is false).\nIf a widget is scrollable and it has children widgets that fall outside of its `KidArea`,\nthe `KidArea` will become scrollable.",62,null],[11,"set_children","","An optionally overridable method for setting child widgets.\nThis will be called immediately after the widget itself is updated.\nNOTE: The API for this will probably changed somehow, as there is probably a nicer way to\ndo this than give the widget designer mutable access to the entire `Ui`.",62,{"inputs":[{"name":"widgetid"},{"name":"state"},{"name":"style"},{"name":"ui"}],"output":null}],[11,"set","","Note: There should be no need to override this method.",62,null],[14,"widget_ids!","","Generate a list of unique IDs given a list of identifiers.",null,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.",0,null],[11,"luminance","","Calculate and return the luminance of the Color.",0,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.",0,null],[11,"to_hsl","","Extract the components of a color in the HSL format.",0,null],[11,"to_rgb","","Extract the components of a color in the RGB format.",0,null],[11,"to_fsa","","Extract the components of a color in the RGB format within a fixed-size array.",0,null],[11,"to_byte_fsa","","Same as `to_fsa`, except r, g, b and a are represented in byte form.",0,null],[11,"to_hex","","Return the hex representation of this color in the format #RRGGBBAA\ne.g. `Color(1.0, 0.0, 5.0, 1.0) == "#FF0080FF"`",0,null],[11,"with_luminance","","Return the same color but with the given luminance.",0,null],[11,"alpha","","Return the same color but with the alpha multiplied by the given alpha.",0,null],[11,"with_alpha","","Return the same color but with the given alpha.",0,null],[11,"highlighted","","Return a highlighted version of the current Color.",0,null],[11,"clicked","","Return a clicked version of the current Color.",0,null],[11,"invert","","Return the Color's invert.",0,null],[11,"red","","Return the red value.",0,null],[11,"green","","Return the green value.",0,null],[11,"blue","","Return the blue value.",0,null],[11,"set_red","","Set the red value.",0,null],[11,"set_green","","Set the green value.",0,null],[11,"set_blue","","Set the blue value.",0,null],[11,"decode","","",0,{"inputs":[{"name":"__d"}],"output":{"name":"result"}}],[11,"encode","","",0,null],[11,"fmt","","",0,null],[11,"clone","","",0,null],[11,"eq","","",0,null],[11,"ne","","",0,null],[11,"fmt","conrod::color","",1,null],[11,"clone","","",1,null],[11,"fmt","","",2,null],[11,"clone","","",2,null],[11,"fmt","","",3,null],[11,"clone","","",3,null],[11,"fmt","conrod","",5,null],[11,"clone","","",5,null],[11,"width","","Create an `Element` with a given width.",5,null],[11,"height","","Create an `Element` with a given height.",5,null],[11,"size","","Create an `Element` with a given size.",5,null],[11,"opacity","","Create an `Element` with a given opacity.",5,null],[11,"color","","Create an `Element with a given background color.",5,null],[11,"crop","","Crops an `Element` with the given rectangle.",5,null],[11,"container","","Put an element in a container. This lets you position the element really easily, and there are\ntons of ways to set the `Position`.",5,null],[11,"clear","","Put an element in a cleared wrapper. The color provided will be the color that clears the\nscreen before rendering the contained element.",5,null],[11,"above","","Stack elements vertically. To put `a` above `b` you would say: `a.above(b)`",5,null],[11,"below","","Stack elements vertically. To put `a` below `b` you would say: `a.below(b)`",5,null],[11,"beside","","Put elements beside each other horizontally. To put `b` to the right of `a` you would say:\n`a.beside(b)`",5,null],[11,"get_width","","Return the width of the Element.",5,null],[11,"get_height","","Return the height of the Element.",5,null],[11,"get_size","","Return the size of the Element's bounding rectangle.",5,null],[11,"draw","","Draw the form with some given graphics backend.",5,null],[11,"is_over","","Return whether or not a point is over the element.",5,null],[11,"fmt","","",7,null],[11,"fmt","","",7,null],[11,"description","","",7,null],[11,"frame_rgba","","Set the color of the widget's frame with rgba values.",58,null],[11,"frame_rgb","","Set the color of the widget's frame with rgb values.",58,null],[11,"frame_hsla","","Set the color of the widget's frame with hsla values.",58,null],[11,"frame_hsl","","Set the color of the widget's frame with hsl values.",58,null],[11,"label_rgba","","Set the color of the widget's label from rgba values.",59,null],[11,"label_rgb","","Set the color of the widget's label from rgb values.",59,null],[11,"label_hsla","","Set the color of the widget's label from hsla values.",59,null],[11,"label_hsl","","Set the color of the widget's label from hsl values.",59,null],[11,"small_font","","Set a "small" font size for the widget's label.",59,null],[11,"medium_font","","Set a "medium" font size for the widget's label.",59,null],[11,"large_font","","Set a "large" font size for the widget's label.",59,null],[11,"point","","Set the position with some Point.",60,null],[11,"xy","","Set the position with XY co-ords.",60,null],[11,"relative","","Set the point relative to the previous widget.",60,null],[11,"relative_xy","","Set the xy relative to the previous widget.",60,null],[11,"relative_to","","Set the position relative to the widget with the given WidgetId.",60,null],[11,"relative_xy_to","","Set the position relative to the widget with the given WidgetId.",60,null],[11,"down","","Set the position as below the previous widget.",60,null],[11,"up","","Set the position as above the previous widget.",60,null],[11,"left","","Set the position to the left of the previous widget.",60,null],[11,"right","","Set the position to the right of the previous widget.",60,null],[11,"down_from","","Set the position as below the widget with the given WidgetId.",60,null],[11,"up_from","","Set the position as above the widget with the given WidgetId.",60,null],[11,"left_from","","Set the position to the left of the widget with the given WidgetId.",60,null],[11,"right_from","","Set the position to the right of the widget with the given WidgetId.",60,null],[11,"get_alignment","","Return the alignment of both axis.",60,null],[11,"align_left","","Align the position to the left (only effective for Up or Down `Direction`s).",60,null],[11,"align_middle_x","","Align the position to the middle (only effective for Up or Down `Direction`s).",60,null],[11,"align_right","","Align the position to the right (only effective for Up or Down `Direction`s).",60,null],[11,"align_top","","Align the position to the top (only effective for Left or Right `Direction`s).",60,null],[11,"align_middle_y","","Align the position to the middle (only effective for Left or Right `Direction`s).",60,null],[11,"align_bottom","","Align the position to the bottom (only effective for Left or Right `Direction`s).",60,null],[11,"align_left_of","","Align the position to the left (only effective for Up or Down `Direction`s).",60,null],[11,"align_middle_x_of","","Align the position to the middle (only effective for Up or Down `Direction`s).",60,null],[11,"align_right_of","","Align the position to the right (only effective for Up or Down `Direction`s).",60,null],[11,"align_top_of","","Align the position to the top (only effective for Left or Right `Direction`s).",60,null],[11,"align_middle_y_of","","Align the position to the middle (only effective for Left or Right `Direction`s).",60,null],[11,"align_bottom_of","","Align the position to the bottom (only effective for Left or Right `Direction`s).",60,null],[11,"place","","Place the widget at some position on the Widget.",60,null],[11,"middle_of","","Place the widget in the middle of the given Widget.",60,null],[11,"top_left_of","","Place the widget in the top left corner of the given Widget.",60,null],[11,"top_right_of","","Place the widget in the top right corner of the given Widget.",60,null],[11,"bottom_left_of","","Place the widget in the bottom left corner of the given Widget.",60,null],[11,"bottom_right_of","","Place the widget in the bottom right corner of the given Widget.",60,null],[11,"mid_top_of","","Place the widget in the middle of the top edge of the given Widget.",60,null],[11,"mid_bottom_of","","Place the widget in the middle of the bottom edge of the given Widget.",60,null],[11,"mid_left_of","","Place the widget in the middle of the left edge of the given Widget.",60,null],[11,"mid_right_of","","Place the widget in the middle of the right edge of the given Widget.",60,null],[11,"middle","","Place the widget in the middle of the current parent Widget.",60,null],[11,"top_left","","Place the widget in the top left corner of the current parent Widget.",60,null],[11,"top_right","","Place the widget in the top right corner of the current parent Widget.",60,null],[11,"bottom_left","","Place the widget in the bottom left corner of the current parent Widget.",60,null],[11,"bottom_right","","Place the widget in the bottom right corner of the current parent Widget.",60,null],[11,"mid_top","","Place the widget in the middle of the top edge of the current parent Widget.",60,null],[11,"mid_bottom","","Place the widget in the middle of the bottom edge of the current parent Widget.",60,null],[11,"mid_left","","Place the widget in the middle of the left edge of the current parent Widget.",60,null],[11,"mid_right","","Place the widget in the middle of the right edge of the current parent Widget.",60,null],[11,"dim","","Set the dimensions for the widget.",61,null],[11,"dimensions","","Set the width and height for the widget.",61,null],[11,"get_dimensions","","The dimensions for the widget.",61,null],[11,"get_curve","","Return the bezier curve depth (-1. to 1.) for the next interpolation.",57,null],[11,"set_curve","","Set the bezier curve depth (-1. to 1.) for the next interpolation.",57,null],[11,"get_x","","Return the X value.",63,null],[11,"get_y","","Return the Y value.",63,null],[11,"set_x","","Return the X value.",63,null],[11,"set_y","","Return the Y value.",63,null],[11,"new","","Create a new Envelope Point.",63,{"inputs":[{"name":"scalar"},{"name":"scalar"}],"output":{"name":"point"}}],[11,"default_position","","The default Position for the widget.\nThis is used when no Position is explicitly given when instantiating the Widget.",62,null],[11,"default_h_align","","The default horizontal alignment for the widget.\nThis is used when no HorizontalAlign is explicitly given when instantiating a Widget.",62,null],[11,"default_v_align","","The default vertical alignment for the widget.\nThis is used when no VerticalAlign is explicitly given when instantiating a Widget.",62,null],[11,"default_width","","The default width of the widget.\nA reference to the GlyphCache is provided in case the width should adjust to some text len.\nThis method is only used if no width or dimensions are given.",62,null],[11,"default_height","","The default height of the widget.\nThis method is only used if no height or dimensions are given.",62,null],[11,"capture_mouse","","Optionally override with the case that the widget should capture the mouse.",62,{"inputs":[{"name":"state"},{"name":"state"}],"output":{"name":"bool"}}],[11,"uncapture_mouse","","Optionally override with the case that the widget should capture the mouse.",62,{"inputs":[{"name":"state"},{"name":"state"}],"output":{"name":"bool"}}],[11,"capture_keyboard","","Optionally override with the case that the widget should capture the mouse.",62,{"inputs":[{"name":"state"},{"name":"state"}],"output":{"name":"bool"}}],[11,"uncapture_keyboard","","Optionally override with the case that the widget should capture the mouse.",62,{"inputs":[{"name":"state"},{"name":"state"}],"output":{"name":"bool"}}],[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.",62,null],[11,"kid_area","","The area on which child widgets will be placed when using the `Place` `Position` methods.",62,{"inputs":[{"name":"state"},{"name":"style"},{"name":"theme"}],"output":{"name":"kidarea"}}],[11,"parent","","Set the parent widget for this Widget by passing the WidgetId of the parent.\nThis will attach this Widget to the parent widget.",62,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.",62,null],[11,"scrolling","","Set whether or not the widget's `KidArea` is scrollable (the default is false).\nIf a widget is scrollable and it has children widgets that fall outside of its `KidArea`,\nthe `KidArea` will become scrollable.",62,null],[11,"vertical_scrolling","","Set whether or not the widget's `KidArea` is scrollable (the default is false).\nIf a widget is scrollable and it has children widgets that fall outside of its `KidArea`,\nthe `KidArea` will become scrollable.",62,null],[11,"horizontal_scrolling","","Set whether or not the widget's `KidArea` is scrollable (the default is false).\nIf a widget is scrollable and it has children widgets that fall outside of its `KidArea`,\nthe `KidArea` will become scrollable.",62,null],[11,"set_children","","An optionally overridable method for setting child widgets.\nThis will be called immediately after the widget itself is updated.\nNOTE: The API for this will probably changed somehow, as there is probably a nicer way to\ndo this than give the widget designer mutable access to the entire `Ui`.",62,{"inputs":[{"name":"widgetid"},{"name":"state"},{"name":"style"},{"name":"ui"}],"output":null}],[11,"set","","Note: There should be no need to override this method.",62,null]],"paths":[[4,"Color"],[3,"Hsla"],[3,"Rgba"],[4,"Gradient"],[8,"Colorable"],[3,"Element"],[8,"CharacterCache"],[4,"JsonIoError"],[3,"Canvas"],[3,"ButtonStyle"],[3,"CanvasStyle"],[3,"DropDownListStyle"],[3,"EnvelopeEditorStyle"],[3,"NumberDialerStyle"],[3,"SliderStyle"],[3,"TabsStyle"],[3,"TextBoxStyle"],[3,"ToggleStyle"],[3,"XYPadStyle"],[3,"Mouse"],[3,"MouseScroll"],[3,"HorizontalAlign"],[3,"Margin"],[3,"Padding"],[3,"VerticalAlign"],[3,"Ui"],[3,"UserInput"],[3,"CommonBuilder"],[3,"DrawArgs"],[3,"UpdateArgs"],[3,"WidgetState"],[4,"Framing"],[4,"MouseButtonState"],[4,"Corner"],[4,"Direction"],[4,"Horizontal"],[4,"Place"],[4,"Position"],[4,"Vertical"],[3,"Background"],[3,"Theme"],[3,"Align"],[3,"WidgetDefault"],[3,"GlyphCache"],[3,"Button"],[3,"DropDownList"],[3,"EnvelopeEditor"],[3,"Label"],[3,"LabelStyle"],[3,"WidgetMatrix"],[3,"NumberDialer"],[3,"Slider"],[3,"Split"],[3,"Tabs"],[3,"TextBox"],[3,"Toggle"],[3,"XYPad"],[8,"EnvelopePoint"],[8,"Frameable"],[8,"Labelable"],[8,"Positionable"],[8,"Sizeable"],[8,"Widget"],[6,"Point"]]}; initSearch(searchIndex);