var searchIndex = {}; searchIndex["graphics"] = {"doc":"A library for 2D graphics that works with multiple back-ends.","items":[[8,"ImageSize","graphics","Implemented by all images to be used with generic algorithms.",null,null],[10,"get_size","","Get the image size.",0,null],[11,"get_width","","Gets the image width.",0,null],[11,"get_height","","Gets the image height.",0,null],[0,"state","graphics::draw_state","Fixed-function hardware state.",null,null],[4,"FrontFace","graphics::draw_state::state","The front face winding order of a set of vertices.",null,null],[13,"Clockwise","","Clockwise winding order.",1,null],[13,"CounterClockwise","","Counter-clockwise winding order.",1,null],[6,"LineWidth","","",null,null],[6,"OffsetFactor","","",null,null],[6,"OffsetUnits","","",null,null],[3,"Offset","","How to offset vertices in screen space, if at all.",null,null],[12,"0","","",2,null],[12,"1","","",2,null],[4,"CullFace","","Which face, if any, to cull.",null,null],[13,"Nothing","","",3,null],[13,"Front","","",3,null],[13,"Back","","",3,null],[4,"RasterMethod","","How to rasterize a primitive.",null,null],[13,"Point","","Rasterize as a point.",4,null],[13,"Line","","Rasterize as a line with the given width.",4,null],[13,"Fill","","Rasterize as a face with a given cull face mode.",4,null],[3,"Primitive","","Primitive rasterization state. Note that GL allows different raster\nmethod to be used for front and back, while this abstraction does not.",null,null],[12,"front_face","","Which vertex winding is considered to be the front face for culling.",5,null],[12,"method","","How to rasterize this primitive.",5,null],[12,"offset","","Any polygon offset to apply.",5,null],[3,"MultiSample","","Multi-sampling rasterization mode",null,null],[4,"Comparison","","A pixel-wise comparison function.",null,null],[13,"Never","","`false`",6,null],[13,"Less","","`x < y`",6,null],[13,"LessEqual","","`x <= y`",6,null],[13,"Equal","","`x == y`",6,null],[13,"GreaterEqual","","`x >= y`",6,null],[13,"Greater","","`x > y`",6,null],[13,"NotEqual","","`x != y`",6,null],[13,"Always","","`true`",6,null],[4,"StencilOp","","Stencil mask operation.",null,null],[13,"Keep","","Keep the current value in the stencil buffer (no change).",7,null],[13,"Zero","","Set the value in the stencil buffer to zero.",7,null],[13,"Replace","","Set the stencil buffer value to `value` from `StencilSide`",7,null],[13,"IncrementClamp","","Increment the stencil buffer value, clamping to its maximum value.",7,null],[13,"IncrementWrap","","Increment the stencil buffer value, wrapping around to 0 on overflow.",7,null],[13,"DecrementClamp","","Decrement the stencil buffer value, clamping to its minimum value.",7,null],[13,"DecrementWrap","","Decrement the stencil buffer value, wrapping around to the maximum value on overflow.",7,null],[13,"Invert","","Bitwise invert the current value in the stencil buffer.",7,null],[3,"StencilSide","","Complete stencil state for a given side of a face.",null,null],[12,"fun","","Comparison function to use to determine if the stencil test passes.",8,null],[12,"value","","Reference value to compare the value in the stencil buffer with.",8,null],[12,"mask_read","","A mask that is ANDd with both the stencil buffer value and the reference value when they\nare read before doing the stencil test.",8,null],[12,"mask_write","","A mask that is ANDd with the stencil value before writing to the stencil buffer.",8,null],[12,"op_fail","","What operation to do if the stencil test fails.",8,null],[12,"op_depth_fail","","What operation to do if the stenil test passes but the depth test fails.",8,null],[12,"op_pass","","What operation to do if both the depth and stencil test pass.",8,null],[3,"Stencil","","Complete stencil state, specifying how to handle the front and back side of a face.",null,null],[12,"front","","",9,null],[12,"back","","",9,null],[3,"Depth","","Depth test state.",null,null],[12,"fun","","Comparison function to use.",10,null],[12,"write","","Specify whether to write to the depth buffer or not.",10,null],[4,"Equation","","",null,null],[13,"Add","","Adds source and destination.\nSource and destination are multiplied by blending parameters before addition.",11,null],[13,"Sub","","Subtracts destination from source.\nSource and destination are multiplied by blending parameters before subtraction.",11,null],[13,"RevSub","","Subtracts source from destination.\nSource and destination are multiplied by blending parameters before subtraction.",11,null],[13,"Min","","Component-wise minimum value of source and destination.\nBlending parameters are ignored.",11,null],[13,"Max","","Component-wise maximum value of source and destination.\nBlending parameters are ignored.",11,null],[4,"BlendValue","","",null,null],[13,"SourceColor","","",12,null],[13,"SourceAlpha","","",12,null],[13,"DestColor","","",12,null],[13,"DestAlpha","","",12,null],[13,"ConstColor","","",12,null],[13,"ConstAlpha","","",12,null],[4,"Factor","","",null,null],[13,"Zero","","",13,null],[13,"One","","",13,null],[13,"SourceAlphaSaturated","","",13,null],[13,"ZeroPlus","","",13,null],[13,"OneMinus","","",13,null],[3,"BlendChannel","","",null,null],[12,"equation","","",14,null],[12,"source","","",14,null],[12,"destination","","",14,null],[3,"Blend","","",null,null],[12,"color","","",15,null],[12,"alpha","","",15,null],[12,"value","","",15,null],[3,"ColorMask","","",null,null],[17,"RED","","",null,null],[17,"GREEN","","",null,null],[17,"BLUE","","",null,null],[17,"ALPHA","","",null,null],[17,"MASK_ALL","","",null,null],[17,"MASK_NONE","","",null,null],[0,"target","graphics::draw_state","Render target specification.",null,null],[6,"Layer","graphics::draw_state::target","",null,null],[6,"Level","","",null,null],[6,"Depth","","",null,null],[6,"Stencil","","",null,null],[3,"Rect","","A screen space rectangle",null,null],[12,"x","","",16,null],[12,"y","","",16,null],[12,"w","","",16,null],[12,"h","","",16,null],[6,"ColorValue","","",null,null],[3,"Mask","","Output mask, used for blitting and clearing",null,null],[17,"COLOR","","",null,null],[17,"COLOR0","","",null,null],[17,"COLOR1","","",null,null],[17,"COLOR2","","",null,null],[17,"COLOR3","","",null,null],[17,"DEPTH","","",null,null],[17,"STENCIL","","",null,null],[3,"Mirror","","Mirroring flags, used for blitting",null,null],[17,"MIRROR_X","","",null,null],[17,"MIRROR_Y","","",null,null],[3,"ClearData","","How to clear a frame.",null,null],[12,"color","","The color to clear the frame with",17,null],[12,"depth","","The depth value to clear the frame with",17,null],[12,"stencil","","The stencil value to clear the frame with",17,null],[3,"DrawState","graphics::draw_state","An assembly of states that affect regular draw calls",null,null],[12,"primitive","","How to rasterize geometric primitives.",18,null],[12,"multi_sample","","Multi-sampling mode",18,null],[12,"scissor","","Scissor mask to use. If set, no pixel outside of this rectangle (in screen space) will be\nwritten to as a result of rendering.",18,null],[12,"stencil","","Stencil test to use. If None, no stencil testing is done.",18,null],[12,"depth","","Depth test to use. If None, no depth testing is done.",18,null],[12,"blend","","Blend function to use. If None, no blending is done.",18,null],[12,"color_mask","","Color mask to use. Each flag indicates that the given color channel can be written to, and\nthey can be OR'd together.",18,null],[4,"BlendPreset","","Blend function presets for ease of use.",null,null],[13,"Add","","When combining two fragments, add their values together, saturating at 1.0",19,null],[13,"Multiply","","When combining two fragments, multiply their values together.",19,null],[13,"Alpha","","When combining two fragments, add the value of the source times its alpha channel with the\nvalue of the destination multiplied by the inverse of the source alpha channel. Has the\nusual transparency effect: mixes the two colors using a fraction of each one specified by\nthe alpha of the source.",19,null],[13,"Invert","","When combining two fragments, subtract the destination color from a constant color\nusing the source color as weight. Has an invert effect with the constant color\nas base and source color controlling displacement from the base color.\nA white source color and a white value results in plain invert.\nThe output alpha is same as destination alpha.",19,null],[3,"DrawState","graphics","An assembly of states that affect regular draw calls",null,null],[12,"primitive","","How to rasterize geometric primitives.",18,null],[12,"multi_sample","","Multi-sampling mode",18,null],[12,"scissor","","Scissor mask to use. If set, no pixel outside of this rectangle (in screen space) will be\nwritten to as a result of rendering.",18,null],[12,"stencil","","Stencil test to use. If None, no stencil testing is done.",18,null],[12,"depth","","Depth test to use. If None, no depth testing is done.",18,null],[12,"blend","","Blend function to use. If None, no blending is done.",18,null],[12,"color_mask","","Color mask to use. Each flag indicates that the given color channel can be written to, and\nthey can be OR'd together.",18,null],[3,"Viewport","","Stores viewport information.",null,null],[12,"rect","","Viewport in pixels.\n```[x, y, width height]``` where ```(x, y)``` is lower left corner.",20,null],[12,"draw_size","","The size of frame buffer in pixels.",20,null],[12,"window_size","","The size of window in points.",20,null],[5,"default_draw_state","","Returns a default draw state that does additive blending and no culling.",null,{"inputs":[],"output":{"name":"drawstate"}}],[5,"clip_draw_state","","Returns a default draw state that does additive blending and no culling.",null,{"inputs":[],"output":{"name":"drawstate"}}],[5,"inside_draw_state","","Returns a default draw state that does additive blending and no culling.",null,{"inputs":[],"output":{"name":"drawstate"}}],[5,"outside_draw_state","","Returns a default draw state that does additive blending and no culling.",null,{"inputs":[],"output":{"name":"drawstate"}}],[5,"clear","","Clears the screen.",null,{"inputs":[{"name":"color"},{"name":"g"}],"output":null}],[5,"image","","Draws image.",null,null],[5,"ellipse","","Draws ellipse.",null,{"inputs":[{"name":"color"},{"name":"r"},{"name":"matrix2d"},{"name":"g"}],"output":null}],[5,"circle_arc","","Draws arc",null,{"inputs":[{"name":"color"},{"name":"radius"},{"name":"scalar"},{"name":"scalar"},{"name":"r"},{"name":"matrix2d"},{"name":"g"}],"output":null}],[5,"rectangle","","Draws rectangle.",null,{"inputs":[{"name":"color"},{"name":"r"},{"name":"matrix2d"},{"name":"g"}],"output":null}],[5,"polygon","","Draws polygon.",null,{"inputs":[{"name":"color"},{"name":"polygon"},{"name":"matrix2d"},{"name":"g"}],"output":null}],[5,"line","","Draws line.",null,{"inputs":[{"name":"color"},{"name":"radius"},{"name":"l"},{"name":"matrix2d"},{"name":"g"}],"output":null}],[5,"text","","Draws text.",null,{"inputs":[{"name":"color"},{"name":"fontsize"},{"name":"str"},{"name":"c"},{"name":"matrix2d"},{"name":"g"}],"output":null}],[0,"character","","A text character",null,null],[3,"Character","graphics::character","Holds rendered character data.",null,null],[12,"offset","","The offset of character.",21,null],[12,"size","","The size of character, including space.",21,null],[12,"texture","","The texture of the character.",21,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.",22,null],[10,"character","","Get reference to character.",22,null],[11,"width","","Return the width for some given text.",22,null],[11,"clone","","",21,null],[11,"left","","The left offset.",21,null],[11,"top","","The top offset.",21,null],[11,"width","","Gets width of character, including space to the next one.",21,null],[11,"height","","Sets height of character, including space to the next one.",21,null],[0,"context","graphics","Transformation context",null,null],[3,"Context","graphics::context","Drawing 2d context.",null,null],[12,"viewport","","Viewport information.",23,null],[12,"view","","View transformation.",23,null],[12,"transform","","Current transformation.",23,null],[12,"draw_state","","Current draw state settings.",23,null],[11,"clone","","",23,null],[11,"new","","Creates a new drawing context.",23,{"inputs":[],"output":{"name":"context"}}],[11,"new_viewport","","Creates a new context with absolute transform in point coordinates.",23,{"inputs":[{"name":"viewport"}],"output":{"name":"context"}}],[11,"new_abs","","Creates a new drawing context in absolute coordinates.",23,{"inputs":[{"name":"scalar"},{"name":"scalar"}],"output":{"name":"context"}}],[11,"view","","Moves the current transform to the view coordinate system.",23,null],[11,"reset","","Moves the current transform to the default coordinate system.",23,null],[11,"store_view","","Stores the current transform as new view.",23,null],[11,"get_view_size","","Computes the current view size.",23,null],[0,"color","graphics","Helper methods for colors",null,null],[5,"grey","graphics::color","Returns a grey color",null,{"inputs":[{"name":"colorcomponent"}],"output":{"name":"color"}}],[5,"alpha","","Returns a semi-transparent white color",null,{"inputs":[{"name":"colorcomponent"}],"output":{"name":"color"}}],[5,"hex","","Converts from hexadecimal color format",null,{"inputs":[{"name":"str"}],"output":{"name":"color"}}],[17,"WHITE","","White color.",null,null],[17,"BLACK","","Black color.",null,null],[17,"TRANSPARENT","","Transparent color.",null,null],[0,"polygon","graphics","Draw polygon",null,null],[3,"Polygon","graphics::polygon","A polygon",null,null],[12,"color","","The color of the polygon",24,null],[11,"clone","","",24,null],[11,"new","","Creates new polygon",24,{"inputs":[{"name":"color"}],"output":{"name":"polygon"}}],[11,"color","","Sets color.",24,null],[11,"draw","","Draws polygon using the default method.",24,null],[11,"draw_tri","","Draws polygon using triangulation.",24,null],[11,"draw_tween_lerp","","Draws tweened polygon with linear interpolation, using default method.",24,null],[11,"draw_tween_lerp_tri","","Draws tweened polygon with linear interpolation, using triangulation.",24,null],[0,"line","graphics","Draw Line",null,null],[3,"Line","graphics::line","A colored line with a default border radius",null,null],[12,"color","","The line color",25,null],[12,"radius","","The line radius",25,null],[12,"shape","","The line shape",25,null],[4,"Shape","","The shape of the line",null,null],[13,"Square","","Square edges",26,null],[13,"Round","","Round edges",26,null],[13,"Bevel","","Bevel edges",26,null],[11,"clone","","",26,null],[11,"clone","","",25,null],[11,"new","","Creates a new line",25,{"inputs":[{"name":"color"},{"name":"radius"}],"output":{"name":"line"}}],[11,"new_round","","Creates a new line",25,{"inputs":[{"name":"color"},{"name":"radius"}],"output":{"name":"line"}}],[11,"color","","Sets color.",25,null],[11,"radius","","Sets radius.",25,null],[11,"width","","Sets width.",25,null],[11,"shape","","Sets shape.",25,null],[11,"draw","","Draws line using default method.",25,null],[11,"draw_tri","","Draws line using triangulation.",25,null],[11,"draw_arrow","","Draws an arrow",25,null],[0,"circle_arc","graphics","Draw an arc",null,null],[3,"CircleArc","graphics::circle_arc","A curved line",null,null],[12,"color","","The arcs color",27,null],[12,"radius","","The radius of the arc (Thickness of the drawing, not the radius of the circle)",27,null],[12,"start","","The start of the arc in radians",27,null],[12,"end","","The end of the arc in radians",27,null],[12,"resolution","","The resolution for the arc.",27,null],[11,"clone","","",27,null],[11,"new","","Creates a new arc",27,{"inputs":[{"name":"color"},{"name":"radius"},{"name":"scalar"},{"name":"scalar"}],"output":{"name":"circlearc"}}],[11,"color","","Sets the arcs color.",27,null],[11,"radius","","Sets the radius of the arc (Thickness of the arc, not the radius of the circle it wraps)",27,null],[11,"start","","Sets the start of the arc (in radians).",27,null],[11,"end","","Sets the end of the arc (in radians).",27,null],[11,"resolution","","Sets the resolution of the arcs smoothness.",27,null],[11,"draw","","Draws circle arc using default method.",27,null],[11,"draw_tri","","Draws circle arc using triangulation.",27,null],[0,"ellipse","graphics","Draw ellipse",null,null],[3,"Border","graphics::ellipse","Ellipse border",null,null],[12,"color","","The border color",28,null],[12,"radius","","The border radius",28,null],[3,"Ellipse","","An ellipse with filled color",null,null],[12,"color","","The ellipse color",29,null],[12,"border","","The ellipse border",29,null],[12,"resolution","","The resolution for the shape, 360 degrees.",29,null],[11,"clone","","",28,null],[11,"clone","","",29,null],[11,"new","","Creates a new ellipse",29,{"inputs":[{"name":"color"}],"output":{"name":"ellipse"}}],[11,"new_border","","Creates a new ellipse border",29,{"inputs":[{"name":"color"},{"name":"radius"}],"output":{"name":"ellipse"}}],[11,"color","","Sets ellipse color.",29,null],[11,"border","","Sets ellipse border.",29,null],[11,"maybe_border","","Sets optional ellipse border.",29,null],[11,"resolution","","Sets resolution of the ellipse smoothness.",29,null],[11,"draw","","Draws ellipse using default method.",29,null],[11,"draw_tri","","Draws ellipse using triangulation.",29,null],[0,"rectangle","graphics","Draw rectangle",null,null],[3,"Border","graphics::rectangle","The border of the rectangle",null,null],[12,"color","","The color of the border",30,null],[12,"radius","","The radius of the border",30,null],[3,"Rectangle","","A filled rectangle",null,null],[12,"color","","The rectangle color",31,null],[12,"shape","","The roundness of the rectangle",31,null],[12,"border","","The border",31,null],[4,"Shape","","The shape of the rectangle",null,null],[13,"Square","","Square corners",32,null],[13,"Round","","Round corners, with resolution per corner.",32,null],[13,"Bevel","","Bevel corners",32,null],[5,"centered","","Use x, y, half-width, half-height",null,{"inputs":[{"name":"rectangle"}],"output":{"name":"rectangle"}}],[5,"centered_square","","Use centered square",null,{"inputs":[{"name":"scalar"},{"name":"scalar"},{"name":"scalar"}],"output":{"name":"rectangle"}}],[5,"square","","Use square with x, y in upper left corner",null,{"inputs":[{"name":"scalar"},{"name":"scalar"},{"name":"scalar"}],"output":{"name":"rectangle"}}],[11,"clone","","",32,null],[11,"clone","","",30,null],[11,"clone","","",31,null],[11,"new","","Creates a new rectangle.",31,{"inputs":[{"name":"color"}],"output":{"name":"rectangle"}}],[11,"new_round","","Creates a new round rectangle.",31,{"inputs":[{"name":"color"},{"name":"radius"}],"output":{"name":"rectangle"}}],[11,"new_border","","Creates a new rectangle border.",31,{"inputs":[{"name":"color"},{"name":"radius"}],"output":{"name":"rectangle"}}],[11,"new_round_border","","Creates a new round rectangle border.",31,{"inputs":[{"name":"color"},{"name":"radius"},{"name":"radius"}],"output":{"name":"rectangle"}}],[11,"color","","Sets color.",31,null],[11,"shape","","Sets shape.",31,null],[11,"border","","Sets border.",31,null],[11,"maybe_border","","Sets optional border.",31,null],[11,"draw","","Draws the rectangle using default method.",31,null],[11,"draw_tri","","Draws the rectangle using triangulation.",31,null],[0,"image","graphics","Draw an image",null,null],[3,"Image","graphics::image","An image",null,null],[12,"color","","The color",33,null],[12,"rectangle","","The rectangle to draw image inside",33,null],[12,"source_rectangle","","The image source rectangle",33,null],[5,"draw_many","","Draws many images.",null,null],[11,"clone","","",33,null],[11,"new","","Creates a new image",33,{"inputs":[],"output":{"name":"image"}}],[11,"new_color","","Creates a new colored image",33,{"inputs":[{"name":"color"}],"output":{"name":"image"}}],[11,"color","","Sets color.",33,null],[11,"maybe_color","","Sets optional color.",33,null],[11,"rect","","Sets rectangle.",33,null],[11,"maybe_rect","","Sets optional rectangle.",33,null],[11,"src_rect","","Sets source rectangle.",33,null],[11,"maybe_src_rect","","Sets optional source rectangle.",33,null],[11,"draw","","Draws image using default method.",33,null],[11,"draw_tri","","Draws image using triangulation.",33,null],[0,"types","graphics","Contains type aliases used in this library",null,null],[6,"Area","graphics::types","The type used for area.",null,null],[6,"Color","","[red, green, blue, alpha]",null,null],[6,"ColorComponent","","The type used for color component.",null,null],[6,"Line","","[x1, y1, x2, y2]",null,null],[6,"SourceRectangle","","[x, y, w, h]",null,null],[6,"Polygon","","[p0, p1, ...]",null,null],[6,"Polygons","","A slice of polygons.",null,null],[6,"Radius","","The type used for radius.",null,null],[6,"Resolution","","The type used for resolution.",null,null],[6,"Ray","","[x, y, dir_x, dir_y]",null,null],[6,"Rectangle","","[x, y, w, h]",null,null],[6,"Triangle","","[x1, y1, x2, y2, x3, y3]",null,null],[6,"Width","","The type used for width.",null,null],[6,"FontSize","","The type used for font size.",null,null],[0,"modular_index","graphics","Helper functions for computing modular index safely.",null,null],[5,"offset","graphics::modular_index","Computes modular offset safely for indices.",null,{"inputs":[{"name":"usize"},{"name":"usize"},{"name":"isize"}],"output":{"name":"usize"}}],[5,"previous","","Computes previous modular index safely.",null,{"inputs":[{"name":"usize"},{"name":"usize"}],"output":{"name":"usize"}}],[5,"next","","Computes next modular index safely.",null,{"inputs":[{"name":"usize"},{"name":"usize"}],"output":{"name":"usize"}}],[0,"text","graphics","Draw text",null,null],[3,"Text","graphics::text","Renders text",null,null],[12,"color","","The color",34,null],[12,"font_size","","The font size",34,null],[12,"round","","Whether or not the text's position should be rounded (to a signed distance field).",34,null],[11,"clone","","",34,null],[11,"new","","Creates a new text with black color",34,{"inputs":[{"name":"fontsize"}],"output":{"name":"text"}}],[11,"new_color","","Creates a new colored text",34,{"inputs":[{"name":"color"},{"name":"fontsize"}],"output":{"name":"text"}}],[11,"round","","A builder method indicating that the Text's position should be rounded upon drawing.",34,null],[11,"draw","","Draws text with a character cache",34,null],[0,"triangulation","graphics","Methods for converting shapes into triangles.",null,null],[5,"tx","graphics::triangulation","Transformed x coordinate as f32.",null,{"inputs":[{"name":"matrix2d"},{"name":"scalar"},{"name":"scalar"}],"output":{"name":"f32"}}],[5,"ty","","Transformed y coordinate as f32.",null,{"inputs":[{"name":"matrix2d"},{"name":"scalar"},{"name":"scalar"}],"output":{"name":"f32"}}],[5,"with_lerp_polygons_tri_list","","Streams tweened polygons using linear interpolation.",null,{"inputs":[{"name":"matrix2d"},{"name":"polygons"},{"name":"scalar"},{"name":"f"}],"output":null}],[5,"with_ellipse_tri_list","","Streams an ellipse specified by a resolution.",null,{"inputs":[{"name":"resolution"},{"name":"matrix2d"},{"name":"rectangle"},{"name":"f"}],"output":null}],[5,"with_round_border_line_tri_list","","Streams a round border line.",null,{"inputs":[{"name":"resolution"},{"name":"matrix2d"},{"name":"line"},{"name":"radius"},{"name":"f"}],"output":null}],[5,"with_round_rectangle_tri_list","","Streams a round rectangle.",null,{"inputs":[{"name":"resolution"},{"name":"matrix2d"},{"name":"rectangle"},{"name":"radius"},{"name":"f"}],"output":null}],[5,"stream_polygon_tri_list","","Streams a polygon into tri list.\nUses buffers that fit inside L1 cache.",null,{"inputs":[{"name":"matrix2d"},{"name":"e"},{"name":"f"}],"output":null}],[5,"with_ellipse_border_tri_list","","Streams an ellipse border specified by a resolution.",null,{"inputs":[{"name":"resolution"},{"name":"matrix2d"},{"name":"rectangle"},{"name":"radius"},{"name":"f"}],"output":null}],[5,"with_arc_tri_list","","Streams an arc between the two radian boundaries.",null,{"inputs":[{"name":"scalar"},{"name":"scalar"},{"name":"resolution"},{"name":"matrix2d"},{"name":"rectangle"},{"name":"radius"},{"name":"f"}],"output":null}],[5,"with_round_rectangle_border_tri_list","","Streams a round rectangle border.",null,{"inputs":[{"name":"resolution"},{"name":"matrix2d"},{"name":"rectangle"},{"name":"radius"},{"name":"radius"},{"name":"f"}],"output":null}],[5,"stream_quad_tri_list","","Streams a quad into tri list.",null,{"inputs":[{"name":"matrix2d"},{"name":"e"},{"name":"f"}],"output":null}],[5,"with_polygon_tri_list","","Splits polygon into convex segments.\nCreate a buffer that fits into L1 cache with 1KB overhead.",null,{"inputs":[{"name":"matrix2d"},{"name":"polygon"},{"name":"f"}],"output":null}],[5,"rect_tri_list_xy","","Creates triangle list vertices from rectangle.",null,null],[5,"rect_border_tri_list_xy","","Creates triangle list vertices from rectangle.",null,null],[5,"rect_tri_list_uv","","Creates triangle list texture coords from image.",null,null],[0,"math","graphics","Various methods for computing with vectors.",null,null],[5,"multiply","graphics::math","Multiplies two matrices.",null,null],[5,"dot","","Computes the dot product.",null,null],[5,"cross","","Computes the cross product.",null,null],[5,"add","","Adds two vectors.",null,null],[5,"sub","","Subtracts 'b' from 'a'.",null,null],[5,"cast","","Converts to another vector type.",null,null],[5,"mul","","Multiplies two vectors component wise.",null,null],[5,"mul_scalar","","Multiplies the vector with a scalar.",null,null],[5,"square_len","","Computes the square length of a vector.",null,null],[5,"transform_pos","","Transforms a 2D position through matrix.",null,null],[5,"transform_vec","","Transforms a 2D vector through matrix.",null,null],[5,"perp","","Creates a perpendicular vector.",null,null],[5,"abs_transform","","Transforms from normalized to absolute coordinates.",null,{"inputs":[{"name":"t"},{"name":"t"}],"output":{"name":"matrix2d"}}],[5,"translate","","Creates a translation matrix.",null,{"inputs":[{"name":"vec2d"}],"output":{"name":"matrix2d"}}],[5,"rotate_radians","","Creates a rotation matrix.",null,{"inputs":[{"name":"t"}],"output":{"name":"matrix2d"}}],[5,"orient","","Orients x axis to look at point.",null,{"inputs":[{"name":"t"},{"name":"t"}],"output":{"name":"matrix2d"}}],[5,"scale","","Create a scale matrix.",null,{"inputs":[{"name":"t"},{"name":"t"}],"output":{"name":"matrix2d"}}],[5,"shear","","Create a shear matrix.",null,{"inputs":[{"name":"vec2d"}],"output":{"name":"matrix2d"}}],[5,"identity","","Create an identity matrix.",null,{"inputs":[],"output":{"name":"matrix2d"}}],[5,"get_scale","","Extract scale information from matrix.",null,{"inputs":[{"name":"matrix2d"}],"output":{"name":"vec2d"}}],[5,"separation","","Compute the shortest vector from point to ray.\nA ray stores starting point and directional vector.",null,{"inputs":[{"name":"ray"},{"name":"vec2d"}],"output":{"name":"vec2d"}}],[5,"least_separation_4","","Returns the least separation out of four.\nEach seperation can be computed using `separation` function.\nThe separation returned can be used\nto solve collision of rectangles.",null,{"inputs":[{"name":"vec2d"},{"name":"vec2d"},{"name":"vec2d"},{"name":"vec2d"}],"output":{"name":"vec2d"}}],[5,"margin_rectangle","","Shrinks a rectangle by a factor on all sides.",null,{"inputs":[{"name":"rectangle"},{"name":"t"}],"output":{"name":"rectangle"}}],[5,"relative_rectangle","","Computes a relative rectangle using the rectangle as a tile.",null,{"inputs":[{"name":"rectangle"},{"name":"vec2d"}],"output":{"name":"rectangle"}}],[5,"overlap_rectangle","","Computes overlap between two rectangles.\nThe area of the overlapping rectangle is positive.\nA shared edge or corner is not considered overlap.",null,{"inputs":[{"name":"rectangle"},{"name":"rectangle"}],"output":{"name":"option"}}],[5,"relative_source_rectangle","","Computes a relative source rectangle using\nthe source rectangle as a tile.",null,{"inputs":[{"name":"sourcerectangle"},{"name":"i32"},{"name":"i32"}],"output":{"name":"sourcerectangle"}}],[5,"modular_offset","","Computes modular offset safely for numbers.",null,{"inputs":[{"name":"t"},{"name":"t"},{"name":"t"}],"output":{"name":"t"}}],[5,"area_centroid","","Computes the area and centroid of a simple polygon.",null,null],[5,"area","","Computes area of a simple polygon.",null,{"inputs":[{"name":"polygon"}],"output":{"name":"t"}}],[5,"centroid","","Computes centroid of a simple polygon.",null,{"inputs":[{"name":"polygon"}],"output":{"name":"vec2d"}}],[5,"line_side","","Returns a number that tells which side it is relative to a line.",null,{"inputs":[{"name":"line"},{"name":"vec2d"}],"output":{"name":"t"}}],[5,"inside_triangle","","Returns true if point is inside triangle.",null,{"inputs":[{"name":"triangle"},{"name":"vec2d"}],"output":{"name":"bool"}}],[5,"triangle_face","","Returns true if triangle is clockwise.",null,{"inputs":[{"name":"triangle"}],"output":{"name":"bool"}}],[5,"to_barycentric","","Transforms from cartesian coordinates to barycentric.",null,{"inputs":[{"name":"triangle"},{"name":"vec2d"}],"output":{"name":"vec3d"}}],[5,"from_barycentric","","Transforms from barycentric coordinates to cartesian.",null,{"inputs":[{"name":"triangle"},{"name":"vec3d"}],"output":{"name":"vec2d"}}],[5,"hsv","","Transform color with hue, saturation and value.",null,{"inputs":[{"name":"color"},{"name":"f32"},{"name":"f32"},{"name":"f32"}],"output":{"name":"color"}}],[6,"Scalar","","The type used for scalars.",null,null],[6,"Matrix2d","","The type used for matrices.",null,null],[6,"Vec2d","","The type used for 2D vectors.",null,null],[6,"Vec3d","","The type used for 3D vectors.",null,null],[0,"deform","graphics","Least square deforming of a 2D grid.",null,null],[3,"DeformGrid","graphics::deform","Represents a deformed grid.",null,null],[12,"cols","","The number of columns in the grid.",35,null],[12,"rows","","The number of rows in the grid.",35,null],[12,"rect","","The grid undeformed, which is a plain rectangle.",35,null],[12,"vertices","","The vertices, deformed.",35,null],[12,"indices","","The triangle indices.",35,null],[12,"texture_coords","","The texture coordinates.",35,null],[12,"ps","","Initial position of control points.",35,null],[12,"qs","","The current position of control points.",35,null],[12,"wis","","A weight computation buffer, one for each control point.",35,null],[11,"clone","","",35,null],[11,"new","","Creates a new DeformGrid.",35,{"inputs":[{"name":"rectangle"},{"name":"usize"},{"name":"usize"}],"output":{"name":"deformgrid"}}],[11,"set_current","","Sets current control position.",35,null],[11,"set_original","","Sets original control position.",35,null],[11,"reset_control_points","","Removes all control points.",35,null],[11,"reset_vertices_and_texture_coords","","Sets vertices and texture coords back to default.",35,null],[11,"hit","","Finds original coordinate.\nIf the deformed grid is overlapping itself, multiple hits might occur.\nReturns the first hit it finds.",35,null],[11,"draw_image","","Draws deformed image using default method.",35,null],[11,"draw_image_tri","","Draws deformed image using triangulation.",35,null],[11,"add_control_point","","Adds a control point, in original coordinates.",35,null],[11,"draw_vertical_lines","","Draw vertical grid lines.",35,null],[11,"draw_horizontal_lines","","Draw horizontal grid lines.",35,null],[11,"update","","Updates the grid, by deforming the vertices.",35,null],[0,"grid","graphics","A flat grid with square cells.",null,null],[3,"Grid","graphics::grid","Represents a flat grid with square cells.",null,null],[12,"cols","","Number of columns.",36,null],[12,"rows","","Number of rows.",36,null],[12,"units","","The width and height of each grid cell.",36,null],[3,"GridCells","","Iterates through the cells of a grid as (u32, u32).",null,null],[11,"clone","","",36,null],[11,"clone","","",37,null],[11,"draw","","Draws the grid.",36,null],[11,"cells","","Get a GridIterator for the grid",36,null],[11,"cell_position","","Get on-screen position of a grid cell",36,null],[11,"x_pos","","Get on-screen x position of a grid cell",36,null],[11,"y_pos","","Get on-screen y position of a grid cell",36,null],[11,"next","","",37,null],[0,"radians","graphics","Reexport radians helper trait from vecmath",null,null],[8,"Radians","graphics::radians","Useful constants for radians.",null,null],[10,"_90","","Returns radians corresponding to 90 degrees.",38,{"inputs":[],"output":{"name":"self"}}],[10,"_180","","Returns radians corresponding to 180 degrees.",38,{"inputs":[],"output":{"name":"self"}}],[10,"_360","","Returns radians corresponding to 360 degrees.",38,{"inputs":[],"output":{"name":"self"}}],[10,"deg_to_rad","","Convert a value to radians from degrees.\nEquivalent to ```value * (π / 180)```.",38,null],[10,"rad_to_deg","","Convert a value to degrees from radians.\nEquivalent to ```value * (180 / π)```.",38,null],[7,"BACK_END_MAX_VERTEX_COUNT","graphics","Any triangulation method called on the back-end\nnever exceeds this number of vertices.\nThis can be used to initialize buffers that fit the chunk size.",null,null],[8,"Graphics","","Implemented by all graphics back-ends.",null,null],[16,"Texture","","The texture type associated with the back-end.",39,null],[10,"clear_color","","Clears background with a color.",39,null],[10,"clear_stencil","","Clears stencil buffer with a value.",39,null],[10,"tri_list","","Renders list of 2d triangles.",39,null],[10,"tri_list_uv","","Renders list of 2d triangles.",39,null],[11,"rectangle","","Draws a rectangle.",39,null],[11,"polygon","","Draws a polygon.",39,null],[11,"polygon_tween_lerp","","Draws a tweened polygon using linear interpolation.",39,null],[11,"image","","Draws image.",39,null],[11,"ellipse","","Draws ellipse.",39,null],[11,"line","","Draws line.",39,null],[11,"circle_arc","","Draws circle arc.",39,null],[11,"deform_image","","Draws deformed image.",39,null],[8,"SourceRectangled","","Should be implemented by contexts that\nhave source rectangle information.",null,null],[10,"src_rect","","Adds a source rectangle.",40,null],[10,"src_rel","","Moves to a relative source rectangle using\nthe current source rectangle as tile.",40,null],[10,"src_flip_h","","Flips the source rectangle horizontally.",40,null],[10,"src_flip_v","","Flips the source rectangle vertically.",40,null],[10,"src_flip_hv","","Flips the source rectangle horizontally and vertically.",40,null],[8,"Rectangled","","Should be implemented by contexts that have rectangle information.",null,null],[10,"margin","","Shrinks the current rectangle equally by all sides.",41,null],[11,"expand","","Expands the current rectangle equally by all sides.",41,null],[10,"rel","","Moves to a relative rectangle using the current rectangle as tile.",41,null],[8,"Transformed","","Implemented by contexts that can transform.",null,null],[10,"append_transform","","Appends transform to the current one.",42,null],[10,"prepend_transform","","Prepends transform to the current one.",42,null],[10,"trans","","Translate x an y in local coordinates.",42,null],[11,"rot_deg","","Rotates degrees in local coordinates.",42,null],[10,"rot_rad","","Rotate radians in local coordinates.",42,null],[10,"orient","","Orients x axis to look at point locally.",42,null],[10,"scale","","Scales in local coordinates.",42,null],[11,"zoom","","Scales in both directions in local coordinates.",42,null],[11,"flip_v","","Flips vertically in local coordinates.",42,null],[11,"flip_h","","Flips horizontally in local coordinates.",42,null],[11,"flip_hv","","Flips horizontally and vertically in local coordinates.",42,null],[10,"shear","","Shears in local coordinates.",42,null],[8,"Colored","","Implemented by contexts that contains color.",null,null],[10,"mul_rgba","","Multiplies with red, green, blue and alpha values.",43,null],[11,"tint","","Mixes the current color with white.",43,null],[11,"shade","","Mixes the current color with black.",43,null],[11,"hue_deg","","Rotates hue by degrees.",43,null],[10,"hue_rad","","Rotates hue by radians.",43,null],[11,"fmt","graphics::draw_state::state","",1,null],[11,"clone","","",1,null],[11,"hash","","",1,null],[11,"partial_cmp","","",1,null],[11,"eq","","",1,null],[11,"cmp","","",1,null],[11,"partial_cmp","","",2,null],[11,"lt","","",2,null],[11,"le","","",2,null],[11,"gt","","",2,null],[11,"ge","","",2,null],[11,"fmt","","",2,null],[11,"eq","","",2,null],[11,"ne","","",2,null],[11,"clone","","",2,null],[11,"cmp","","",3,null],[11,"partial_cmp","","",3,null],[11,"hash","","",3,null],[11,"fmt","","",3,null],[11,"eq","","",3,null],[11,"clone","","",3,null],[11,"partial_cmp","","",4,null],[11,"lt","","",4,null],[11,"le","","",4,null],[11,"gt","","",4,null],[11,"ge","","",4,null],[11,"fmt","","",4,null],[11,"eq","","",4,null],[11,"ne","","",4,null],[11,"clone","","",4,null],[11,"partial_cmp","","",5,null],[11,"lt","","",5,null],[11,"le","","",5,null],[11,"gt","","",5,null],[11,"ge","","",5,null],[11,"fmt","","",5,null],[11,"eq","","",5,null],[11,"ne","","",5,null],[11,"clone","","",5,null],[11,"get_cull_face","","Get the cull face, if any, for this primitive state.",5,null],[11,"default","","",5,{"inputs":[],"output":{"name":"primitive"}}],[11,"cmp","","",44,null],[11,"partial_cmp","","",44,null],[11,"hash","","",44,null],[11,"fmt","","",44,null],[11,"eq","","",44,null],[11,"clone","","",44,null],[11,"cmp","","",6,null],[11,"partial_cmp","","",6,null],[11,"hash","","",6,null],[11,"fmt","","",6,null],[11,"eq","","",6,null],[11,"clone","","",6,null],[11,"cmp","","",7,null],[11,"partial_cmp","","",7,null],[11,"hash","","",7,null],[11,"fmt","","",7,null],[11,"eq","","",7,null],[11,"clone","","",7,null],[11,"cmp","","",8,null],[11,"partial_cmp","","",8,null],[11,"lt","","",8,null],[11,"le","","",8,null],[11,"gt","","",8,null],[11,"ge","","",8,null],[11,"hash","","",8,null],[11,"fmt","","",8,null],[11,"eq","","",8,null],[11,"ne","","",8,null],[11,"clone","","",8,null],[11,"default","","",8,{"inputs":[],"output":{"name":"stencilside"}}],[11,"cmp","","",9,null],[11,"partial_cmp","","",9,null],[11,"lt","","",9,null],[11,"le","","",9,null],[11,"gt","","",9,null],[11,"ge","","",9,null],[11,"hash","","",9,null],[11,"fmt","","",9,null],[11,"eq","","",9,null],[11,"ne","","",9,null],[11,"clone","","",9,null],[11,"cmp","","",10,null],[11,"partial_cmp","","",10,null],[11,"lt","","",10,null],[11,"le","","",10,null],[11,"gt","","",10,null],[11,"ge","","",10,null],[11,"hash","","",10,null],[11,"fmt","","",10,null],[11,"eq","","",10,null],[11,"ne","","",10,null],[11,"clone","","",10,null],[11,"default","","",10,{"inputs":[],"output":{"name":"depth"}}],[11,"cmp","","",11,null],[11,"partial_cmp","","",11,null],[11,"hash","","",11,null],[11,"fmt","","",11,null],[11,"eq","","",11,null],[11,"clone","","",11,null],[11,"cmp","","",12,null],[11,"partial_cmp","","",12,null],[11,"hash","","",12,null],[11,"fmt","","",12,null],[11,"eq","","",12,null],[11,"clone","","",12,null],[11,"cmp","","",13,null],[11,"partial_cmp","","",13,null],[11,"lt","","",13,null],[11,"le","","",13,null],[11,"gt","","",13,null],[11,"ge","","",13,null],[11,"hash","","",13,null],[11,"fmt","","",13,null],[11,"eq","","",13,null],[11,"ne","","",13,null],[11,"clone","","",13,null],[11,"fmt","","",14,null],[11,"clone","","",14,null],[11,"hash","","",14,null],[11,"partial_cmp","","",14,null],[11,"lt","","",14,null],[11,"le","","",14,null],[11,"gt","","",14,null],[11,"ge","","",14,null],[11,"eq","","",14,null],[11,"ne","","",14,null],[11,"cmp","","",14,null],[11,"default","","",14,{"inputs":[],"output":{"name":"blendchannel"}}],[11,"eq","","",15,null],[11,"ne","","",15,null],[11,"partial_cmp","","",15,null],[11,"lt","","",15,null],[11,"le","","",15,null],[11,"gt","","",15,null],[11,"ge","","",15,null],[11,"clone","","",15,null],[11,"default","","",15,{"inputs":[],"output":{"name":"blend"}}],[11,"fmt","","",15,null],[11,"hash","","",45,null],[11,"cmp","","",45,null],[11,"partial_cmp","","",45,null],[11,"lt","","",45,null],[11,"le","","",45,null],[11,"gt","","",45,null],[11,"ge","","",45,null],[11,"clone","","",45,null],[11,"eq","","",45,null],[11,"ne","","",45,null],[11,"fmt","","",45,null],[11,"empty","","Returns an empty set of flags.",45,{"inputs":[],"output":{"name":"colormask"}}],[11,"all","","Returns the set containing all flags.",45,{"inputs":[],"output":{"name":"colormask"}}],[11,"bits","","Returns the raw value of the flags currently stored.",45,null],[11,"from_bits","","Convert from underlying bit representation, unless that\nrepresentation contains bits that do not correspond to a flag.",45,{"inputs":[{"name":"u32"}],"output":{"name":"option"}}],[11,"from_bits_truncate","","Convert from underlying bit representation, dropping any bits\nthat do not correspond to flags.",45,{"inputs":[{"name":"u32"}],"output":{"name":"colormask"}}],[11,"is_empty","","Returns `true` if no flags are currently stored.",45,null],[11,"is_all","","Returns `true` if all flags are currently set.",45,null],[11,"intersects","","Returns `true` if there are flags common to both `self` and `other`.",45,null],[11,"contains","","Returns `true` all of the flags in `other` are contained within `self`.",45,null],[11,"insert","","Inserts the specified flags in-place.",45,null],[11,"remove","","Removes the specified flags in-place.",45,null],[11,"toggle","","Toggles the specified flags in-place.",45,null],[11,"bitor","","Returns the union of the two sets of flags.",45,null],[11,"bitxor","","Returns the left flags, but with all the right flags toggled.",45,null],[11,"bitand","","Returns the intersection between the two sets of flags.",45,null],[11,"sub","","Returns the set difference of the two sets of flags.",45,null],[11,"not","","Returns the complement of this set of flags.",45,null],[11,"from_iter","","",45,{"inputs":[{"name":"t"}],"output":{"name":"colormask"}}],[11,"partial_cmp","graphics::draw_state::target","",16,null],[11,"lt","","",16,null],[11,"le","","",16,null],[11,"gt","","",16,null],[11,"ge","","",16,null],[11,"fmt","","",16,null],[11,"eq","","",16,null],[11,"ne","","",16,null],[11,"clone","","",16,null],[11,"hash","","",46,null],[11,"cmp","","",46,null],[11,"partial_cmp","","",46,null],[11,"lt","","",46,null],[11,"le","","",46,null],[11,"gt","","",46,null],[11,"ge","","",46,null],[11,"clone","","",46,null],[11,"eq","","",46,null],[11,"ne","","",46,null],[11,"fmt","","",46,null],[11,"empty","","Returns an empty set of flags.",46,{"inputs":[],"output":{"name":"mask"}}],[11,"all","","Returns the set containing all flags.",46,{"inputs":[],"output":{"name":"mask"}}],[11,"bits","","Returns the raw value of the flags currently stored.",46,null],[11,"from_bits","","Convert from underlying bit representation, unless that\nrepresentation contains bits that do not correspond to a flag.",46,{"inputs":[{"name":"u8"}],"output":{"name":"option"}}],[11,"from_bits_truncate","","Convert from underlying bit representation, dropping any bits\nthat do not correspond to flags.",46,{"inputs":[{"name":"u8"}],"output":{"name":"mask"}}],[11,"is_empty","","Returns `true` if no flags are currently stored.",46,null],[11,"is_all","","Returns `true` if all flags are currently set.",46,null],[11,"intersects","","Returns `true` if there are flags common to both `self` and `other`.",46,null],[11,"contains","","Returns `true` all of the flags in `other` are contained within `self`.",46,null],[11,"insert","","Inserts the specified flags in-place.",46,null],[11,"remove","","Removes the specified flags in-place.",46,null],[11,"toggle","","Toggles the specified flags in-place.",46,null],[11,"bitor","","Returns the union of the two sets of flags.",46,null],[11,"bitxor","","Returns the left flags, but with all the right flags toggled.",46,null],[11,"bitand","","Returns the intersection between the two sets of flags.",46,null],[11,"sub","","Returns the set difference of the two sets of flags.",46,null],[11,"not","","Returns the complement of this set of flags.",46,null],[11,"from_iter","","",46,{"inputs":[{"name":"t"}],"output":{"name":"mask"}}],[11,"hash","","",47,null],[11,"cmp","","",47,null],[11,"partial_cmp","","",47,null],[11,"lt","","",47,null],[11,"le","","",47,null],[11,"gt","","",47,null],[11,"ge","","",47,null],[11,"clone","","",47,null],[11,"eq","","",47,null],[11,"ne","","",47,null],[11,"fmt","","",47,null],[11,"empty","","Returns an empty set of flags.",47,{"inputs":[],"output":{"name":"mirror"}}],[11,"all","","Returns the set containing all flags.",47,{"inputs":[],"output":{"name":"mirror"}}],[11,"bits","","Returns the raw value of the flags currently stored.",47,null],[11,"from_bits","","Convert from underlying bit representation, unless that\nrepresentation contains bits that do not correspond to a flag.",47,{"inputs":[{"name":"u8"}],"output":{"name":"option"}}],[11,"from_bits_truncate","","Convert from underlying bit representation, dropping any bits\nthat do not correspond to flags.",47,{"inputs":[{"name":"u8"}],"output":{"name":"mirror"}}],[11,"is_empty","","Returns `true` if no flags are currently stored.",47,null],[11,"is_all","","Returns `true` if all flags are currently set.",47,null],[11,"intersects","","Returns `true` if there are flags common to both `self` and `other`.",47,null],[11,"contains","","Returns `true` all of the flags in `other` are contained within `self`.",47,null],[11,"insert","","Inserts the specified flags in-place.",47,null],[11,"remove","","Removes the specified flags in-place.",47,null],[11,"toggle","","Toggles the specified flags in-place.",47,null],[11,"bitor","","Returns the union of the two sets of flags.",47,null],[11,"bitxor","","Returns the left flags, but with all the right flags toggled.",47,null],[11,"bitand","","Returns the intersection between the two sets of flags.",47,null],[11,"sub","","Returns the set difference of the two sets of flags.",47,null],[11,"not","","Returns the complement of this set of flags.",47,null],[11,"from_iter","","",47,{"inputs":[{"name":"t"}],"output":{"name":"mirror"}}],[11,"partial_cmp","","",17,null],[11,"lt","","",17,null],[11,"le","","",17,null],[11,"gt","","",17,null],[11,"ge","","",17,null],[11,"eq","","",17,null],[11,"ne","","",17,null],[11,"clone","","",17,null],[11,"fmt","","",17,null],[11,"partial_cmp","graphics","",18,null],[11,"lt","","",18,null],[11,"le","","",18,null],[11,"gt","","",18,null],[11,"ge","","",18,null],[11,"fmt","","",18,null],[11,"eq","","",18,null],[11,"ne","","",18,null],[11,"clone","","",18,null],[11,"cmp","graphics::draw_state","",19,null],[11,"partial_cmp","","",19,null],[11,"hash","","",19,null],[11,"fmt","","",19,null],[11,"eq","","",19,null],[11,"clone","","",19,null],[11,"new","graphics","Create a default `DrawState`. Uses counter-clockwise winding, culls the backface of each\nprimitive, and does no scissor/stencil/depth/blend/color masking.",18,{"inputs":[],"output":{"name":"drawstate"}}],[11,"get_target_mask","","Return a target mask that contains all the planes required by this state.",18,null],[11,"multi_sample","","Enable multi-sampled rasterization",18,null],[11,"stencil","","Set the stencil test to a simple expression",18,null],[11,"depth","","Set the depth test with the mask",18,null],[11,"scissor","","Set the scissor",18,null],[11,"blend","","Set the blend mode to one of the presets",18,null],[11,"abs_transform","","Computes absolute transform for 2D graphics,\nwhich uses a row major 2x3 matrix.\nThe origin is in the upper left corner of the viewport rectangle.\nThe x axis points to the right, and the y axis points down.\nThe units are in points (window coordinates).",20,null],[11,"clone","","",20,null],[11,"rectangle","","Draws a rectangle.",39,null],[11,"polygon","","Draws a polygon.",39,null],[11,"polygon_tween_lerp","","Draws a tweened polygon using linear interpolation.",39,null],[11,"image","","Draws image.",39,null],[11,"ellipse","","Draws ellipse.",39,null],[11,"line","","Draws line.",39,null],[11,"circle_arc","","Draws circle arc.",39,null],[11,"deform_image","","Draws deformed image.",39,null],[11,"src_rect","graphics::types","",48,null],[11,"src_rel","","",48,null],[11,"src_flip_h","","",48,null],[11,"src_flip_v","","",48,null],[11,"src_flip_hv","","",48,null],[11,"expand","graphics","Expands the current rectangle equally by all sides.",41,null],[11,"margin","graphics::types","",49,null],[11,"rel","","",49,null],[11,"rot_deg","graphics","Rotates degrees in local coordinates.",42,null],[11,"zoom","","Scales in both directions in local coordinates.",42,null],[11,"flip_v","","Flips vertically in local coordinates.",42,null],[11,"flip_h","","Flips horizontally in local coordinates.",42,null],[11,"flip_hv","","Flips horizontally and vertically in local coordinates.",42,null],[11,"append_transform","graphics::math","",50,null],[11,"prepend_transform","","",50,null],[11,"trans","","",50,null],[11,"rot_rad","","",50,null],[11,"orient","","",50,null],[11,"scale","","",50,null],[11,"shear","","",50,null],[11,"append_transform","graphics::context","",23,null],[11,"prepend_transform","","",23,null],[11,"trans","","",23,null],[11,"rot_rad","","",23,null],[11,"orient","","",23,null],[11,"scale","","",23,null],[11,"shear","","",23,null],[11,"tint","graphics","Mixes the current color with white.",43,null],[11,"shade","","Mixes the current color with black.",43,null],[11,"hue_deg","","Rotates hue by degrees.",43,null],[11,"mul_rgba","graphics::types","",51,null],[11,"hue_rad","","",51,null],[11,"mul_rgba","graphics::line","",25,null],[11,"hue_rad","","",25,null],[11,"mul_rgba","graphics::ellipse","",29,null],[11,"hue_rad","","",29,null],[11,"mul_rgba","graphics::rectangle","",31,null],[11,"hue_rad","","",31,null]],"paths":[[8,"ImageSize"],[4,"FrontFace"],[3,"Offset"],[4,"CullFace"],[4,"RasterMethod"],[3,"Primitive"],[4,"Comparison"],[4,"StencilOp"],[3,"StencilSide"],[3,"Stencil"],[3,"Depth"],[4,"Equation"],[4,"BlendValue"],[4,"Factor"],[3,"BlendChannel"],[3,"Blend"],[3,"Rect"],[3,"ClearData"],[3,"DrawState"],[4,"BlendPreset"],[3,"Viewport"],[3,"Character"],[8,"CharacterCache"],[3,"Context"],[3,"Polygon"],[3,"Line"],[4,"Shape"],[3,"CircleArc"],[3,"Border"],[3,"Ellipse"],[3,"Border"],[3,"Rectangle"],[4,"Shape"],[3,"Image"],[3,"Text"],[3,"DeformGrid"],[3,"Grid"],[3,"GridCells"],[8,"Radians"],[8,"Graphics"],[8,"SourceRectangled"],[8,"Rectangled"],[8,"Transformed"],[8,"Colored"],[3,"MultiSample"],[3,"ColorMask"],[3,"Mask"],[3,"Mirror"],[6,"SourceRectangle"],[6,"Rectangle"],[6,"Matrix2d"],[6,"Color"]]}; initSearch(searchIndex);