var searchIndex = {}; searchIndex["sdl2"] = {"doc":"","items":[[3,"ErrorMessage","sdl2","A message with information about an error that SDL has encountered.",null,null],[12,"0","","",0,null],[3,"Sdl","","The SDL context type. Initialize with `sdl2::init()`.",null,null],[3,"AudioSubsystem","","",null,null],[3,"GameControllerSubsystem","","",null,null],[3,"HapticSubsystem","","",null,null],[3,"JoystickSubsystem","","",null,null],[3,"VideoSubsystem","","",null,null],[3,"TimerSubsystem","","",null,null],[3,"EventSubsystem","","",null,null],[3,"EventPump","","A thread-safe type that encapsulates SDL event-pumping functions.",null,null],[4,"Error","","",null,null],[13,"NoMemError","","",1,null],[13,"ReadError","","",1,null],[13,"WriteError","","",1,null],[13,"SeekError","","",1,null],[13,"UnsupportedError","","",1,null],[5,"init","","Initializes the SDL library.\nThis must be called before using any other SDL function.",null,{"inputs":[],"output":{"name":"sdlresult"}}],[5,"get_error","","",null,{"inputs":[],"output":{"name":"errormessage"}}],[5,"set_error","","",null,{"inputs":[{"name":"str"}],"output":null}],[5,"set_error_from_code","","",null,{"inputs":[{"name":"error"}],"output":null}],[5,"clear_error","","",null,{"inputs":[],"output":null}],[0,"clipboard","","",null,null],[3,"ClipboardUtil","sdl2::clipboard","Clipboard utility functions. Access with `VideoSubsystem::clipboard()`.",null,null],[11,"clipboard","sdl2","",2,null],[11,"set_clipboard_text","sdl2::clipboard","",3,null],[11,"clipboard_text","","",3,null],[11,"has_clipboard_text","","",3,null],[0,"cpuinfo","sdl2","",null,null],[5,"cpu_count","sdl2::cpuinfo","",null,{"inputs":[],"output":{"name":"i32"}}],[5,"cpu_cache_line_size","","",null,{"inputs":[],"output":{"name":"i32"}}],[5,"has_rdtsc","","",null,{"inputs":[],"output":{"name":"bool"}}],[5,"has_alti_vec","","",null,{"inputs":[],"output":{"name":"bool"}}],[5,"has_mmx","","",null,{"inputs":[],"output":{"name":"bool"}}],[5,"has_3d_now","","",null,{"inputs":[],"output":{"name":"bool"}}],[5,"has_sse","","",null,{"inputs":[],"output":{"name":"bool"}}],[5,"has_sse2","","",null,{"inputs":[],"output":{"name":"bool"}}],[5,"has_sse3","","",null,{"inputs":[],"output":{"name":"bool"}}],[5,"has_sse41","","",null,{"inputs":[],"output":{"name":"bool"}}],[5,"has_sse42","","",null,{"inputs":[],"output":{"name":"bool"}}],[5,"has_avx","","",null,{"inputs":[],"output":{"name":"bool"}}],[5,"system_ram","","",null,{"inputs":[],"output":{"name":"i32"}}],[17,"CACHELINESIZE","","",null,null],[0,"event","sdl2","Event Handling",null,null],[3,"EventPollIterator","sdl2::event","An iterator that calls `EventPump::poll_event()`.",null,null],[3,"EventWaitIterator","","An iterator that calls `EventPump::wait_event()`.",null,null],[3,"EventWaitTimeoutIterator","","An iterator that calls `EventPump::wait_event_timeout()`.",null,null],[4,"EventType","","Types of events that can be delivered.",null,null],[13,"First","","",4,null],[13,"Quit","","",4,null],[13,"AppTerminating","","",4,null],[13,"AppLowMemory","","",4,null],[13,"AppWillEnterBackground","","",4,null],[13,"AppDidEnterBackground","","",4,null],[13,"AppWillEnterForeground","","",4,null],[13,"AppDidEnterForeground","","",4,null],[13,"Window","","",4,null],[13,"KeyDown","","",4,null],[13,"KeyUp","","",4,null],[13,"TextEditing","","",4,null],[13,"TextInput","","",4,null],[13,"MouseMotion","","",4,null],[13,"MouseButtonDown","","",4,null],[13,"MouseButtonUp","","",4,null],[13,"MouseWheel","","",4,null],[13,"JoyAxisMotion","","",4,null],[13,"JoyBallMotion","","",4,null],[13,"JoyHatMotion","","",4,null],[13,"JoyButtonDown","","",4,null],[13,"JoyButtonUp","","",4,null],[13,"JoyDeviceAdded","","",4,null],[13,"JoyDeviceRemoved","","",4,null],[13,"ControllerAxisMotion","","",4,null],[13,"ControllerButtonDown","","",4,null],[13,"ControllerButtonUp","","",4,null],[13,"ControllerDeviceAdded","","",4,null],[13,"ControllerDeviceRemoved","","",4,null],[13,"ControllerDeviceRemapped","","",4,null],[13,"FingerDown","","",4,null],[13,"FingerUp","","",4,null],[13,"FingerMotion","","",4,null],[13,"DollarGesture","","",4,null],[13,"DollarRecord","","",4,null],[13,"MultiGesture","","",4,null],[13,"ClipboardUpdate","","",4,null],[13,"DropFile","","",4,null],[13,"User","","",4,null],[13,"Last","","",4,null],[4,"WindowEventId","","An enum of window events.",null,null],[13,"None","","",5,null],[13,"Shown","","",5,null],[13,"Hidden","","",5,null],[13,"Exposed","","",5,null],[13,"Moved","","",5,null],[13,"Resized","","",5,null],[13,"SizeChanged","","",5,null],[13,"Minimized","","",5,null],[13,"Maximized","","",5,null],[13,"Restored","","",5,null],[13,"Enter","","",5,null],[13,"Leave","","",5,null],[13,"FocusGained","","",5,null],[13,"FocusLost","","",5,null],[13,"Close","","",5,null],[4,"Event","","Different event types.",null,null],[13,"Quit","","",6,null],[12,"timestamp","sdl2::event::Event","",6,null],[13,"AppTerminating","sdl2::event","",6,null],[12,"timestamp","sdl2::event::Event","",6,null],[13,"AppLowMemory","sdl2::event","",6,null],[12,"timestamp","sdl2::event::Event","",6,null],[13,"AppWillEnterBackground","sdl2::event","",6,null],[12,"timestamp","sdl2::event::Event","",6,null],[13,"AppDidEnterBackground","sdl2::event","",6,null],[12,"timestamp","sdl2::event::Event","",6,null],[13,"AppWillEnterForeground","sdl2::event","",6,null],[12,"timestamp","sdl2::event::Event","",6,null],[13,"AppDidEnterForeground","sdl2::event","",6,null],[12,"timestamp","sdl2::event::Event","",6,null],[13,"Window","sdl2::event","",6,null],[12,"timestamp","sdl2::event::Event","",6,null],[12,"window_id","","",6,null],[12,"win_event_id","","",6,null],[12,"data1","","",6,null],[12,"data2","","",6,null],[13,"KeyDown","sdl2::event","",6,null],[12,"timestamp","sdl2::event::Event","",6,null],[12,"window_id","","",6,null],[12,"keycode","","",6,null],[12,"scancode","","",6,null],[12,"keymod","","",6,null],[12,"repeat","","",6,null],[13,"KeyUp","sdl2::event","",6,null],[12,"timestamp","sdl2::event::Event","",6,null],[12,"window_id","","",6,null],[12,"keycode","","",6,null],[12,"scancode","","",6,null],[12,"keymod","","",6,null],[12,"repeat","","",6,null],[13,"TextEditing","sdl2::event","",6,null],[12,"timestamp","sdl2::event::Event","",6,null],[12,"window_id","","",6,null],[12,"text","","",6,null],[12,"start","","",6,null],[12,"length","","",6,null],[13,"TextInput","sdl2::event","",6,null],[12,"timestamp","sdl2::event::Event","",6,null],[12,"window_id","","",6,null],[12,"text","","",6,null],[13,"MouseMotion","sdl2::event","",6,null],[12,"timestamp","sdl2::event::Event","",6,null],[12,"window_id","","",6,null],[12,"which","","",6,null],[12,"mousestate","","",6,null],[12,"x","","",6,null],[12,"y","","",6,null],[12,"xrel","","",6,null],[12,"yrel","","",6,null],[13,"MouseButtonDown","sdl2::event","",6,null],[12,"timestamp","sdl2::event::Event","",6,null],[12,"window_id","","",6,null],[12,"which","","",6,null],[12,"mouse_btn","","",6,null],[12,"x","","",6,null],[12,"y","","",6,null],[13,"MouseButtonUp","sdl2::event","",6,null],[12,"timestamp","sdl2::event::Event","",6,null],[12,"window_id","","",6,null],[12,"which","","",6,null],[12,"mouse_btn","","",6,null],[12,"x","","",6,null],[12,"y","","",6,null],[13,"MouseWheel","sdl2::event","",6,null],[12,"timestamp","sdl2::event::Event","",6,null],[12,"window_id","","",6,null],[12,"which","","",6,null],[12,"x","","",6,null],[12,"y","","",6,null],[13,"JoyAxisMotion","sdl2::event","",6,null],[12,"timestamp","sdl2::event::Event","",6,null],[12,"which","","",6,null],[12,"axis_idx","","",6,null],[12,"value","","",6,null],[13,"JoyBallMotion","sdl2::event","",6,null],[12,"timestamp","sdl2::event::Event","",6,null],[12,"which","","",6,null],[12,"ball_idx","","",6,null],[12,"xrel","","",6,null],[12,"yrel","","",6,null],[13,"JoyHatMotion","sdl2::event","",6,null],[12,"timestamp","sdl2::event::Event","",6,null],[12,"which","","",6,null],[12,"hat_idx","","",6,null],[12,"state","","",6,null],[13,"JoyButtonDown","sdl2::event","",6,null],[12,"timestamp","sdl2::event::Event","",6,null],[12,"which","","",6,null],[12,"button_idx","","",6,null],[13,"JoyButtonUp","sdl2::event","",6,null],[12,"timestamp","sdl2::event::Event","",6,null],[12,"which","","",6,null],[12,"button_idx","","",6,null],[13,"JoyDeviceAdded","sdl2::event","",6,null],[12,"timestamp","sdl2::event::Event","",6,null],[12,"which","","",6,null],[13,"JoyDeviceRemoved","sdl2::event","",6,null],[12,"timestamp","sdl2::event::Event","",6,null],[12,"which","","",6,null],[13,"ControllerAxisMotion","sdl2::event","",6,null],[12,"timestamp","sdl2::event::Event","",6,null],[12,"which","","",6,null],[12,"axis","","",6,null],[12,"value","","",6,null],[13,"ControllerButtonDown","sdl2::event","",6,null],[12,"timestamp","sdl2::event::Event","",6,null],[12,"which","","",6,null],[12,"button","","",6,null],[13,"ControllerButtonUp","sdl2::event","",6,null],[12,"timestamp","sdl2::event::Event","",6,null],[12,"which","","",6,null],[12,"button","","",6,null],[13,"ControllerDeviceAdded","sdl2::event","",6,null],[12,"timestamp","sdl2::event::Event","",6,null],[12,"which","","",6,null],[13,"ControllerDeviceRemoved","sdl2::event","",6,null],[12,"timestamp","sdl2::event::Event","",6,null],[12,"which","","",6,null],[13,"ControllerDeviceRemapped","sdl2::event","",6,null],[12,"timestamp","sdl2::event::Event","",6,null],[12,"which","","",6,null],[13,"FingerDown","sdl2::event","",6,null],[12,"timestamp","sdl2::event::Event","",6,null],[12,"touch_id","","",6,null],[12,"finger_id","","",6,null],[12,"x","","",6,null],[12,"y","","",6,null],[12,"dx","","",6,null],[12,"dy","","",6,null],[12,"pressure","","",6,null],[13,"FingerUp","sdl2::event","",6,null],[12,"timestamp","sdl2::event::Event","",6,null],[12,"touch_id","","",6,null],[12,"finger_id","","",6,null],[12,"x","","",6,null],[12,"y","","",6,null],[12,"dx","","",6,null],[12,"dy","","",6,null],[12,"pressure","","",6,null],[13,"FingerMotion","sdl2::event","",6,null],[12,"timestamp","sdl2::event::Event","",6,null],[12,"touch_id","","",6,null],[12,"finger_id","","",6,null],[12,"x","","",6,null],[12,"y","","",6,null],[12,"dx","","",6,null],[12,"dy","","",6,null],[12,"pressure","","",6,null],[13,"DollarGesture","sdl2::event","",6,null],[12,"timestamp","sdl2::event::Event","",6,null],[12,"touch_id","","",6,null],[12,"gesture_id","","",6,null],[12,"num_fingers","","",6,null],[12,"error","","",6,null],[12,"x","","",6,null],[12,"y","","",6,null],[13,"DollarRecord","sdl2::event","",6,null],[12,"timestamp","sdl2::event::Event","",6,null],[12,"touch_id","","",6,null],[12,"gesture_id","","",6,null],[12,"num_fingers","","",6,null],[12,"error","","",6,null],[12,"x","","",6,null],[12,"y","","",6,null],[13,"MultiGesture","sdl2::event","",6,null],[12,"timestamp","sdl2::event::Event","",6,null],[12,"touch_id","","",6,null],[12,"d_theta","","",6,null],[12,"d_dist","","",6,null],[12,"x","","",6,null],[12,"y","","",6,null],[12,"num_fingers","","",6,null],[13,"ClipboardUpdate","sdl2::event","",6,null],[12,"timestamp","sdl2::event::Event","",6,null],[13,"DropFile","sdl2::event","",6,null],[12,"timestamp","sdl2::event::Event","",6,null],[12,"filename","","",6,null],[13,"User","sdl2::event","",6,null],[12,"timestamp","sdl2::event::Event","",6,null],[12,"window_id","","",6,null],[12,"type_","","",6,null],[12,"code","","",6,null],[13,"Unknown","sdl2::event","",6,null],[12,"timestamp","sdl2::event::Event","",6,null],[12,"type_","","",6,null],[11,"flush_event","sdl2","Removes all events in the event queue that match the specified event type.",7,null],[11,"flush_events","","Removes all events in the event queue that match the specified type range.",7,null],[11,"peek_events","","Reads the events at the front of the event queue, until the maximum amount\nof events is read.",7,null],[11,"push_event","","Pushes an event to the event queue.",7,null],[11,"fmt","sdl2::event","",4,null],[11,"hash","","",4,null],[11,"eq","","",4,null],[11,"clone","","",4,null],[11,"from_i64","","",4,{"inputs":[{"name":"i64"}],"output":{"name":"option"}}],[11,"from_u64","","",4,{"inputs":[{"name":"u64"}],"output":{"name":"option"}}],[11,"fmt","","",5,null],[11,"hash","","",5,null],[11,"eq","","",5,null],[11,"clone","","",5,null],[11,"eq","","",6,null],[11,"ne","","",6,null],[11,"clone","","",6,null],[11,"fmt","","",6,null],[11,"is_event_enabled","sdl2","Query if an event type is enabled.",8,null],[11,"enable_event","","Enable an event type. Returns if the event type was enabled before the call.",8,null],[11,"disable_event","","Disable an event type. Returns if the event type was enabled before the call.",8,null],[11,"poll_event","","Polls for currently pending events.",8,null],[11,"poll_iter","","Returns a polling iterator that calls `poll_event()`.\nThe iterator will terminate once there are no more pending events.",8,null],[11,"pump_events","","Pumps the event loop, gathering events from the input devices.",8,null],[11,"wait_event","","Waits indefinitely for the next available event.",8,null],[11,"wait_event_timeout","","Waits until the specified timeout (in milliseconds) for the next available event.",8,null],[11,"wait_iter","","Returns a waiting iterator that calls `wait_event()`.",8,null],[11,"wait_timeout_iter","","Returns a waiting iterator that calls `wait_event_timeout()`.",8,null],[11,"keyboard_state","","",8,null],[11,"next","sdl2::event","",9,null],[11,"next","","",10,null],[11,"next","","",11,null],[0,"filesystem","sdl2","",null,null],[5,"base_path","sdl2::filesystem","",null,{"inputs":[],"output":{"name":"sdlresult"}}],[5,"pref_path","","",null,{"inputs":[{"name":"str"},{"name":"str"}],"output":{"name":"sdlresult"}}],[0,"gesture","sdl2","",null,null],[0,"touch","","",null,null],[5,"num_touch_devices","sdl2::touch","",null,{"inputs":[],"output":{"name":"i32"}}],[5,"touch_device","","",null,{"inputs":[{"name":"i32"}],"output":{"name":"touchdevice"}}],[5,"num_touch_fingers","","",null,{"inputs":[{"name":"touchdevice"}],"output":{"name":"i32"}}],[5,"touch_finger","","",null,{"inputs":[{"name":"touchdevice"},{"name":"i32"}],"output":{"name":"option"}}],[6,"Finger","","",null,null],[6,"TouchDevice","","",null,null],[0,"joystick","sdl2","",null,null],[3,"Joystick","sdl2::joystick","Wrapper around the SDL_Joystick object",null,null],[3,"Guid","","Wrapper around a SDL_JoystickGUID, a globally unique identifier\nfor a joystick.",null,null],[4,"HatState","","This is represented in SDL2 as a bitfield but obviously not all\ncombinations make sense: 5 for instance would mean up and down at\nthe same time... To simplify things I turn it into an enum which\nis how the SDL2 docs present it anyway (using macros).",null,null],[13,"Centered","","",12,null],[13,"Up","","",12,null],[13,"Right","","",12,null],[13,"Down","","",12,null],[13,"Left","","",12,null],[13,"RightUp","","",12,null],[13,"RightDown","","",12,null],[13,"LeftUp","","",12,null],[13,"Leftdown","","",12,null],[11,"num_joysticks","sdl2","Retreive the total number of attached joysticks *and* controllers identified by SDL.",13,null],[11,"open","","Attempt to open the joystick at number `id` and return it.",13,null],[11,"name_for_index","","Return the name of the joystick at index `id`",13,null],[11,"device_guid","","Get the GUID for the joystick number `id`",13,null],[11,"set_event_state","","If state is `true` joystick events are processed, otherwise\nthey're ignored.",13,null],[11,"event_state","","Return `true` if joystick events are processed.",13,null],[11,"update","","Force joystick update when not using the event loop",13,null],[11,"subsystem","sdl2::joystick","",14,null],[11,"name","","Return the name of the joystick or an empty string if no name\nis found.",14,null],[11,"attached","","Return true if the joystick has been opened and currently\nconnected.",14,null],[11,"instance_id","","",14,null],[11,"guid","","Retreive the joystick's GUID",14,null],[11,"num_axes","","Retreive the number of axes for this joystick",14,null],[11,"axis","","Gets the position of the given `axis`.",14,null],[11,"num_buttons","","Retreive the number of buttons for this joystick",14,null],[11,"button","","Return `Ok(true)` if `button` is pressed.",14,null],[11,"num_balls","","Retreive the number of balls for this joystick",14,null],[11,"ball","","Return a pair `(dx, dy)` containing the difference in axis\nposition since the last poll",14,null],[11,"num_hats","","Retreive the number of balls for this joystick",14,null],[11,"hat","","Return the position of `hat` for this joystick",14,null],[11,"drop","","",14,null],[11,"hash","","",15,null],[11,"eq","","",15,null],[11,"ne","","",15,null],[11,"clone","","",15,null],[11,"from_string","","Create a GUID from a string representation.",15,{"inputs":[{"name":"str"}],"output":{"name":"result"}}],[11,"is_zero","","Return `true` if GUID is full 0s",15,null],[11,"string","","Return a String representation of GUID",15,null],[11,"raw","","Return a copy of the internal SDL_JoystickGUID",15,null],[11,"fmt","","",15,null],[11,"fmt","","",12,null],[11,"hash","","",12,null],[11,"eq","","",12,null],[11,"clone","","",12,null],[11,"from_raw","","",12,{"inputs":[{"name":"u8"}],"output":{"name":"hatstate"}}],[0,"controller","sdl2","",null,null],[3,"GameController","sdl2::controller","Wrapper around the SDL_GameController object",null,null],[4,"Axis","","",null,null],[13,"LeftX","","",16,null],[13,"LeftY","","",16,null],[13,"RightX","","",16,null],[13,"RightY","","",16,null],[13,"TriggerLeft","","",16,null],[13,"TriggerRight","","",16,null],[4,"Button","","",null,null],[13,"A","","",17,null],[13,"B","","",17,null],[13,"X","","",17,null],[13,"Y","","",17,null],[13,"Back","","",17,null],[13,"Guide","","",17,null],[13,"Start","","",17,null],[13,"LeftStick","","",17,null],[13,"RightStick","","",17,null],[13,"LeftShoulder","","",17,null],[13,"RightShoulder","","",17,null],[13,"DPadUp","","",17,null],[13,"DPadDown","","",17,null],[13,"DPadLeft","","",17,null],[13,"DPadRight","","",17,null],[4,"MappingStatus","","Possible return values for `add_mapping`",null,null],[13,"Added","","",18,null],[13,"Updated","","",18,null],[11,"num_joysticks","sdl2","Retreive the total number of attached joysticks *and* controllers identified by SDL.",19,null],[11,"is_game_controller","","Return true if the joystick at index `id` is a game controller.",19,null],[11,"open","","Attempt to open the controller number `id` and return\nit. Controller IDs are the same as joystick IDs and the\nmaximum number can be retreived using the `SDL_NumJoysticks`\nfunction.",19,null],[11,"name_for_index","","Return the name of the controller at index `id`",19,null],[11,"set_event_state","","If state is `true` controller events are processed, otherwise\nthey're ignored.",19,null],[11,"event_state","","Return `true` if controller events are processed.",19,null],[11,"add_mapping","","Add a new mapping from a mapping string",19,null],[11,"mapping_for_guid","","",19,null],[11,"update","","Force controller update when not using the event loop",19,null],[11,"fmt","sdl2::controller","",16,null],[11,"hash","","",16,null],[11,"eq","","",16,null],[11,"clone","","",16,null],[11,"from_string","","Return the Axis from a string description in the same format\nused by the game controller mapping strings.",16,{"inputs":[{"name":"str"}],"output":{"name":"option"}}],[11,"string","","Return a string for a given axis in the same format using by\nthe game controller mapping strings",16,null],[11,"from_ll","","",16,{"inputs":[{"name":"sdl_gamecontrolleraxis"}],"output":{"name":"option"}}],[11,"fmt","","",17,null],[11,"hash","","",17,null],[11,"eq","","",17,null],[11,"clone","","",17,null],[11,"from_string","","Return the Button from a string description in the same format\nused by the game controller mapping strings.",17,{"inputs":[{"name":"str"}],"output":{"name":"option"}}],[11,"string","","Return a string for a given button in the same format using by\nthe game controller mapping strings",17,null],[11,"from_ll","","",17,{"inputs":[{"name":"sdl_gamecontrollerbutton"}],"output":{"name":"option"}}],[11,"fmt","","",18,null],[11,"hash","","",18,null],[11,"eq","","",18,null],[11,"clone","","",18,null],[11,"subsystem","","",20,null],[11,"name","","Return the name of the controller or an empty string if no\nname is found.",20,null],[11,"mapping","","Return a String describing the controller's button and axis\nmappings",20,null],[11,"attached","","Return true if the controller has been opened and currently\nconnected.",20,null],[11,"axis","","Get the position of the given `axis`",20,null],[11,"button","","Returns `true` if `button` is pressed.",20,null],[11,"drop","","",20,null],[0,"haptic","sdl2","Haptic Functions",null,null],[0,"keyboard","","",null,null],[3,"Mod","sdl2::keyboard","",null,null],[3,"KeyboardState","","",null,null],[3,"ScancodeIterator","","",null,null],[3,"PressedScancodeIterator","","",null,null],[3,"KeyboardUtil","","Keyboard utility functions. Access with `Sdl::keyboard()`.",null,null],[3,"TextInputUtil","","Text input utility functions. Access with `VideoSubsystem::text_input()`.",null,null],[4,"Keycode","","",null,null],[13,"Backspace","","",21,null],[13,"Tab","","",21,null],[13,"Return","","",21,null],[13,"Escape","","",21,null],[13,"Space","","",21,null],[13,"Exclaim","","",21,null],[13,"Quotedbl","","",21,null],[13,"Hash","","",21,null],[13,"Dollar","","",21,null],[13,"Percent","","",21,null],[13,"Ampersand","","",21,null],[13,"Quote","","",21,null],[13,"LeftParen","","",21,null],[13,"RightParen","","",21,null],[13,"Asterisk","","",21,null],[13,"Plus","","",21,null],[13,"Comma","","",21,null],[13,"Minus","","",21,null],[13,"Period","","",21,null],[13,"Slash","","",21,null],[13,"Num0","","",21,null],[13,"Num1","","",21,null],[13,"Num2","","",21,null],[13,"Num3","","",21,null],[13,"Num4","","",21,null],[13,"Num5","","",21,null],[13,"Num6","","",21,null],[13,"Num7","","",21,null],[13,"Num8","","",21,null],[13,"Num9","","",21,null],[13,"Colon","","",21,null],[13,"Semicolon","","",21,null],[13,"Less","","",21,null],[13,"Equals","","",21,null],[13,"Greater","","",21,null],[13,"Question","","",21,null],[13,"At","","",21,null],[13,"LeftBracket","","",21,null],[13,"Backslash","","",21,null],[13,"RightBracket","","",21,null],[13,"Caret","","",21,null],[13,"Underscore","","",21,null],[13,"Backquote","","",21,null],[13,"A","","",21,null],[13,"B","","",21,null],[13,"C","","",21,null],[13,"D","","",21,null],[13,"E","","",21,null],[13,"F","","",21,null],[13,"G","","",21,null],[13,"H","","",21,null],[13,"I","","",21,null],[13,"J","","",21,null],[13,"K","","",21,null],[13,"L","","",21,null],[13,"M","","",21,null],[13,"N","","",21,null],[13,"O","","",21,null],[13,"P","","",21,null],[13,"Q","","",21,null],[13,"R","","",21,null],[13,"S","","",21,null],[13,"T","","",21,null],[13,"U","","",21,null],[13,"V","","",21,null],[13,"W","","",21,null],[13,"X","","",21,null],[13,"Y","","",21,null],[13,"Z","","",21,null],[13,"Delete","","",21,null],[13,"CapsLock","","",21,null],[13,"F1","","",21,null],[13,"F2","","",21,null],[13,"F3","","",21,null],[13,"F4","","",21,null],[13,"F5","","",21,null],[13,"F6","","",21,null],[13,"F7","","",21,null],[13,"F8","","",21,null],[13,"F9","","",21,null],[13,"F10","","",21,null],[13,"F11","","",21,null],[13,"F12","","",21,null],[13,"PrintScreen","","",21,null],[13,"ScrollLock","","",21,null],[13,"Pause","","",21,null],[13,"Insert","","",21,null],[13,"Home","","",21,null],[13,"PageUp","","",21,null],[13,"End","","",21,null],[13,"PageDown","","",21,null],[13,"Right","","",21,null],[13,"Left","","",21,null],[13,"Down","","",21,null],[13,"Up","","",21,null],[13,"NumLockClear","","",21,null],[13,"KpDivide","","",21,null],[13,"KpMultiply","","",21,null],[13,"KpMinus","","",21,null],[13,"KpPlus","","",21,null],[13,"KpEnter","","",21,null],[13,"Kp1","","",21,null],[13,"Kp2","","",21,null],[13,"Kp3","","",21,null],[13,"Kp4","","",21,null],[13,"Kp5","","",21,null],[13,"Kp6","","",21,null],[13,"Kp7","","",21,null],[13,"Kp8","","",21,null],[13,"Kp9","","",21,null],[13,"Kp0","","",21,null],[13,"KpPeriod","","",21,null],[13,"Application","","",21,null],[13,"Power","","",21,null],[13,"KpEquals","","",21,null],[13,"F13","","",21,null],[13,"F14","","",21,null],[13,"F15","","",21,null],[13,"F16","","",21,null],[13,"F17","","",21,null],[13,"F18","","",21,null],[13,"F19","","",21,null],[13,"F20","","",21,null],[13,"F21","","",21,null],[13,"F22","","",21,null],[13,"F23","","",21,null],[13,"F24","","",21,null],[13,"Execute","","",21,null],[13,"Help","","",21,null],[13,"Menu","","",21,null],[13,"Select","","",21,null],[13,"Stop","","",21,null],[13,"Again","","",21,null],[13,"Undo","","",21,null],[13,"Cut","","",21,null],[13,"Copy","","",21,null],[13,"Paste","","",21,null],[13,"Find","","",21,null],[13,"Mute","","",21,null],[13,"VolumeUp","","",21,null],[13,"VolumeDown","","",21,null],[13,"KpComma","","",21,null],[13,"KpEqualsAS400","","",21,null],[13,"AltErase","","",21,null],[13,"Sysreq","","",21,null],[13,"Cancel","","",21,null],[13,"Clear","","",21,null],[13,"Prior","","",21,null],[13,"Return2","","",21,null],[13,"Separator","","",21,null],[13,"Out","","",21,null],[13,"Oper","","",21,null],[13,"ClearAgain","","",21,null],[13,"CrSel","","",21,null],[13,"ExSel","","",21,null],[13,"Kp00","","",21,null],[13,"Kp000","","",21,null],[13,"ThousandsSeparator","","",21,null],[13,"DecimalSeparator","","",21,null],[13,"CurrencyUnit","","",21,null],[13,"CurrencySubUnit","","",21,null],[13,"KpLeftParen","","",21,null],[13,"KpRightParen","","",21,null],[13,"KpLeftBrace","","",21,null],[13,"KpRightBrace","","",21,null],[13,"KpTab","","",21,null],[13,"KpBackspace","","",21,null],[13,"KpA","","",21,null],[13,"KpB","","",21,null],[13,"KpC","","",21,null],[13,"KpD","","",21,null],[13,"KpE","","",21,null],[13,"KpF","","",21,null],[13,"KpXor","","",21,null],[13,"KpPower","","",21,null],[13,"KpPercent","","",21,null],[13,"KpLess","","",21,null],[13,"KpGreater","","",21,null],[13,"KpAmpersand","","",21,null],[13,"KpDblAmpersand","","",21,null],[13,"KpVerticalBar","","",21,null],[13,"KpDblVerticalBar","","",21,null],[13,"KpColon","","",21,null],[13,"KpHash","","",21,null],[13,"KpSpace","","",21,null],[13,"KpAt","","",21,null],[13,"KpExclam","","",21,null],[13,"KpMemStore","","",21,null],[13,"KpMemRecall","","",21,null],[13,"KpMemClear","","",21,null],[13,"KpMemAdd","","",21,null],[13,"KpMemSubtract","","",21,null],[13,"KpMemMultiply","","",21,null],[13,"KpMemDivide","","",21,null],[13,"KpPlusMinus","","",21,null],[13,"KpCear","","",21,null],[13,"KpClearEntry","","",21,null],[13,"KpBinary","","",21,null],[13,"KpOctal","","",21,null],[13,"KpDecimal","","",21,null],[13,"KpHexadecimal","","",21,null],[13,"LCtrl","","",21,null],[13,"LShift","","",21,null],[13,"LAlt","","",21,null],[13,"LGui","","",21,null],[13,"RCtrl","","",21,null],[13,"RShift","","",21,null],[13,"RAlt","","",21,null],[13,"RGui","","",21,null],[13,"Mode","","",21,null],[13,"AudioNext","","",21,null],[13,"AudioPrev","","",21,null],[13,"AudioStop","","",21,null],[13,"AudioPlay","","",21,null],[13,"AudioMute","","",21,null],[13,"MediaSelect","","",21,null],[13,"Www","","",21,null],[13,"Mail","","",21,null],[13,"Calculator","","",21,null],[13,"Computer","","",21,null],[13,"AcSearch","","",21,null],[13,"AcHome","","",21,null],[13,"AcBack","","",21,null],[13,"AcForward","","",21,null],[13,"AcStop","","",21,null],[13,"AcRefresh","","",21,null],[13,"AcBookmarks","","",21,null],[13,"BrightnessDown","","",21,null],[13,"BrightnessUp","","",21,null],[13,"DisplaySwitch","","",21,null],[13,"KbdIllumToggle","","",21,null],[13,"KbdIllumDown","","",21,null],[13,"KbdIllumUp","","",21,null],[13,"Eject","","",21,null],[13,"Sleep","","",21,null],[4,"Scancode","","",null,null],[13,"A","","",22,null],[13,"B","","",22,null],[13,"C","","",22,null],[13,"D","","",22,null],[13,"E","","",22,null],[13,"F","","",22,null],[13,"G","","",22,null],[13,"H","","",22,null],[13,"I","","",22,null],[13,"J","","",22,null],[13,"K","","",22,null],[13,"L","","",22,null],[13,"M","","",22,null],[13,"N","","",22,null],[13,"O","","",22,null],[13,"P","","",22,null],[13,"Q","","",22,null],[13,"R","","",22,null],[13,"S","","",22,null],[13,"T","","",22,null],[13,"U","","",22,null],[13,"V","","",22,null],[13,"W","","",22,null],[13,"X","","",22,null],[13,"Y","","",22,null],[13,"Z","","",22,null],[13,"Num1","","",22,null],[13,"Num2","","",22,null],[13,"Num3","","",22,null],[13,"Num4","","",22,null],[13,"Num5","","",22,null],[13,"Num6","","",22,null],[13,"Num7","","",22,null],[13,"Num8","","",22,null],[13,"Num9","","",22,null],[13,"Num0","","",22,null],[13,"Return","","",22,null],[13,"Escape","","",22,null],[13,"Backspace","","",22,null],[13,"Tab","","",22,null],[13,"Space","","",22,null],[13,"Minus","","",22,null],[13,"Equals","","",22,null],[13,"LeftBracket","","",22,null],[13,"RightBracket","","",22,null],[13,"Backslash","","",22,null],[13,"NonUsHash","","",22,null],[13,"Semicolon","","",22,null],[13,"Apostrophe","","",22,null],[13,"Grave","","",22,null],[13,"Comma","","",22,null],[13,"Period","","",22,null],[13,"Slash","","",22,null],[13,"CapsLock","","",22,null],[13,"F1","","",22,null],[13,"F2","","",22,null],[13,"F3","","",22,null],[13,"F4","","",22,null],[13,"F5","","",22,null],[13,"F6","","",22,null],[13,"F7","","",22,null],[13,"F8","","",22,null],[13,"F9","","",22,null],[13,"F10","","",22,null],[13,"F11","","",22,null],[13,"F12","","",22,null],[13,"PrintScreen","","",22,null],[13,"ScrollLock","","",22,null],[13,"Pause","","",22,null],[13,"Insert","","",22,null],[13,"Home","","",22,null],[13,"PageUp","","",22,null],[13,"Delete","","",22,null],[13,"End","","",22,null],[13,"PageDown","","",22,null],[13,"Right","","",22,null],[13,"Left","","",22,null],[13,"Down","","",22,null],[13,"Up","","",22,null],[13,"NumLockClear","","",22,null],[13,"KpDivide","","",22,null],[13,"KpMultiply","","",22,null],[13,"KpMinus","","",22,null],[13,"KpPlus","","",22,null],[13,"KpEnter","","",22,null],[13,"Kp1","","",22,null],[13,"Kp2","","",22,null],[13,"Kp3","","",22,null],[13,"Kp4","","",22,null],[13,"Kp5","","",22,null],[13,"Kp6","","",22,null],[13,"Kp7","","",22,null],[13,"Kp8","","",22,null],[13,"Kp9","","",22,null],[13,"Kp0","","",22,null],[13,"KpPeriod","","",22,null],[13,"NonUsBackslash","","",22,null],[13,"Application","","",22,null],[13,"Power","","",22,null],[13,"KpEquals","","",22,null],[13,"F13","","",22,null],[13,"F14","","",22,null],[13,"F15","","",22,null],[13,"F16","","",22,null],[13,"F17","","",22,null],[13,"F18","","",22,null],[13,"F19","","",22,null],[13,"F20","","",22,null],[13,"F21","","",22,null],[13,"F22","","",22,null],[13,"F23","","",22,null],[13,"F24","","",22,null],[13,"Execute","","",22,null],[13,"Help","","",22,null],[13,"Menu","","",22,null],[13,"Select","","",22,null],[13,"Stop","","",22,null],[13,"Again","","",22,null],[13,"Undo","","",22,null],[13,"Cut","","",22,null],[13,"Copy","","",22,null],[13,"Paste","","",22,null],[13,"Find","","",22,null],[13,"Mute","","",22,null],[13,"VolumeUp","","",22,null],[13,"VolumeDown","","",22,null],[13,"KpComma","","",22,null],[13,"KpEqualsAS400","","",22,null],[13,"International1","","",22,null],[13,"International2","","",22,null],[13,"International3","","",22,null],[13,"International4","","",22,null],[13,"International5","","",22,null],[13,"International6","","",22,null],[13,"International7","","",22,null],[13,"International8","","",22,null],[13,"International9","","",22,null],[13,"Lang1","","",22,null],[13,"Lang2","","",22,null],[13,"Lang3","","",22,null],[13,"Lang4","","",22,null],[13,"Lang5","","",22,null],[13,"Lang6","","",22,null],[13,"Lang7","","",22,null],[13,"Lang8","","",22,null],[13,"Lang9","","",22,null],[13,"AltErase","","",22,null],[13,"SysReq","","",22,null],[13,"Cancel","","",22,null],[13,"Clear","","",22,null],[13,"Prior","","",22,null],[13,"Return2","","",22,null],[13,"Separator","","",22,null],[13,"Out","","",22,null],[13,"Oper","","",22,null],[13,"ClearAgain","","",22,null],[13,"Crse","","",22,null],[13,"ExseL","","",22,null],[13,"Kp00","","",22,null],[13,"Kp000","","",22,null],[13,"ThousandsSeparator","","",22,null],[13,"DecimalSeparator","","",22,null],[13,"CurrencyUnit","","",22,null],[13,"CurrencySubUnit","","",22,null],[13,"KpLeftParen","","",22,null],[13,"KpRightParen","","",22,null],[13,"KpLeftBrace","","",22,null],[13,"KpRightBrace","","",22,null],[13,"KpTab","","",22,null],[13,"KpBackspace","","",22,null],[13,"KpA","","",22,null],[13,"KpB","","",22,null],[13,"KpC","","",22,null],[13,"KpD","","",22,null],[13,"KpE","","",22,null],[13,"KpF","","",22,null],[13,"KpXor","","",22,null],[13,"KpPower","","",22,null],[13,"KpPercent","","",22,null],[13,"KpLess","","",22,null],[13,"KpGreater","","",22,null],[13,"KpAmpersand","","",22,null],[13,"KpDblAmpersand","","",22,null],[13,"KpVerticalBar","","",22,null],[13,"KpDblVerticalBar","","",22,null],[13,"KpColon","","",22,null],[13,"KpHash","","",22,null],[13,"KpSpace","","",22,null],[13,"KpAt","","",22,null],[13,"KpExclam","","",22,null],[13,"KpMemStore","","",22,null],[13,"KpMemRecall","","",22,null],[13,"KpMemClear","","",22,null],[13,"KpMemAdd","","",22,null],[13,"KpMemSubtract","","",22,null],[13,"KpMemMultiply","","",22,null],[13,"KpMemDivide","","",22,null],[13,"KpPlusMinus","","",22,null],[13,"KpClear","","",22,null],[13,"KpClearEntry","","",22,null],[13,"KpBinary","","",22,null],[13,"KpOoctal","","",22,null],[13,"KpDecimal","","",22,null],[13,"KpHexadecimal","","",22,null],[13,"LCtrl","","",22,null],[13,"LShift","","",22,null],[13,"LAlt","","",22,null],[13,"LGui","","",22,null],[13,"RCtrl","","",22,null],[13,"RShift","","",22,null],[13,"RAlt","","",22,null],[13,"RGui","","",22,null],[13,"Mode","","",22,null],[13,"AudioNext","","",22,null],[13,"AudioPrev","","",22,null],[13,"AudioStop","","",22,null],[13,"AudioPlay","","",22,null],[13,"AudioMute","","",22,null],[13,"MediaSelect","","",22,null],[13,"Www","","",22,null],[13,"Mail","","",22,null],[13,"Calculator","","",22,null],[13,"Computer","","",22,null],[13,"AcSearch","","",22,null],[13,"AcHome","","",22,null],[13,"AcBack","","",22,null],[13,"AcForward","","",22,null],[13,"AcStop","","",22,null],[13,"AcRefresh","","",22,null],[13,"AcBookmarks","","",22,null],[13,"BrightnessDown","","",22,null],[13,"BrightnessUp","","",22,null],[13,"DisplaySwitch","","",22,null],[13,"KbdIllumToggle","","",22,null],[13,"KbdIllumDown","","",22,null],[13,"KbdIllumUp","","",22,null],[13,"Eject","","",22,null],[13,"Sleep","","",22,null],[13,"App1","","",22,null],[13,"App2","","",22,null],[13,"Num","","",22,null],[11,"fmt","","",21,null],[11,"hash","","",21,null],[11,"eq","","",21,null],[11,"clone","","",21,null],[11,"to_i64","","",21,null],[11,"to_u64","","",21,null],[11,"to_isize","","",21,null],[11,"from_i64","","",21,{"inputs":[{"name":"i64"}],"output":{"name":"option"}}],[11,"from_u64","","",21,{"inputs":[{"name":"u64"}],"output":{"name":"option"}}],[11,"fmt","","",21,null],[11,"from_scancode","","Gets the virtual key from a scancode. Returns None if there is no corresponding virtual key.",21,{"inputs":[{"name":"scancode"}],"output":{"name":"option"}}],[11,"from_name","","",21,{"inputs":[{"name":"str"}],"output":{"name":"option"}}],[11,"name","","",21,null],[11,"fmt","","",22,null],[11,"hash","","",22,null],[11,"eq","","",22,null],[11,"clone","","",22,null],[11,"to_i64","","",22,null],[11,"to_u64","","",22,null],[11,"to_isize","","",22,null],[11,"from_i64","","",22,{"inputs":[{"name":"i64"}],"output":{"name":"option"}}],[11,"from_u64","","",22,{"inputs":[{"name":"u64"}],"output":{"name":"option"}}],[11,"fmt","","",22,null],[11,"from_keycode","","Gets the scancode from a virtual key. Returns None if there is no corresponding scancode.",22,{"inputs":[{"name":"keycode"}],"output":{"name":"option"}}],[11,"from_name","","",22,{"inputs":[{"name":"str"}],"output":{"name":"option"}}],[11,"name","","",22,null],[17,"NOMOD","","",null,null],[17,"LSHIFTMOD","","",null,null],[17,"RSHIFTMOD","","",null,null],[17,"LCTRLMOD","","",null,null],[17,"RCTRLMOD","","",null,null],[17,"LALTMOD","","",null,null],[17,"RALTMOD","","",null,null],[17,"LGUIMOD","","",null,null],[17,"RGUIMOD","","",null,null],[17,"NUMMOD","","",null,null],[17,"CAPSMOD","","",null,null],[17,"MODEMOD","","",null,null],[17,"RESERVEDMOD","","",null,null],[11,"hash","","",23,null],[11,"cmp","","",23,null],[11,"partial_cmp","","",23,null],[11,"lt","","",23,null],[11,"le","","",23,null],[11,"gt","","",23,null],[11,"ge","","",23,null],[11,"clone","","",23,null],[11,"eq","","",23,null],[11,"ne","","",23,null],[11,"fmt","","",23,null],[11,"empty","","Returns an empty set of flags.",23,{"inputs":[],"output":{"name":"mod"}}],[11,"all","","Returns the set containing all flags.",23,{"inputs":[],"output":{"name":"mod"}}],[11,"bits","","Returns the raw value of the flags currently stored.",23,null],[11,"from_bits","","Convert from underlying bit representation, unless that\nrepresentation contains bits that do not correspond to a flag.",23,{"inputs":[{"name":"u32"}],"output":{"name":"option"}}],[11,"from_bits_truncate","","Convert from underlying bit representation, dropping any bits\nthat do not correspond to flags.",23,{"inputs":[{"name":"u32"}],"output":{"name":"mod"}}],[11,"is_empty","","Returns `true` if no flags are currently stored.",23,null],[11,"is_all","","Returns `true` if all flags are currently set.",23,null],[11,"intersects","","Returns `true` if there are flags common to both `self` and `other`.",23,null],[11,"contains","","Returns `true` all of the flags in `other` are contained within `self`.",23,null],[11,"insert","","Inserts the specified flags in-place.",23,null],[11,"remove","","Removes the specified flags in-place.",23,null],[11,"toggle","","Toggles the specified flags in-place.",23,null],[11,"bitor","","Returns the union of the two sets of flags.",23,null],[11,"bitxor","","Returns the left flags, but with all the right flags toggled.",23,null],[11,"bitand","","Returns the intersection between the two sets of flags.",23,null],[11,"sub","","Returns the set difference of the two sets of flags.",23,null],[11,"not","","Returns the complement of this set of flags.",23,null],[11,"from_iter","","",23,{"inputs":[{"name":"t"}],"output":{"name":"mod"}}],[11,"new","","",24,{"inputs":[{"name":"eventpump"}],"output":{"name":"keyboardstate"}}],[11,"is_scancode_pressed","","Returns true if the scancode is pressed.",24,null],[11,"scancodes","","Returns an iterator all scancodes with a boolean indicating if the scancode is pressed.",24,null],[11,"pressed_scancodes","","Returns an iterator of pressed scancodes.",24,null],[11,"next","","",25,null],[11,"next","","",26,null],[11,"keyboard","sdl2","",27,null],[11,"text_input","","",2,null],[11,"focused_window_id","sdl2::keyboard","Gets the id of the window which currently has keyboard focus.",28,null],[11,"mod_state","","",28,null],[11,"set_mod_state","","",28,null],[11,"start","","",29,null],[11,"is_active","","",29,null],[11,"stop","","",29,null],[11,"set_rect","","",29,null],[11,"has_screen_keyboard_support","","",29,null],[11,"is_screen_keyboard_shown","","",29,null],[0,"mouse","sdl2","",null,null],[3,"Cursor","sdl2::mouse","",null,null],[3,"MouseState","","",null,null],[3,"MouseUtil","","Mouse utility functions. Access with `Sdl::mouse()`.",null,null],[4,"SystemCursor","","",null,null],[13,"Arrow","","",30,null],[13,"IBeam","","",30,null],[13,"Wait","","",30,null],[13,"Crosshair","","",30,null],[13,"WaitArrow","","",30,null],[13,"SizeNWSE","","",30,null],[13,"SizeNESW","","",30,null],[13,"SizeWE","","",30,null],[13,"SizeNS","","",30,null],[13,"SizeAll","","",30,null],[13,"No","","",30,null],[13,"Hand","","",30,null],[4,"Mouse","","",null,null],[13,"Left","","",31,null],[13,"Middle","","",31,null],[13,"Right","","",31,null],[13,"X1","","",31,null],[13,"X2","","",31,null],[13,"Unknown","","",31,null],[11,"fmt","","",30,null],[11,"hash","","",30,null],[11,"eq","","",30,null],[11,"clone","","",30,null],[11,"drop","","",32,null],[11,"new","","",32,null],[11,"from_surface","","",32,{"inputs":[{"name":"s"},{"name":"i32"},{"name":"i32"}],"output":{"name":"sdlresult"}}],[11,"from_system","","",32,{"inputs":[{"name":"systemcursor"}],"output":{"name":"sdlresult"}}],[11,"set","","",32,null],[11,"fmt","","",31,null],[11,"hash","","",31,null],[11,"eq","","",31,null],[11,"ne","","",31,null],[11,"clone","","",31,null],[11,"from_ll","","",31,{"inputs":[{"name":"u8"}],"output":{"name":"mouse"}}],[11,"hash","","",33,null],[11,"eq","","",33,null],[11,"ne","","",33,null],[11,"clone","","",33,null],[11,"button","","Tests if a mouse button was pressed.",33,null],[11,"left","","Tests if the left mouse button was pressed.",33,null],[11,"middle","","Tests if the middle mouse button was pressed.",33,null],[11,"right","","Tests if the right mouse button was pressed.",33,null],[11,"x1","","Tests if the X1 mouse button was pressed.",33,null],[11,"x2","","Tests if the X2 mouse button was pressed.",33,null],[11,"from_flags","","",33,{"inputs":[{"name":"u32"}],"output":{"name":"mousestate"}}],[11,"mouse","sdl2","",27,null],[11,"focused_window_id","sdl2::mouse","Gets the id of the window which currently has mouse focus.",34,null],[11,"mouse_state","","",34,null],[11,"relative_mouse_state","","",34,null],[11,"warp_mouse_in_window","","",34,null],[11,"set_relative_mouse_mode","","",34,null],[11,"relative_mouse_mode","","",34,null],[11,"is_cursor_showing","","",34,null],[11,"show_cursor","","",34,null],[0,"rect","sdl2","",null,null],[3,"Point","sdl2::rect","Immutable point type, consisting of x and y.",null,null],[3,"Rect","","Immutable rectangle type, consisting of x, y, width and height.",null,null],[11,"hash","","",35,null],[11,"fmt","","",35,null],[11,"eq","","",35,null],[11,"ne","","",35,null],[11,"clone","","",35,null],[11,"from","","",35,null],[11,"into","","",35,null],[11,"raw","","",35,null],[11,"raw_slice","","",35,null],[11,"from_ll","","",35,{"inputs":[{"name":"sdl_point"}],"output":{"name":"point"}}],[11,"new","","",35,{"inputs":[{"name":"i32"},{"name":"i32"}],"output":{"name":"point"}}],[11,"offset","","",35,null],[11,"xy","","",35,null],[11,"x","","",35,null],[11,"y","","",35,null],[11,"hash","","",36,null],[11,"fmt","","",36,null],[11,"eq","","",36,null],[11,"ne","","",36,null],[11,"clone","","",36,null],[11,"into","","",36,null],[11,"raw","","",36,null],[11,"raw_from_option","","",36,null],[11,"raw_mut_from_option","","",36,null],[11,"raw_slice","","",36,null],[11,"from_ll","","",36,{"inputs":[{"name":"sdl_rect"}],"output":{"name":"sdlresult"}}],[11,"new","","Creates a new rectangle.",36,{"inputs":[{"name":"i32"},{"name":"i32"},{"name":"u32"},{"name":"u32"}],"output":{"name":"sdlresult"}}],[11,"new_unwrap","","Creates a new rectangle. Convenience function that unwraps the result of `Rect::new()` twice.",36,{"inputs":[{"name":"i32"},{"name":"i32"},{"name":"u32"},{"name":"u32"}],"output":{"name":"rect"}}],[11,"offset","","Offsets the rectangle's x and y coordinates.",36,null],[11,"xywh","","",36,null],[11,"x","","",36,null],[11,"y","","",36,null],[11,"width","","",36,null],[11,"height","","",36,null],[11,"from_enclose_points","","Calculate a minimal rectangle enclosing a set of points.",36,null],[11,"has_intersection","","Determine whether two rectangles intersect.",36,null],[11,"intersect","","Calculate the intersection of two rectangles. The bitwise AND operator `&` can also be used.",36,null],[11,"union","","Calculate the union of two rectangles. The bitwise OR operator `|` can also be used.",36,null],[11,"intersect_line","","Calculate the intersection of a rectangle and line segment. return points of intersection.",36,null],[11,"bitand","","",36,null],[11,"bitand","","",36,null],[11,"bitor","","",36,null],[11,"bitor","","",36,null],[0,"surface","sdl2","",null,null],[3,"Surface","sdl2::surface","",null,null],[3,"SurfaceRef","","An unsized Surface reference.",null,null],[11,"drop","","",37,null],[11,"deref","","",37,null],[11,"deref_mut","","",37,null],[11,"as_ref","","",37,null],[11,"as_mut","","",37,null],[11,"from_ll","","",37,null],[11,"new","","Creates a new surface using a pixel format.",37,{"inputs":[{"name":"u32"},{"name":"u32"},{"name":"pixelformatenum"}],"output":{"name":"sdlresult"}}],[11,"from_pixelmasks","","Creates a new surface using pixel masks.",37,{"inputs":[{"name":"u32"},{"name":"u32"},{"name":"pixelmasks"}],"output":{"name":"sdlresult"}}],[11,"from_data","","Creates a new surface from an existing buffer, using a pixel format.",37,null],[11,"from_data_pixelmasks","","Creates a new surface from an existing buffer, using pixel masks.",37,null],[11,"load_bmp_rw","","",37,{"inputs":[{"name":"rwops"}],"output":{"name":"sdlresult"}}],[11,"load_bmp","","",37,{"inputs":[{"name":"p"}],"output":{"name":"sdlresult"}}],[11,"from_ll","","",38,null],[11,"from_ll_mut","","",38,null],[11,"raw","","",38,null],[11,"width","","",38,null],[11,"height","","",38,null],[11,"pitch","","",38,null],[11,"size","","",38,null],[11,"rect","","",38,null],[11,"pixel_format","","",38,null],[11,"with_lock","","Locks a surface so that the pixels can be directly accessed safely.",38,null],[11,"with_lock_mut","","Locks a surface so that the pixels can be directly accessed safely.",38,null],[11,"without_lock","","Returns the Surface's pixel buffer if the Surface doesn't require locking\n(e.g. it's a software surface).",38,null],[11,"without_lock_mut","","Returns the Surface's pixel buffer if the Surface doesn't require locking\n(e.g. it's a software surface).",38,null],[11,"must_lock","","Returns true if the Surface needs to be locked before accessing the Surface pixels.",38,null],[11,"save_bmp_rw","","",38,null],[11,"save_bmp","","",38,null],[11,"set_palette","","",38,null],[11,"enable_RLE","","",38,null],[11,"disable_RLE","","",38,null],[11,"set_color_key","","",38,null],[11,"color_key","","The function will fail if the surface doesn't have color key enabled.",38,null],[11,"set_color_mod","","",38,null],[11,"color_mod","","",38,null],[11,"fill_rect","","",38,null],[11,"fill_rects","","",38,null],[11,"set_alpha_mod","","",38,null],[11,"alpha_mod","","",38,null],[11,"set_blend_mode","","The function will fail if the blend mode is not supported by SDL.",38,null],[11,"blend_mode","","",38,null],[11,"set_clip_rect","","Sets the clip rectangle for the surface.",38,null],[11,"clip_rect","","Gets the clip rectangle for the surface.",38,null],[11,"convert","","Copies the surface into a new one that is optimized for blitting to a surface of a specified pixel format.",38,null],[11,"blit","","Performs surface blitting (surface copying).",38,null],[11,"lower_blit","","Performs low-level surface blitting.",38,null],[11,"blit_scaled","","Performs scaled surface bliting (surface copying).",38,null],[11,"lower_blit_scaled","","Performs low-level scaled surface blitting.",38,null],[0,"pixels","sdl2","",null,null],[3,"Palette","sdl2::pixels","",null,null],[3,"PixelMasks","","",null,null],[12,"bpp","","Bits per pixel; usually 15, 16, or 32",39,null],[12,"rmask","","The red mask",39,null],[12,"gmask","","The green mask",39,null],[12,"bmask","","The blue mask",39,null],[12,"amask","","The alpha mask",39,null],[3,"PixelFormat","","",null,null],[4,"Color","","",null,null],[13,"RGB","","",40,null],[13,"RGBA","","",40,null],[4,"PixelFormatEnum","","",null,null],[13,"Unknown","","",41,null],[13,"Index1LSB","","",41,null],[13,"Index1MSB","","",41,null],[13,"Index4LSB","","",41,null],[13,"Index4MSB","","",41,null],[13,"Index8","","",41,null],[13,"RGB332","","",41,null],[13,"RGB444","","",41,null],[13,"RGB555","","",41,null],[13,"BGR555","","",41,null],[13,"ARGB4444","","",41,null],[13,"RGBA4444","","",41,null],[13,"ABGR4444","","",41,null],[13,"BGRA4444","","",41,null],[13,"ARGB1555","","",41,null],[13,"RGBA5551","","",41,null],[13,"ABGR1555","","",41,null],[13,"BGRA5551","","",41,null],[13,"RGB565","","",41,null],[13,"BGR565","","",41,null],[13,"RGB24","","",41,null],[13,"BGR24","","",41,null],[13,"RGB888","","",41,null],[13,"RGBX8888","","",41,null],[13,"BGR888","","",41,null],[13,"BGRX8888","","",41,null],[13,"ARGB8888","","",41,null],[13,"RGBA8888","","",41,null],[13,"ABGR8888","","",41,null],[13,"BGRA8888","","",41,null],[13,"ARGB2101010","","",41,null],[13,"YV12","","",41,null],[13,"IYUV","","",41,null],[13,"YUY2","","",41,null],[13,"UYVY","","",41,null],[13,"YVYU","","",41,null],[11,"raw","","",42,null],[11,"fmt","","",40,null],[11,"hash","","",40,null],[11,"eq","","",40,null],[11,"ne","","",40,null],[11,"clone","","",40,null],[11,"to_u32","","",40,null],[11,"from_u32","","",40,{"inputs":[{"name":"pixelformat"},{"name":"u32"}],"output":{"name":"color"}}],[11,"rgb","","",40,null],[11,"rand","","",40,{"inputs":[{"name":"r"}],"output":{"name":"color"}}],[11,"raw","","",43,null],[11,"from_ll","","",43,null],[11,"fmt","","",41,null],[11,"hash","","",41,null],[11,"eq","","",41,null],[11,"clone","","",41,null],[11,"from_masks","","",41,{"inputs":[{"name":"pixelmasks"}],"output":{"name":"pixelformatenum"}}],[11,"into_masks","","",41,null],[11,"byte_size_from_pitch_and_height","","Calculates the total byte size of an image buffer, given its pitch\nand height.",41,null],[11,"byte_size_of_pixels","","",41,null],[11,"byte_size_per_pixel","","",41,null],[11,"from_i64","","",41,{"inputs":[{"name":"i64"}],"output":{"name":"option"}}],[11,"from_u64","","",41,{"inputs":[{"name":"u64"}],"output":{"name":"option"}}],[0,"video","sdl2","",null,null],[3,"DisplayMode","sdl2::video","",null,null],[12,"format","","",44,null],[12,"w","","",44,null],[12,"h","","",44,null],[12,"refresh_rate","","",44,null],[3,"GLContext","","",null,null],[3,"Window","","",null,null],[3,"WindowRef","","An unsized Window reference.",null,null],[3,"WindowBuilder","","The type that allows you to build windows.",null,null],[3,"DriverIterator","","",null,null],[4,"GLProfile","","",null,null],[13,"Core","","OpenGL core profile - deprecated functions are disabled",45,null],[13,"Compatibility","","OpenGL compatibility profile - deprecated functions are allowed",45,null],[13,"GLES","","OpenGL ES profile - only a subset of the base OpenGL functionality is available",45,null],[4,"FullscreenType","","",null,null],[13,"Off","","",46,null],[13,"True","","",46,null],[13,"Desktop","","",46,null],[4,"WindowPos","","",null,null],[13,"Undefined","","",47,null],[13,"Centered","","",47,null],[13,"Positioned","","",47,null],[5,"drivers","","Gets an iterator of all video drivers compiled into the SDL2 library.",null,{"inputs":[],"output":{"name":"driveriterator"}}],[0,"gl_attr","","OpenGL context getters and setters",null,null],[3,"GLAttr","sdl2::video::gl_attr","OpenGL context getters and setters. Obtain with `VideoSubsystem::gl_attr()`.",null,null],[3,"ContextFlagsBuilder","","The type that allows you to build a OpenGL context configuration.",null,null],[3,"ContextFlags","","",null,null],[11,"gl_attr","sdl2","Obtains access to the OpenGL window attributes.",2,null],[11,"set_red_size","sdl2::video::gl_attr","**Sets** the attribute:\nthe minimum number of bits for the red channel of the color buffer; defaults to 3",48,null],[11,"red_size","","**Gets** the attribute:\nthe minimum number of bits for the red channel of the color buffer; defaults to 3",48,null],[11,"set_green_size","","**Sets** the attribute:\nthe minimum number of bits for the green channel of the color buffer; defaults to 3",48,null],[11,"green_size","","**Gets** the attribute:\nthe minimum number of bits for the green channel of the color buffer; defaults to 3",48,null],[11,"set_blue_size","","**Sets** the attribute:\nthe minimum number of bits for the blue channel of the color buffer; defaults to 2",48,null],[11,"blue_size","","**Gets** the attribute:\nthe minimum number of bits for the blue channel of the color buffer; defaults to 2",48,null],[11,"set_alpha_size","","**Sets** the attribute:\nthe minimum number of bits for the alpha channel of the color buffer; defaults to 0",48,null],[11,"alpha_size","","**Gets** the attribute:\nthe minimum number of bits for the alpha channel of the color buffer; defaults to 0",48,null],[11,"set_buffer_size","","**Sets** the attribute:\nthe minimum number of bits for frame buffer size; defaults to 0",48,null],[11,"buffer_size","","**Gets** the attribute:\nthe minimum number of bits for frame buffer size; defaults to 0",48,null],[11,"set_double_buffer","","**Sets** the attribute:\nwhether the output is single or double buffered; defaults to double buffering on",48,null],[11,"double_buffer","","**Gets** the attribute:\nwhether the output is single or double buffered; defaults to double buffering on",48,null],[11,"set_depth_size","","**Sets** the attribute:\nthe minimum number of bits in the depth buffer; defaults to 16",48,null],[11,"depth_size","","**Gets** the attribute:\nthe minimum number of bits in the depth buffer; defaults to 16",48,null],[11,"set_stencil_size","","**Sets** the attribute:\nthe minimum number of bits in the stencil buffer; defaults to 0",48,null],[11,"stencil_size","","**Gets** the attribute:\nthe minimum number of bits in the stencil buffer; defaults to 0",48,null],[11,"set_accum_red_size","","**Sets** the attribute:\nthe minimum number of bits for the red channel of the accumulation buffer; defaults to 0",48,null],[11,"accum_red_size","","**Gets** the attribute:\nthe minimum number of bits for the red channel of the accumulation buffer; defaults to 0",48,null],[11,"set_accum_green_size","","**Sets** the attribute:\nthe minimum number of bits for the green channel of the accumulation buffer; defaults to 0",48,null],[11,"accum_green_size","","**Gets** the attribute:\nthe minimum number of bits for the green channel of the accumulation buffer; defaults to 0",48,null],[11,"set_accum_blue_size","","**Sets** the attribute:\nthe minimum number of bits for the blue channel of the accumulation buffer; defaults to 0",48,null],[11,"accum_blue_size","","**Gets** the attribute:\nthe minimum number of bits for the blue channel of the accumulation buffer; defaults to 0",48,null],[11,"set_accum_alpha_size","","**Sets** the attribute:\nthe minimum number of bits for the alpha channel of the accumulation buffer; defaults to 0",48,null],[11,"accum_alpha_size","","**Gets** the attribute:\nthe minimum number of bits for the alpha channel of the accumulation buffer; defaults to 0",48,null],[11,"set_stereo","","**Sets** the attribute:\nwhether the output is stereo 3D; defaults to off",48,null],[11,"stereo","","**Gets** the attribute:\nwhether the output is stereo 3D; defaults to off",48,null],[11,"set_multisample_buffers","","**Sets** the attribute:\nthe number of buffers used for multisample anti-aliasing; defaults to 0",48,null],[11,"multisample_buffers","","**Gets** the attribute:\nthe number of buffers used for multisample anti-aliasing; defaults to 0",48,null],[11,"set_multisample_samples","","**Sets** the attribute:\nthe number of samples used around the current pixel used for multisample anti-aliasing; defaults to 0",48,null],[11,"multisample_samples","","**Gets** the attribute:\nthe number of samples used around the current pixel used for multisample anti-aliasing; defaults to 0",48,null],[11,"set_accelerated_visual","","**Sets** the attribute:\nwhether to require hardware acceleration; false to force software rendering; defaults to allow either",48,null],[11,"accelerated_visual","","**Gets** the attribute:\nwhether to require hardware acceleration; false to force software rendering; defaults to allow either",48,null],[11,"set_context_major_version","","**Sets** the attribute:\nOpenGL context major version",48,null],[11,"context_major_version","","**Gets** the attribute:\nOpenGL context major version",48,null],[11,"set_context_minor_version","","**Sets** the attribute:\nOpenGL context minor version",48,null],[11,"context_minor_version","","**Gets** the attribute:\nOpenGL context minor version",48,null],[11,"set_context_profile","","**Sets** the attribute:\ntype of GL context (Core, Compatibility, ES)",48,null],[11,"context_profile","","**Gets** the attribute:\ntype of GL context (Core, Compatibility, ES)",48,null],[11,"set_share_with_current_context","","**Sets** the attribute:\nOpenGL context sharing; defaults to false",48,null],[11,"share_with_current_context","","**Gets** the attribute:\nOpenGL context sharing; defaults to false",48,null],[11,"set_framebuffer_srgb_compatible","","**Sets** the attribute:\nrequests sRGB capable visual; defaults to false (>= SDL 2.0.1)",48,null],[11,"framebuffer_srgb_compatible","","**Gets** the attribute:\nrequests sRGB capable visual; defaults to false (>= SDL 2.0.1)",48,null],[11,"set_context_version","","**Sets** the OpenGL context major and minor versions.",48,null],[11,"context_version","","**Gets** the OpenGL context major and minor versions as a tuple.",48,null],[11,"set","","Finishes the builder and applies the GL context flags to the GL context.",49,null],[11,"debug","","Sets the context into "debug" mode.",49,null],[11,"forward_compatible","","Sets the context into "forward compatible" mode.",49,null],[11,"robust_access","","",49,null],[11,"reset_isolation","","",49,null],[11,"has_debug","","",50,null],[11,"has_forward_compatible","","",50,null],[11,"has_robust_access","","",50,null],[11,"has_reset_isolation","","",50,null],[11,"set_context_flags","","**Sets** any combination of OpenGL context configuration flags.",48,null],[11,"context_flags","","**Gets** the applied OpenGL context configuration flags.",48,null],[11,"fmt","sdl2::video","",45,null],[11,"hash","","",45,null],[11,"eq","","",45,null],[11,"clone","","",45,null],[11,"fmt","","",44,null],[11,"hash","","",44,null],[11,"eq","","",44,null],[11,"ne","","",44,null],[11,"clone","","",44,null],[11,"new","","",44,{"inputs":[{"name":"u32"},{"name":"i32"},{"name":"i32"},{"name":"i32"}],"output":{"name":"displaymode"}}],[11,"from_ll","","",44,{"inputs":[{"name":"sdl_displaymode"}],"output":{"name":"displaymode"}}],[11,"to_ll","","",44,null],[11,"fmt","","",46,null],[11,"hash","","",46,null],[11,"eq","","",46,null],[11,"clone","","",46,null],[11,"fmt","","",47,null],[11,"hash","","",47,null],[11,"eq","","",47,null],[11,"ne","","",47,null],[11,"clone","","",47,null],[11,"drop","","",51,null],[11,"is_current","","Returns true if the OpenGL context is the current one in the thread.",51,null],[11,"raw","","",51,null],[11,"window","sdl2","Initializes a new `WindowBuilder`; a convenience method that calls `WindowBuilder::new()`.",2,null],[11,"current_video_driver","","",2,null],[11,"num_video_displays","","",2,null],[11,"display_name","","",2,null],[11,"display_bounds","","",2,null],[11,"num_display_modes","","",2,null],[11,"display_mode","","",2,null],[11,"desktop_display_mode","","",2,null],[11,"current_display_mode","","",2,null],[11,"closest_display_mode","","",2,null],[11,"is_screen_saver_enabled","","",2,null],[11,"enable_screen_saver","","",2,null],[11,"disable_screen_saver","","",2,null],[11,"gl_load_library_default","","Loads the default OpenGL library.",2,null],[11,"gl_load_library","","Loads the OpenGL library using a platform-dependent OpenGL library name (usually a file path).",2,null],[11,"gl_unload_library","","Unloads the current OpenGL library.",2,null],[11,"gl_get_proc_address","","Gets the pointer to the named OpenGL function.",2,null],[11,"gl_extension_supported","","",2,null],[11,"gl_get_current_window_id","","",2,null],[11,"gl_release_current_context","","Releases the thread's current OpenGL context, i.e. sets the current OpenGL context to nothing.",2,null],[11,"gl_set_swap_interval","","",2,null],[11,"gl_get_swap_interval","","",2,null],[11,"drop","sdl2::video","",52,null],[11,"new","","Initializes a new `WindowBuilder`.",53,{"inputs":[{"name":"videosubsystem"},{"name":"str"},{"name":"u32"},{"name":"u32"}],"output":{"name":"windowbuilder"}}],[11,"build","","Builds the window.",53,null],[11,"window_flags","","Gets the underlying window flags.",53,null],[11,"set_window_flags","","Sets the underlying window flags.\nThis will effectively undo any previous build operations, excluding window size and position.",53,null],[11,"position","","Sets the window position.",53,null],[11,"position_centered","","Centers the window.",53,null],[11,"fullscreen","","Sets the window to fullscreen.",53,null],[11,"fullscreen_desktop","","Sets the window to fullscreen at the current desktop resolution.",53,null],[11,"opengl","","Sets the window to be usable with an OpenGL context",53,null],[11,"hidden","","Hides the window.",53,null],[11,"borderless","","Removes the window decoration.",53,null],[11,"resizable","","Sets the window to be resizable.",53,null],[11,"minimized","","Minimizes the window.",53,null],[11,"maximized","","Maximizes the window.",53,null],[11,"input_grabbed","","Sets the window to have grabbed input focus.",53,null],[11,"allow_highdpi","","Creates the window in high-DPI mode if supported (>= SDL 2.0.1)",53,null],[11,"raw","","",52,null],[11,"from_ll","","",52,null],[11,"subsystem","","",52,null],[11,"renderer","","Initializes a new `RendererBuilder`; a convenience method that calls `RendererBuilder::new()`.",52,null],[11,"deref","","",52,null],[11,"deref_mut","","",52,null],[11,"raw","","",54,null],[11,"from_ll","","",54,null],[11,"from_ll_mut","","",54,null],[11,"id","","",54,null],[11,"gl_create_context","","",54,null],[11,"gl_set_context_to_current","","Set the window's OpenGL context to the current context on the thread.",54,null],[11,"gl_make_current","","",54,null],[11,"gl_swap_window","","",54,null],[11,"display_index","","",54,null],[11,"set_display_mode","","",54,null],[11,"display_mode","","",54,null],[11,"window_pixel_format","","",54,null],[11,"window_flags","","",54,null],[11,"set_title","","",54,null],[11,"title","","",54,null],[11,"set_icon","","",54,null],[11,"set_position","","",54,null],[11,"position","","",54,null],[11,"set_size","","",54,null],[11,"size","","",54,null],[11,"drawable_size","","",54,null],[11,"set_minimum_size","","",54,null],[11,"minimum_size","","",54,null],[11,"set_maximum_size","","",54,null],[11,"maximum_size","","",54,null],[11,"set_bordered","","",54,null],[11,"show","","",54,null],[11,"hide","","",54,null],[11,"raise","","",54,null],[11,"maximize","","",54,null],[11,"minimize","","",54,null],[11,"restore","","",54,null],[11,"set_fullscreen","","",54,null],[11,"surface","","",54,null],[11,"surface_mut","","",54,null],[11,"update_surface","","",54,null],[11,"update_surface_rects","","",54,null],[11,"set_grab","","",54,null],[11,"grab","","",54,null],[11,"set_brightness","","",54,null],[11,"brightness","","",54,null],[11,"set_gamma_ramp","","",54,null],[11,"gamma_ramp","","",54,null],[11,"clone","","",55,null],[11,"next","","",55,null],[11,"size_hint","","",55,null],[0,"timer","sdl2","",null,null],[3,"Timer","sdl2::timer","",null,null],[6,"TimerCallback","","",null,null],[11,"add_timer","sdl2","Constructs a new timer using the boxed closure `callback`.",56,null],[11,"ticks","","Gets the number of milliseconds elapsed since the timer subsystem was initialized.",56,null],[11,"delay","","Sleeps the current thread for the specified amount of milliseconds.",56,null],[11,"performance_counter","","",56,null],[11,"performance_frequency","","",56,null],[11,"into_inner","sdl2::timer","Returns the closure as a trait-object and cancels the timer\nby consuming it...",57,null],[11,"drop","","",57,null],[0,"render","sdl2","2D accelerated rendering",null,null],[3,"RendererInfo","sdl2::render","A structure that contains information on the capabilities of a render driver\nor the current render context.",null,null],[12,"name","","",58,null],[12,"flags","","",58,null],[12,"texture_formats","","",58,null],[12,"max_texture_width","","",58,null],[12,"max_texture_height","","",58,null],[3,"Renderer","","2D rendering context",null,null],[3,"RendererBuilder","","The type that allows you to build Window-based renderers.",null,null],[3,"RenderTarget","","A handle for getting/setting the render target of the render context.",null,null],[3,"TextureQuery","","",null,null],[12,"format","","",59,null],[12,"access","","",59,null],[12,"width","","",59,null],[12,"height","","",59,null],[3,"Texture","","A texture for a rendering context.",null,null],[3,"DriverIterator","","",null,null],[4,"TextureAccess","","",null,null],[13,"Static","","",60,null],[13,"Streaming","","",60,null],[13,"Target","","",60,null],[4,"BlendMode","","",null,null],[13,"None","","",61,null],[13,"Blend","","",61,null],[13,"Add","","",61,null],[13,"Mod","","",61,null],[4,"RendererParent","","",null,null],[13,"Surface","","",62,null],[13,"Window","","",62,null],[5,"drivers","","Gets an iterator of all render drivers compiled into the SDL2 library.",null,{"inputs":[],"output":{"name":"driveriterator"}}],[11,"fmt","","",60,null],[11,"hash","","",60,null],[11,"eq","","",60,null],[11,"clone","","",60,null],[11,"from_i64","","",60,{"inputs":[{"name":"i64"}],"output":{"name":"option"}}],[11,"from_u64","","",60,{"inputs":[{"name":"u64"}],"output":{"name":"option"}}],[11,"fmt","","",58,null],[11,"hash","","",58,null],[11,"eq","","",58,null],[11,"ne","","",58,null],[11,"clone","","",58,null],[11,"fmt","","",61,null],[11,"hash","","",61,null],[11,"eq","","",61,null],[11,"clone","","",61,null],[11,"from_i64","","",61,{"inputs":[{"name":"i64"}],"output":{"name":"option"}}],[11,"from_u64","","",61,{"inputs":[{"name":"u64"}],"output":{"name":"option"}}],[11,"from_ll","","",58,{"inputs":[{"name":"sdl_rendererinfo"}],"output":{"name":"rendererinfo"}}],[11,"drop","","",63,null],[11,"new","","Initializes a new `RendererBuilder`.",64,{"inputs":[{"name":"window"}],"output":{"name":"rendererbuilder"}}],[11,"build","","Builds the renderer.",64,null],[11,"index","","Sets the index of the rendering driver to initialize.",64,null],[11,"software","","Set the renderer to a software fallback.",64,null],[11,"accelerated","","Set the renderer to use hardware acceleration.",64,null],[11,"present_vsync","","Synchronize renderer present with the refresh rate.",64,null],[11,"target_texture","","Set the renderer to support rendering to a texture.",64,null],[11,"from_surface","","Creates a 2D software rendering context for a surface.",63,{"inputs":[{"name":"surface"}],"output":{"name":"sdlresult"}}],[11,"info","","Gets information about the rendering context.",63,null],[11,"window","","Gets the associated window reference of the Renderer, if there is one.",63,null],[11,"window_mut","","Gets the associated window reference of the Renderer, if there is one.",63,null],[11,"surface","","Gets the associated surface reference of the Renderer, if there is one.",63,null],[11,"surface_mut","","Gets the associated surface reference of the Renderer, if there is one.",63,null],[11,"into_window","","",63,null],[11,"into_surface","","",63,null],[11,"raw","","Unwraps the window or surface the rendering context was created from.",63,null],[11,"from_ll","","",63,null],[11,"create_texture","","Creates a texture for a rendering context.",63,null],[11,"create_texture_static","","Shorthand for `create_texture(format, TextureAccess::Static, size)`",63,null],[11,"create_texture_streaming","","Shorthand for `create_texture(format, TextureAccess::Streaming, size)`",63,null],[11,"create_texture_target","","Shorthand for `create_texture(format, TextureAccess::Target, size)`",63,null],[11,"create_texture_from_surface","","Creates a texture from an existing surface.\n# Remarks\nThe access hint for the created texture is `TextureAccess::Static`.",63,null],[11,"render_target_supported","","Determine whether a window supports the use of render targets.",63,null],[11,"render_target","","Gets the render target handle.",63,null],[11,"set_draw_color","","Sets the color used for drawing operations (Rect, Line and Clear).",63,null],[11,"draw_color","","Gets the color used for drawing operations (Rect, Line and Clear).",63,null],[11,"set_blend_mode","","Sets the blend mode used for drawing operations (Fill and Line).",63,null],[11,"blend_mode","","Gets the blend mode used for drawing operations.",63,null],[11,"clear","","Clears the current rendering target with the drawing color.",63,null],[11,"present","","Updates the screen with any rendering performed since the previous call.",63,null],[11,"output_size","","Gets the output size of a rendering context.",63,null],[11,"set_logical_size","","Sets a device independent resolution for rendering.",63,null],[11,"logical_size","","Gets device independent resolution for rendering.",63,null],[11,"set_viewport","","Sets the drawing area for rendering on the current target.",63,null],[11,"viewport","","Gets the drawing area for the current target.",63,null],[11,"set_clip_rect","","Sets the clip rectangle for rendering on the specified target.",63,null],[11,"clip_rect","","Gets the clip rectangle for the current target.",63,null],[11,"set_scale","","Sets the drawing scale for rendering on the current target.",63,null],[11,"scale","","Gets the drawing scale for the current target.",63,null],[11,"draw_point","","Draws a point on the current rendering target.\n# Panics\nPanics if drawing fails for any reason (e.g. driver failure)",63,null],[11,"draw_points","","Draws multiple points on the current rendering target.\n# Panics\nPanics if drawing fails for any reason (e.g. driver failure)",63,null],[11,"draw_line","","# Panics\nPanics if drawing fails for any reason (e.g. driver failure)",63,null],[11,"draw_lines","","Draws a series of connected lines on the current rendering target.\n# Panics\nPanics if drawing fails for any reason (e.g. driver failure)",63,null],[11,"draw_rect","","Draws a rectangle on the current rendering target.\n# Panics\nPanics if drawing fails for any reason (e.g. driver failure)",63,null],[11,"draw_rects","","Draws some number of rectangles on the current rendering target.\n# Panics\nPanics if drawing fails for any reason (e.g. driver failure)",63,null],[11,"fill_rect","","Fills a rectangle on the current rendering target with the drawing\ncolor.\n# Panics\nPanics if drawing fails for any reason (e.g. driver failure)",63,null],[11,"fill_rects","","Fills some number of rectangles on the current rendering target with\nthe drawing color.\n# Panics\nPanics if drawing fails for any reason (e.g. driver failure)",63,null],[11,"copy","","Copies a portion of the texture to the current rendering target.",63,null],[11,"copy_ex","","Copies a portion of the texture to the current rendering target,\noptionally rotating it by angle around the given center and also\nflipping it top-bottom and/or left-right.",63,null],[11,"read_pixels","","Reads pixels from the current rendering target.\n# Remarks\nWARNING: This is a very slow operation, and should not be used frequently.",63,null],[11,"reset","","Resets the render target to the default render target.",65,null],[11,"set","","Sets the render target to the provided texture.\nThe texture must be created with the texture access: `sdl2::render::TextureAccess::Target`.",65,null],[11,"create_and_set","","Creates a new texture and sets it as the render target.",65,null],[11,"fmt","","",59,null],[11,"hash","","",59,null],[11,"eq","","",59,null],[11,"ne","","",59,null],[11,"clone","","",59,null],[11,"drop","","",66,null],[11,"query","","Queries the attributes of the texture.",66,null],[11,"set_color_mod","","Sets an additional color value multiplied into render copy operations.",66,null],[11,"color_mod","","Gets the additional color value multiplied into render copy operations.",66,null],[11,"set_alpha_mod","","Sets an additional alpha value multiplied into render copy operations.",66,null],[11,"alpha_mod","","Gets the additional alpha value multiplied into render copy operations.",66,null],[11,"set_blend_mode","","Sets the blend mode for a texture, used by `Renderer::copy()`.",66,null],[11,"blend_mode","","Gets the blend mode used for texture copy operations.",66,null],[11,"update","","Updates the given texture rectangle with new pixel data.",66,null],[11,"update_yuv","","Updates a rectangle within a planar YV12 or IYUV texture with new pixel data.",66,null],[11,"with_lock","","Locks the texture for **write-only** pixel access.\nThe texture must have been created with streaming access.",66,null],[11,"gl_bind_texture","","Binds an OpenGL/ES/ES2 texture to the current\ncontext for use with when rendering OpenGL primitives directly.",66,null],[11,"gl_unbind_texture","","Unbinds an OpenGL/ES/ES2 texture from the current context.",66,null],[11,"gl_with_bind","","Binds and unbinds an OpenGL/ES/ES2 texture from the current context.",66,null],[11,"from_ll","","",66,null],[11,"raw","","",66,null],[11,"clone","","",67,null],[11,"next","","",67,null],[11,"size_hint","","",67,null],[0,"rwops","sdl2","",null,null],[3,"RWops","sdl2::rwops","A structure that provides an abstract interface to stream I/O.",null,null],[11,"raw","","",68,null],[11,"from_ll","","",68,null],[11,"from_file","","Creates an SDL file stream.",68,{"inputs":[{"name":"p"},{"name":"str"}],"output":{"name":"sdlresult"}}],[11,"from_bytes","","Prepares a read-only memory buffer for use with `RWops`.",68,null],[11,"from_bytes_mut","","Prepares a read-write memory buffer for use with `RWops`.",68,null],[11,"len","","Gets the stream's total size in bytes.",68,null],[11,"drop","","",68,null],[11,"read","","",68,null],[11,"write","","",68,null],[11,"flush","","",68,null],[11,"seek","","",68,null],[11,"fmt","sdl2","",1,null],[11,"hash","","",1,null],[11,"eq","","",1,null],[11,"clone","","",1,null],[11,"fmt","","",0,null],[11,"hash","","",0,null],[11,"eq","","",0,null],[11,"ne","","",0,null],[11,"clone","","",0,null],[11,"fmt","","",0,null],[11,"description","","",0,null],[11,"from","","",0,{"inputs":[{"name":"string"}],"output":{"name":"self"}}],[11,"clone","","",27,null],[11,"audio","","Initializes the audio subsystem.",27,null],[11,"event","","Initializes the event subsystem.",27,null],[11,"joystick","","Initializes the joystick subsystem.",27,null],[11,"haptic","","Initializes the haptic subsystem.",27,null],[11,"game_controller","","Initializes the game controller subsystem.",27,null],[11,"timer","","Initializes the timer subsystem.",27,null],[11,"video","","Initializes the video subsystem.",27,null],[11,"event_pump","","Obtains the SDL event pump.",27,null],[11,"clone","","",69,null],[11,"sdl","","Obtain an SDL context.",69,null],[11,"clone","","",19,null],[11,"sdl","","Obtain an SDL context.",19,null],[11,"clone","","",70,null],[11,"sdl","","Obtain an SDL context.",70,null],[11,"clone","","",13,null],[11,"sdl","","Obtain an SDL context.",13,null],[11,"clone","","",2,null],[11,"sdl","","Obtain an SDL context.",2,null],[11,"clone","","",56,null],[11,"sdl","","Obtain an SDL context.",56,null],[11,"clone","","",7,null],[11,"sdl","","Obtain an SDL context.",7,null],[11,"drop","","",8,null],[0,"audio","","Audio Functions",null,null],[3,"DriverIterator","sdl2::audio","",null,null],[3,"AudioSpecWAV","","",null,null],[12,"freq","","",71,null],[12,"format","","",71,null],[12,"channels","","",71,null],[3,"AudioSpecDesired","","",null,null],[12,"freq","","DSP frequency (samples per second). Set to None for the device's fallback frequency.",72,null],[12,"channels","","Number of separate audio channels. Set to None for the device's fallback number of channels.",72,null],[12,"samples","","Audio buffer size in samples (power of 2). Set to None for the device's fallback sample size.",72,null],[3,"AudioSpec","","",null,null],[12,"freq","","",73,null],[12,"format","","",73,null],[12,"channels","","",73,null],[12,"silence","","",73,null],[12,"samples","","",73,null],[12,"size","","",73,null],[3,"AudioDevice","","Wraps SDL_AudioDeviceID and owns the callback data used by the audio device.",null,null],[3,"AudioDeviceLockGuard","","Similar to `std::sync::MutexGuard`, but for use with `AudioDevice::lock()`.",null,null],[3,"AudioCVT","","",null,null],[4,"AudioFormat","","",null,null],[13,"U8","","Unsigned 8-bit samples",74,null],[13,"S8","","Signed 8-bit samples",74,null],[13,"U16LSB","","Unsigned 16-bit samples, little-endian",74,null],[13,"U16MSB","","Unsigned 16-bit samples, big-endian",74,null],[13,"S16LSB","","Signed 16-bit samples, little-endian",74,null],[13,"S16MSB","","Signed 16-bit samples, big-endian",74,null],[13,"S32LSB","","Signed 32-bit samples, little-endian",74,null],[13,"S32MSB","","Signed 32-bit samples, big-endian",74,null],[13,"F32LSB","","32-bit floating point samples, little-endian",74,null],[13,"F32MSB","","32-bit floating point samples, big-endian",74,null],[4,"AudioStatus","","",null,null],[13,"Stopped","","",75,null],[13,"Playing","","",75,null],[13,"Paused","","",75,null],[5,"drivers","","Gets an iterator of all audio drivers compiled into the SDL2 library.",null,{"inputs":[],"output":{"name":"driveriterator"}}],[8,"AudioCallback","","",null,null],[16,"Channel","","",76,null],[10,"callback","","",76,null],[8,"AudioFormatNum","","A phantom type for retreiving the SDL_AudioFormat of a given generic type.\nAll format types are returned as native-endian.",null,null],[10,"audio_format","","",77,{"inputs":[],"output":{"name":"audioformat"}}],[10,"zero","","",77,{"inputs":[],"output":{"name":"self"}}],[11,"open_playback","sdl2","Opens a new audio device given the desired parameters and callback.",69,null],[11,"current_audio_driver","","",69,null],[11,"num_audio_playback_devices","","",69,null],[11,"audio_playback_device_name","","",69,null],[11,"hash","sdl2::audio","",74,null],[11,"fmt","","",74,null],[11,"eq","","",74,null],[11,"clone","","",74,null],[11,"u16_sys","","Unsigned 16-bit samples, native endian",74,{"inputs":[],"output":{"name":"audioformat"}}],[11,"s16_sys","","Signed 16-bit samples, native endian",74,{"inputs":[],"output":{"name":"audioformat"}}],[11,"s32_sys","","Signed 32-bit samples, native endian",74,{"inputs":[],"output":{"name":"audioformat"}}],[11,"f32_sys","","32-bit floating point samples, native endian",74,{"inputs":[],"output":{"name":"audioformat"}}],[11,"fmt","","",75,null],[11,"hash","","",75,null],[11,"eq","","",75,null],[11,"clone","","",75,null],[11,"from_i64","","",75,{"inputs":[{"name":"i64"}],"output":{"name":"option"}}],[11,"from_u64","","",75,{"inputs":[{"name":"u64"}],"output":{"name":"option"}}],[11,"clone","","",78,null],[11,"next","","",78,null],[11,"size_hint","","",78,null],[11,"load_wav","","Loads a WAVE from the file path.",71,{"inputs":[{"name":"p"}],"output":{"name":"sdlresult"}}],[11,"load_wav_rw","","Loads a WAVE from the data source.",71,{"inputs":[{"name":"rwops"}],"output":{"name":"sdlresult"}}],[11,"buffer","","",71,null],[11,"drop","","",71,null],[11,"fmt","","",73,null],[11,"hash","","",73,null],[11,"eq","","",73,null],[11,"ne","","",73,null],[11,"clone","","",73,null],[11,"open_playback","","Opens a new audio device given the desired parameters and callback.",79,{"inputs":[{"name":"audiosubsystem"},{"name":"option"},{"name":"audiospecdesired"},{"name":"f"}],"output":{"name":"sdlresult"}}],[11,"subsystem","","",79,null],[11,"status","","",79,null],[11,"pause","","Pauses playback of the audio device.",79,null],[11,"resume","","Starts playback of the audio device.",79,null],[11,"lock","","Locks the audio device using `SDL_LockAudioDevice`.",79,null],[11,"close_and_get_callback","","Closes the audio device and saves the callback data from being dropped.",79,null],[11,"deref","","",80,null],[11,"deref_mut","","",80,null],[11,"drop","","",80,null],[11,"clone","","",81,null],[11,"new","","",81,{"inputs":[{"name":"audioformat"},{"name":"u8"},{"name":"i32"},{"name":"audioformat"},{"name":"u8"},{"name":"i32"}],"output":{"name":"sdlresult"}}],[11,"convert","","Convert audio data to a desired audio format.",81,null],[11,"is_conversion_needed","","Checks if any conversion is needed. i.e. if the buffer that goes\ninto `convert()` is unchanged from the result.",81,null],[11,"capacity","","Gets the buffer capacity that can contain both the original and\nconverted data.",81,null],[0,"version","sdl2","Querying SDL Version",null,null],[3,"Version","sdl2::version","A structure that contains information about the version of SDL in use.",null,null],[12,"major","","major version",82,null],[12,"minor","","minor version",82,null],[12,"patch","","update version (patchlevel)",82,null],[5,"version","","Get the version of SDL that is linked against your program.",null,{"inputs":[],"output":{"name":"version"}}],[5,"revision","","Get the code revision of SDL that is linked against your program.",null,{"inputs":[],"output":{"name":"string"}}],[5,"revision_number","","Get the revision number of SDL that is linked against your program.",null,{"inputs":[],"output":{"name":"i32"}}],[11,"fmt","","",82,null],[11,"hash","","",82,null],[11,"eq","","",82,null],[11,"ne","","",82,null],[11,"clone","","",82,null],[11,"from_ll","","Convert a raw *SDL_version to Version.",82,{"inputs":[{"name":"sdl_version"}],"output":{"name":"version"}}],[11,"fmt","","",82,null],[0,"messagebox","sdl2","",null,null],[3,"MessageBoxFlag","sdl2::messagebox","",null,null],[5,"show_simple_message_box","","",null,{"inputs":[{"name":"messageboxflag"},{"name":"str"},{"name":"str"},{"name":"option"}],"output":{"name":"sdlresult"}}],[17,"MESSAGEBOX_ERROR","","",null,null],[17,"MESSAGEBOX_WARNING","","",null,null],[17,"MESSAGEBOX_INFORMATION","","",null,null],[11,"hash","","",83,null],[11,"cmp","","",83,null],[11,"partial_cmp","","",83,null],[11,"lt","","",83,null],[11,"le","","",83,null],[11,"gt","","",83,null],[11,"ge","","",83,null],[11,"clone","","",83,null],[11,"eq","","",83,null],[11,"ne","","",83,null],[11,"fmt","","",83,null],[11,"empty","","Returns an empty set of flags.",83,{"inputs":[],"output":{"name":"messageboxflag"}}],[11,"all","","Returns the set containing all flags.",83,{"inputs":[],"output":{"name":"messageboxflag"}}],[11,"bits","","Returns the raw value of the flags currently stored.",83,null],[11,"from_bits","","Convert from underlying bit representation, unless that\nrepresentation contains bits that do not correspond to a flag.",83,{"inputs":[{"name":"u32"}],"output":{"name":"option"}}],[11,"from_bits_truncate","","Convert from underlying bit representation, dropping any bits\nthat do not correspond to flags.",83,{"inputs":[{"name":"u32"}],"output":{"name":"messageboxflag"}}],[11,"is_empty","","Returns `true` if no flags are currently stored.",83,null],[11,"is_all","","Returns `true` if all flags are currently set.",83,null],[11,"intersects","","Returns `true` if there are flags common to both `self` and `other`.",83,null],[11,"contains","","Returns `true` all of the flags in `other` are contained within `self`.",83,null],[11,"insert","","Inserts the specified flags in-place.",83,null],[11,"remove","","Removes the specified flags in-place.",83,null],[11,"toggle","","Toggles the specified flags in-place.",83,null],[11,"bitor","","Returns the union of the two sets of flags.",83,null],[11,"bitxor","","Returns the left flags, but with all the right flags toggled.",83,null],[11,"bitand","","Returns the intersection between the two sets of flags.",83,null],[11,"sub","","Returns the set difference of the two sets of flags.",83,null],[11,"not","","Returns the complement of this set of flags.",83,null],[11,"from_iter","","",83,{"inputs":[{"name":"t"}],"output":{"name":"messageboxflag"}}],[0,"hint","sdl2","",null,null],[4,"Hint","sdl2::hint","",null,null],[13,"Default","","",84,null],[13,"Normal","","",84,null],[13,"Override","","",84,null],[5,"set","","",null,{"inputs":[{"name":"str"},{"name":"str"}],"output":{"name":"bool"}}],[5,"get","","",null,{"inputs":[{"name":"str"}],"output":{"name":"option"}}],[5,"set_with_priority","","",null,{"inputs":[{"name":"str"},{"name":"str"},{"name":"hint"}],"output":{"name":"bool"}}],[6,"SdlResult","sdl2","",null,null]],"paths":[[3,"ErrorMessage"],[4,"Error"],[3,"VideoSubsystem"],[3,"ClipboardUtil"],[4,"EventType"],[4,"WindowEventId"],[4,"Event"],[3,"EventSubsystem"],[3,"EventPump"],[3,"EventPollIterator"],[3,"EventWaitIterator"],[3,"EventWaitTimeoutIterator"],[4,"HatState"],[3,"JoystickSubsystem"],[3,"Joystick"],[3,"Guid"],[4,"Axis"],[4,"Button"],[4,"MappingStatus"],[3,"GameControllerSubsystem"],[3,"GameController"],[4,"Keycode"],[4,"Scancode"],[3,"Mod"],[3,"KeyboardState"],[3,"ScancodeIterator"],[3,"PressedScancodeIterator"],[3,"Sdl"],[3,"KeyboardUtil"],[3,"TextInputUtil"],[4,"SystemCursor"],[4,"Mouse"],[3,"Cursor"],[3,"MouseState"],[3,"MouseUtil"],[3,"Point"],[3,"Rect"],[3,"Surface"],[3,"SurfaceRef"],[3,"PixelMasks"],[4,"Color"],[4,"PixelFormatEnum"],[3,"Palette"],[3,"PixelFormat"],[3,"DisplayMode"],[4,"GLProfile"],[4,"FullscreenType"],[4,"WindowPos"],[3,"GLAttr"],[3,"ContextFlagsBuilder"],[3,"ContextFlags"],[3,"GLContext"],[3,"Window"],[3,"WindowBuilder"],[3,"WindowRef"],[3,"DriverIterator"],[3,"TimerSubsystem"],[3,"Timer"],[3,"RendererInfo"],[3,"TextureQuery"],[4,"TextureAccess"],[4,"BlendMode"],[4,"RendererParent"],[3,"Renderer"],[3,"RendererBuilder"],[3,"RenderTarget"],[3,"Texture"],[3,"DriverIterator"],[3,"RWops"],[3,"AudioSubsystem"],[3,"HapticSubsystem"],[3,"AudioSpecWAV"],[3,"AudioSpecDesired"],[3,"AudioSpec"],[4,"AudioFormat"],[4,"AudioStatus"],[8,"AudioCallback"],[8,"AudioFormatNum"],[3,"DriverIterator"],[3,"AudioDevice"],[3,"AudioDeviceLockGuard"],[3,"AudioCVT"],[3,"Version"],[3,"MessageBoxFlag"],[4,"Hint"]]}; initSearch(searchIndex);