var searchIndex = {}; searchIndex["sdl2"] = {"doc":"","items":[[3,"Sdl","sdl2","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","","",0,null],[13,"ReadError","","",0,null],[13,"WriteError","","",0,null],[13,"SeekError","","",0,null],[13,"UnsupportedError","","",0,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":"string"}}],[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","",1,null],[11,"set_clipboard_text","sdl2::clipboard","",2,null],[11,"get_clipboard_text","","",2,null],[11,"has_clipboard_text","","",2,null],[0,"cpuinfo","sdl2","",null,null],[5,"get_cpu_count","sdl2::cpuinfo","",null,{"inputs":[],"output":{"name":"i32"}}],[5,"get_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,"get_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","","",3,null],[13,"Quit","","",3,null],[13,"AppTerminating","","",3,null],[13,"AppLowMemory","","",3,null],[13,"AppWillEnterBackground","","",3,null],[13,"AppDidEnterBackground","","",3,null],[13,"AppWillEnterForeground","","",3,null],[13,"AppDidEnterForeground","","",3,null],[13,"Window","","",3,null],[13,"KeyDown","","",3,null],[13,"KeyUp","","",3,null],[13,"TextEditing","","",3,null],[13,"TextInput","","",3,null],[13,"MouseMotion","","",3,null],[13,"MouseButtonDown","","",3,null],[13,"MouseButtonUp","","",3,null],[13,"MouseWheel","","",3,null],[13,"JoyAxisMotion","","",3,null],[13,"JoyBallMotion","","",3,null],[13,"JoyHatMotion","","",3,null],[13,"JoyButtonDown","","",3,null],[13,"JoyButtonUp","","",3,null],[13,"JoyDeviceAdded","","",3,null],[13,"JoyDeviceRemoved","","",3,null],[13,"ControllerAxisMotion","","",3,null],[13,"ControllerButtonDown","","",3,null],[13,"ControllerButtonUp","","",3,null],[13,"ControllerDeviceAdded","","",3,null],[13,"ControllerDeviceRemoved","","",3,null],[13,"ControllerDeviceRemapped","","",3,null],[13,"FingerDown","","",3,null],[13,"FingerUp","","",3,null],[13,"FingerMotion","","",3,null],[13,"DollarGesture","","",3,null],[13,"DollarRecord","","",3,null],[13,"MultiGesture","","",3,null],[13,"ClipboardUpdate","","",3,null],[13,"DropFile","","",3,null],[13,"User","","",3,null],[13,"Last","","",3,null],[4,"WindowEventId","","An enum of window events.",null,null],[13,"None","","",4,null],[13,"Shown","","",4,null],[13,"Hidden","","",4,null],[13,"Exposed","","",4,null],[13,"Moved","","",4,null],[13,"Resized","","",4,null],[13,"SizeChanged","","",4,null],[13,"Minimized","","",4,null],[13,"Maximized","","",4,null],[13,"Restored","","",4,null],[13,"Enter","","",4,null],[13,"Leave","","",4,null],[13,"FocusGained","","",4,null],[13,"FocusLost","","",4,null],[13,"Close","","",4,null],[4,"Event","","Different event types.",null,null],[13,"Quit","","",5,null],[12,"timestamp","sdl2::event::Event","",5,null],[13,"AppTerminating","sdl2::event","",5,null],[12,"timestamp","sdl2::event::Event","",5,null],[13,"AppLowMemory","sdl2::event","",5,null],[12,"timestamp","sdl2::event::Event","",5,null],[13,"AppWillEnterBackground","sdl2::event","",5,null],[12,"timestamp","sdl2::event::Event","",5,null],[13,"AppDidEnterBackground","sdl2::event","",5,null],[12,"timestamp","sdl2::event::Event","",5,null],[13,"AppWillEnterForeground","sdl2::event","",5,null],[12,"timestamp","sdl2::event::Event","",5,null],[13,"AppDidEnterForeground","sdl2::event","",5,null],[12,"timestamp","sdl2::event::Event","",5,null],[13,"Window","sdl2::event","",5,null],[12,"timestamp","sdl2::event::Event","",5,null],[12,"window_id","","",5,null],[12,"win_event_id","","",5,null],[12,"data1","","",5,null],[12,"data2","","",5,null],[13,"KeyDown","sdl2::event","",5,null],[12,"timestamp","sdl2::event::Event","",5,null],[12,"window_id","","",5,null],[12,"keycode","","",5,null],[12,"scancode","","",5,null],[12,"keymod","","",5,null],[12,"repeat","","",5,null],[13,"KeyUp","sdl2::event","",5,null],[12,"timestamp","sdl2::event::Event","",5,null],[12,"window_id","","",5,null],[12,"keycode","","",5,null],[12,"scancode","","",5,null],[12,"keymod","","",5,null],[12,"repeat","","",5,null],[13,"TextEditing","sdl2::event","",5,null],[12,"timestamp","sdl2::event::Event","",5,null],[12,"window_id","","",5,null],[12,"text","","",5,null],[12,"start","","",5,null],[12,"length","","",5,null],[13,"TextInput","sdl2::event","",5,null],[12,"timestamp","sdl2::event::Event","",5,null],[12,"window_id","","",5,null],[12,"text","","",5,null],[13,"MouseMotion","sdl2::event","",5,null],[12,"timestamp","sdl2::event::Event","",5,null],[12,"window_id","","",5,null],[12,"which","","",5,null],[12,"mousestate","","",5,null],[12,"x","","",5,null],[12,"y","","",5,null],[12,"xrel","","",5,null],[12,"yrel","","",5,null],[13,"MouseButtonDown","sdl2::event","",5,null],[12,"timestamp","sdl2::event::Event","",5,null],[12,"window_id","","",5,null],[12,"which","","",5,null],[12,"mouse_btn","","",5,null],[12,"x","","",5,null],[12,"y","","",5,null],[13,"MouseButtonUp","sdl2::event","",5,null],[12,"timestamp","sdl2::event::Event","",5,null],[12,"window_id","","",5,null],[12,"which","","",5,null],[12,"mouse_btn","","",5,null],[12,"x","","",5,null],[12,"y","","",5,null],[13,"MouseWheel","sdl2::event","",5,null],[12,"timestamp","sdl2::event::Event","",5,null],[12,"window_id","","",5,null],[12,"which","","",5,null],[12,"x","","",5,null],[12,"y","","",5,null],[13,"JoyAxisMotion","sdl2::event","",5,null],[12,"timestamp","sdl2::event::Event","",5,null],[12,"which","","",5,null],[12,"axis_idx","","",5,null],[12,"value","","",5,null],[13,"JoyBallMotion","sdl2::event","",5,null],[12,"timestamp","sdl2::event::Event","",5,null],[12,"which","","",5,null],[12,"ball_idx","","",5,null],[12,"xrel","","",5,null],[12,"yrel","","",5,null],[13,"JoyHatMotion","sdl2::event","",5,null],[12,"timestamp","sdl2::event::Event","",5,null],[12,"which","","",5,null],[12,"hat_idx","","",5,null],[12,"state","","",5,null],[13,"JoyButtonDown","sdl2::event","",5,null],[12,"timestamp","sdl2::event::Event","",5,null],[12,"which","","",5,null],[12,"button_idx","","",5,null],[13,"JoyButtonUp","sdl2::event","",5,null],[12,"timestamp","sdl2::event::Event","",5,null],[12,"which","","",5,null],[12,"button_idx","","",5,null],[13,"JoyDeviceAdded","sdl2::event","",5,null],[12,"timestamp","sdl2::event::Event","",5,null],[12,"which","","",5,null],[13,"JoyDeviceRemoved","sdl2::event","",5,null],[12,"timestamp","sdl2::event::Event","",5,null],[12,"which","","",5,null],[13,"ControllerAxisMotion","sdl2::event","",5,null],[12,"timestamp","sdl2::event::Event","",5,null],[12,"which","","",5,null],[12,"axis","","",5,null],[12,"value","","",5,null],[13,"ControllerButtonDown","sdl2::event","",5,null],[12,"timestamp","sdl2::event::Event","",5,null],[12,"which","","",5,null],[12,"button","","",5,null],[13,"ControllerButtonUp","sdl2::event","",5,null],[12,"timestamp","sdl2::event::Event","",5,null],[12,"which","","",5,null],[12,"button","","",5,null],[13,"ControllerDeviceAdded","sdl2::event","",5,null],[12,"timestamp","sdl2::event::Event","",5,null],[12,"which","","",5,null],[13,"ControllerDeviceRemoved","sdl2::event","",5,null],[12,"timestamp","sdl2::event::Event","",5,null],[12,"which","","",5,null],[13,"ControllerDeviceRemapped","sdl2::event","",5,null],[12,"timestamp","sdl2::event::Event","",5,null],[12,"which","","",5,null],[13,"FingerDown","sdl2::event","",5,null],[12,"timestamp","sdl2::event::Event","",5,null],[12,"touch_id","","",5,null],[12,"finger_id","","",5,null],[12,"x","","",5,null],[12,"y","","",5,null],[12,"dx","","",5,null],[12,"dy","","",5,null],[12,"pressure","","",5,null],[13,"FingerUp","sdl2::event","",5,null],[12,"timestamp","sdl2::event::Event","",5,null],[12,"touch_id","","",5,null],[12,"finger_id","","",5,null],[12,"x","","",5,null],[12,"y","","",5,null],[12,"dx","","",5,null],[12,"dy","","",5,null],[12,"pressure","","",5,null],[13,"FingerMotion","sdl2::event","",5,null],[12,"timestamp","sdl2::event::Event","",5,null],[12,"touch_id","","",5,null],[12,"finger_id","","",5,null],[12,"x","","",5,null],[12,"y","","",5,null],[12,"dx","","",5,null],[12,"dy","","",5,null],[12,"pressure","","",5,null],[13,"DollarGesture","sdl2::event","",5,null],[12,"timestamp","sdl2::event::Event","",5,null],[12,"touch_id","","",5,null],[12,"gesture_id","","",5,null],[12,"num_fingers","","",5,null],[12,"error","","",5,null],[12,"x","","",5,null],[12,"y","","",5,null],[13,"DollarRecord","sdl2::event","",5,null],[12,"timestamp","sdl2::event::Event","",5,null],[12,"touch_id","","",5,null],[12,"gesture_id","","",5,null],[12,"num_fingers","","",5,null],[12,"error","","",5,null],[12,"x","","",5,null],[12,"y","","",5,null],[13,"MultiGesture","sdl2::event","",5,null],[12,"timestamp","sdl2::event::Event","",5,null],[12,"touch_id","","",5,null],[12,"d_theta","","",5,null],[12,"d_dist","","",5,null],[12,"x","","",5,null],[12,"y","","",5,null],[12,"num_fingers","","",5,null],[13,"ClipboardUpdate","sdl2::event","",5,null],[12,"timestamp","sdl2::event::Event","",5,null],[13,"DropFile","sdl2::event","",5,null],[12,"timestamp","sdl2::event::Event","",5,null],[12,"filename","","",5,null],[13,"User","sdl2::event","",5,null],[12,"timestamp","sdl2::event::Event","",5,null],[12,"window_id","","",5,null],[12,"type_","","",5,null],[12,"code","","",5,null],[13,"Unknown","sdl2::event","",5,null],[12,"timestamp","sdl2::event::Event","",5,null],[12,"type_","","",5,null],[11,"flush_event","sdl2","Removes all events in the event queue that match the specified event type.",6,null],[11,"flush_events","","Removes all events in the event queue that match the specified type range.",6,null],[11,"peek_events","","Reads the events at the front of the event queue, until the maximum amount\nof events is read.",6,null],[11,"push_event","","Pushes an event to the event queue.",6,null],[11,"fmt","sdl2::event","",3,null],[11,"hash","","",3,null],[11,"eq","","",3,null],[11,"clone","","",3,null],[11,"from_i64","","",3,{"inputs":[{"name":"i64"}],"output":{"name":"option"}}],[11,"from_u64","","",3,{"inputs":[{"name":"u64"}],"output":{"name":"option"}}],[11,"fmt","","",4,null],[11,"hash","","",4,null],[11,"eq","","",4,null],[11,"clone","","",4,null],[11,"eq","","",5,null],[11,"ne","","",5,null],[11,"clone","","",5,null],[11,"fmt","","",5,null],[11,"is_event_enabled","sdl2","Query if an event type is enabled.",7,null],[11,"enable_event","","Enable an event type. Returns if the event type was enabled before the call.",7,null],[11,"disable_event","","Disable an event type. Returns if the event type was enabled before the call.",7,null],[11,"poll_event","","Polls for currently pending events.",7,null],[11,"poll_iter","","Returns a polling iterator that calls `poll_event()`.\nThe iterator will terminate once there are no more pending events.",7,null],[11,"pump_events","","Pumps the event loop, gathering events from the input devices.",7,null],[11,"wait_event","","Waits indefinitely for the next available event.",7,null],[11,"wait_event_timeout","","Waits until the specified timeout (in milliseconds) for the next available event.",7,null],[11,"wait_iter","","Returns a waiting iterator that calls `wait_event()`.",7,null],[11,"wait_timeout_iter","","Returns a waiting iterator that calls `wait_event_timeout()`.",7,null],[11,"keyboard_state","","",7,null],[11,"next","sdl2::event","",8,null],[11,"next","","",9,null],[11,"next","","",10,null],[0,"filesystem","sdl2","",null,null],[5,"get_base_path","sdl2::filesystem","",null,{"inputs":[],"output":{"name":"sdlresult"}}],[5,"get_pref_path","","",null,{"inputs":[{"name":"str"},{"name":"str"}],"output":{"name":"sdlresult"}}],[0,"gesture","sdl2","",null,null],[0,"touch","","",null,null],[5,"get_num_touch_devices","sdl2::touch","",null,{"inputs":[],"output":{"name":"i32"}}],[5,"get_touch_device","","",null,{"inputs":[{"name":"i32"}],"output":{"name":"touchdevice"}}],[5,"get_num_touch_fingers","","",null,{"inputs":[{"name":"touchdevice"}],"output":{"name":"i32"}}],[5,"get_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","","",11,null],[13,"Up","","",11,null],[13,"Right","","",11,null],[13,"Down","","",11,null],[13,"Left","","",11,null],[13,"RightUp","","",11,null],[13,"RightDown","","",11,null],[13,"LeftUp","","",11,null],[13,"Leftdown","","",11,null],[11,"num_joysticks","sdl2","Retreive the total number of attached joysticks *and* controllers identified by SDL.",12,null],[11,"open","","Attempt to open the joystick at number `id` and return it.",12,null],[11,"name_for_index","","Return the name of the joystick at index `id`",12,null],[11,"get_device_guid","","Get the GUID for the joystick number `id`",12,null],[11,"set_event_state","","If state is `true` joystick events are processed, otherwise\nthey're ignored.",12,null],[11,"get_event_state","","Return `true` if joystick events are processed.",12,null],[11,"update","","Force joystick update when not using the event loop",12,null],[11,"subsystem","sdl2::joystick","",13,null],[11,"name","","Return the name of the joystick or an empty string if no name\nis found.",13,null],[11,"get_attached","","Return true if the joystick has been opened and currently\nconnected.",13,null],[11,"get_instance_id","","",13,null],[11,"get_guid","","Retreive the joystick's GUID",13,null],[11,"get_num_axes","","Retreive the number of axes for this joystick",13,null],[11,"get_axis","","Gets the position of the given `axis`.",13,null],[11,"get_num_buttons","","Retreive the number of buttons for this joystick",13,null],[11,"get_button","","Return `Ok(true)` if `button` is pressed.",13,null],[11,"get_num_balls","","Retreive the number of balls for this joystick",13,null],[11,"get_ball","","Return a pair `(dx, dy)` containing the difference in axis\nposition since the last poll",13,null],[11,"get_num_hats","","Retreive the number of balls for this joystick",13,null],[11,"get_hat","","Return the position of `hat` for this joystick",13,null],[11,"drop","","",13,null],[11,"hash","","",14,null],[11,"eq","","",14,null],[11,"ne","","",14,null],[11,"clone","","",14,null],[11,"from_string","","Create a GUID from a string representation.",14,{"inputs":[{"name":"str"}],"output":{"name":"result"}}],[11,"is_zero","","Return `true` if GUID is full 0s",14,null],[11,"get_string","","Return a String representation of GUID",14,null],[11,"raw","","Return a copy of the internal SDL_JoystickGUID",14,null],[11,"fmt","","",14,null],[11,"fmt","","",11,null],[11,"hash","","",11,null],[11,"eq","","",11,null],[11,"clone","","",11,null],[11,"from_raw","","",11,{"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","","",15,null],[13,"LeftY","","",15,null],[13,"RightX","","",15,null],[13,"RightY","","",15,null],[13,"TriggerLeft","","",15,null],[13,"TriggerRight","","",15,null],[4,"Button","","",null,null],[13,"A","","",16,null],[13,"B","","",16,null],[13,"X","","",16,null],[13,"Y","","",16,null],[13,"Back","","",16,null],[13,"Guide","","",16,null],[13,"Start","","",16,null],[13,"LeftStick","","",16,null],[13,"RightStick","","",16,null],[13,"LeftShoulder","","",16,null],[13,"RightShoulder","","",16,null],[13,"DPadUp","","",16,null],[13,"DPadDown","","",16,null],[13,"DPadLeft","","",16,null],[13,"DPadRight","","",16,null],[4,"MappingStatus","","Possible return values for `add_mapping`",null,null],[13,"Added","","",17,null],[13,"Updated","","",17,null],[11,"num_joysticks","sdl2","Retreive the total number of attached joysticks *and* controllers identified by SDL.",18,null],[11,"is_game_controller","","Return true if the joystick at index `id` is a game controller.",18,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.",18,null],[11,"name_for_index","","Return the name of the controller at index `id`",18,null],[11,"set_event_state","","If state is `true` controller events are processed, otherwise\nthey're ignored.",18,null],[11,"get_event_state","","Return `true` if controller events are processed.",18,null],[11,"add_mapping","","Add a new mapping from a mapping string",18,null],[11,"mapping_for_guid","","",18,null],[11,"update","","Force controller update when not using the event loop",18,null],[11,"fmt","sdl2::controller","",15,null],[11,"hash","","",15,null],[11,"eq","","",15,null],[11,"clone","","",15,null],[11,"from_string","","Return the Axis from a string description in the same format\nused by the game controller mapping strings.",15,{"inputs":[{"name":"str"}],"output":{"name":"option"}}],[11,"get_string","","Return a string for a given axis in the same format using by\nthe game controller mapping strings",15,null],[11,"from_ll","","",15,{"inputs":[{"name":"sdl_gamecontrolleraxis"}],"output":{"name":"option"}}],[11,"fmt","","",16,null],[11,"hash","","",16,null],[11,"eq","","",16,null],[11,"clone","","",16,null],[11,"from_string","","Return the Button from a string description in the same format\nused by the game controller mapping strings.",16,{"inputs":[{"name":"str"}],"output":{"name":"option"}}],[11,"get_string","","Return a string for a given button in the same format using by\nthe game controller mapping strings",16,null],[11,"from_ll","","",16,{"inputs":[{"name":"sdl_gamecontrollerbutton"}],"output":{"name":"option"}}],[11,"fmt","","",17,null],[11,"hash","","",17,null],[11,"eq","","",17,null],[11,"clone","","",17,null],[11,"subsystem","","",19,null],[11,"name","","Return the name of the controller or an empty string if no\nname is found.",19,null],[11,"mapping","","Return a String describing the controller's button and axis\nmappings",19,null],[11,"get_attached","","Return true if the controller has been opened and currently\nconnected.",19,null],[11,"get_axis","","Get the position of the given `axis`",19,null],[11,"get_button","","Returns `true` if `button` is pressed.",19,null],[11,"drop","","",19,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","","",20,null],[13,"Tab","","",20,null],[13,"Return","","",20,null],[13,"Escape","","",20,null],[13,"Space","","",20,null],[13,"Exclaim","","",20,null],[13,"Quotedbl","","",20,null],[13,"Hash","","",20,null],[13,"Dollar","","",20,null],[13,"Percent","","",20,null],[13,"Ampersand","","",20,null],[13,"Quote","","",20,null],[13,"LeftParen","","",20,null],[13,"RightParen","","",20,null],[13,"Asterisk","","",20,null],[13,"Plus","","",20,null],[13,"Comma","","",20,null],[13,"Minus","","",20,null],[13,"Period","","",20,null],[13,"Slash","","",20,null],[13,"Num0","","",20,null],[13,"Num1","","",20,null],[13,"Num2","","",20,null],[13,"Num3","","",20,null],[13,"Num4","","",20,null],[13,"Num5","","",20,null],[13,"Num6","","",20,null],[13,"Num7","","",20,null],[13,"Num8","","",20,null],[13,"Num9","","",20,null],[13,"Colon","","",20,null],[13,"Semicolon","","",20,null],[13,"Less","","",20,null],[13,"Equals","","",20,null],[13,"Greater","","",20,null],[13,"Question","","",20,null],[13,"At","","",20,null],[13,"LeftBracket","","",20,null],[13,"Backslash","","",20,null],[13,"RightBracket","","",20,null],[13,"Caret","","",20,null],[13,"Underscore","","",20,null],[13,"Backquote","","",20,null],[13,"A","","",20,null],[13,"B","","",20,null],[13,"C","","",20,null],[13,"D","","",20,null],[13,"E","","",20,null],[13,"F","","",20,null],[13,"G","","",20,null],[13,"H","","",20,null],[13,"I","","",20,null],[13,"J","","",20,null],[13,"K","","",20,null],[13,"L","","",20,null],[13,"M","","",20,null],[13,"N","","",20,null],[13,"O","","",20,null],[13,"P","","",20,null],[13,"Q","","",20,null],[13,"R","","",20,null],[13,"S","","",20,null],[13,"T","","",20,null],[13,"U","","",20,null],[13,"V","","",20,null],[13,"W","","",20,null],[13,"X","","",20,null],[13,"Y","","",20,null],[13,"Z","","",20,null],[13,"Delete","","",20,null],[13,"CapsLock","","",20,null],[13,"F1","","",20,null],[13,"F2","","",20,null],[13,"F3","","",20,null],[13,"F4","","",20,null],[13,"F5","","",20,null],[13,"F6","","",20,null],[13,"F7","","",20,null],[13,"F8","","",20,null],[13,"F9","","",20,null],[13,"F10","","",20,null],[13,"F11","","",20,null],[13,"F12","","",20,null],[13,"PrintScreen","","",20,null],[13,"ScrollLock","","",20,null],[13,"Pause","","",20,null],[13,"Insert","","",20,null],[13,"Home","","",20,null],[13,"PageUp","","",20,null],[13,"End","","",20,null],[13,"PageDown","","",20,null],[13,"Right","","",20,null],[13,"Left","","",20,null],[13,"Down","","",20,null],[13,"Up","","",20,null],[13,"NumLockClear","","",20,null],[13,"KpDivide","","",20,null],[13,"KpMultiply","","",20,null],[13,"KpMinus","","",20,null],[13,"KpPlus","","",20,null],[13,"KpEnter","","",20,null],[13,"Kp1","","",20,null],[13,"Kp2","","",20,null],[13,"Kp3","","",20,null],[13,"Kp4","","",20,null],[13,"Kp5","","",20,null],[13,"Kp6","","",20,null],[13,"Kp7","","",20,null],[13,"Kp8","","",20,null],[13,"Kp9","","",20,null],[13,"Kp0","","",20,null],[13,"KpPeriod","","",20,null],[13,"Application","","",20,null],[13,"Power","","",20,null],[13,"KpEquals","","",20,null],[13,"F13","","",20,null],[13,"F14","","",20,null],[13,"F15","","",20,null],[13,"F16","","",20,null],[13,"F17","","",20,null],[13,"F18","","",20,null],[13,"F19","","",20,null],[13,"F20","","",20,null],[13,"F21","","",20,null],[13,"F22","","",20,null],[13,"F23","","",20,null],[13,"F24","","",20,null],[13,"Execute","","",20,null],[13,"Help","","",20,null],[13,"Menu","","",20,null],[13,"Select","","",20,null],[13,"Stop","","",20,null],[13,"Again","","",20,null],[13,"Undo","","",20,null],[13,"Cut","","",20,null],[13,"Copy","","",20,null],[13,"Paste","","",20,null],[13,"Find","","",20,null],[13,"Mute","","",20,null],[13,"VolumeUp","","",20,null],[13,"VolumeDown","","",20,null],[13,"KpComma","","",20,null],[13,"KpEqualsAS400","","",20,null],[13,"AltErase","","",20,null],[13,"Sysreq","","",20,null],[13,"Cancel","","",20,null],[13,"Clear","","",20,null],[13,"Prior","","",20,null],[13,"Return2","","",20,null],[13,"Separator","","",20,null],[13,"Out","","",20,null],[13,"Oper","","",20,null],[13,"ClearAgain","","",20,null],[13,"CrSel","","",20,null],[13,"ExSel","","",20,null],[13,"Kp00","","",20,null],[13,"Kp000","","",20,null],[13,"ThousandsSeparator","","",20,null],[13,"DecimalSeparator","","",20,null],[13,"CurrencyUnit","","",20,null],[13,"CurrencySubUnit","","",20,null],[13,"KpLeftParen","","",20,null],[13,"KpRightParen","","",20,null],[13,"KpLeftBrace","","",20,null],[13,"KpRightBrace","","",20,null],[13,"KpTab","","",20,null],[13,"KpBackspace","","",20,null],[13,"KpA","","",20,null],[13,"KpB","","",20,null],[13,"KpC","","",20,null],[13,"KpD","","",20,null],[13,"KpE","","",20,null],[13,"KpF","","",20,null],[13,"KpXor","","",20,null],[13,"KpPower","","",20,null],[13,"KpPercent","","",20,null],[13,"KpLess","","",20,null],[13,"KpGreater","","",20,null],[13,"KpAmpersand","","",20,null],[13,"KpDblAmpersand","","",20,null],[13,"KpVerticalBar","","",20,null],[13,"KpDblVerticalBar","","",20,null],[13,"KpColon","","",20,null],[13,"KpHash","","",20,null],[13,"KpSpace","","",20,null],[13,"KpAt","","",20,null],[13,"KpExclam","","",20,null],[13,"KpMemStore","","",20,null],[13,"KpMemRecall","","",20,null],[13,"KpMemClear","","",20,null],[13,"KpMemAdd","","",20,null],[13,"KpMemSubtract","","",20,null],[13,"KpMemMultiply","","",20,null],[13,"KpMemDivide","","",20,null],[13,"KpPlusMinus","","",20,null],[13,"KpCear","","",20,null],[13,"KpClearEntry","","",20,null],[13,"KpBinary","","",20,null],[13,"KpOctal","","",20,null],[13,"KpDecimal","","",20,null],[13,"KpHexadecimal","","",20,null],[13,"LCtrl","","",20,null],[13,"LShift","","",20,null],[13,"LAlt","","",20,null],[13,"LGui","","",20,null],[13,"RCtrl","","",20,null],[13,"RShift","","",20,null],[13,"RAlt","","",20,null],[13,"RGui","","",20,null],[13,"Mode","","",20,null],[13,"AudioNext","","",20,null],[13,"AudioPrev","","",20,null],[13,"AudioStop","","",20,null],[13,"AudioPlay","","",20,null],[13,"AudioMute","","",20,null],[13,"MediaSelect","","",20,null],[13,"Www","","",20,null],[13,"Mail","","",20,null],[13,"Calculator","","",20,null],[13,"Computer","","",20,null],[13,"AcSearch","","",20,null],[13,"AcHome","","",20,null],[13,"AcBack","","",20,null],[13,"AcForward","","",20,null],[13,"AcStop","","",20,null],[13,"AcRefresh","","",20,null],[13,"AcBookmarks","","",20,null],[13,"BrightnessDown","","",20,null],[13,"BrightnessUp","","",20,null],[13,"DisplaySwitch","","",20,null],[13,"KbdIllumToggle","","",20,null],[13,"KbdIllumDown","","",20,null],[13,"KbdIllumUp","","",20,null],[13,"Eject","","",20,null],[13,"Sleep","","",20,null],[4,"Scancode","","",null,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,"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,"Num0","","",21,null],[13,"Return","","",21,null],[13,"Escape","","",21,null],[13,"Backspace","","",21,null],[13,"Tab","","",21,null],[13,"Space","","",21,null],[13,"Minus","","",21,null],[13,"Equals","","",21,null],[13,"LeftBracket","","",21,null],[13,"RightBracket","","",21,null],[13,"Backslash","","",21,null],[13,"NonUsHash","","",21,null],[13,"Semicolon","","",21,null],[13,"Apostrophe","","",21,null],[13,"Grave","","",21,null],[13,"Comma","","",21,null],[13,"Period","","",21,null],[13,"Slash","","",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,"Delete","","",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,"NonUsBackslash","","",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,"International1","","",21,null],[13,"International2","","",21,null],[13,"International3","","",21,null],[13,"International4","","",21,null],[13,"International5","","",21,null],[13,"International6","","",21,null],[13,"International7","","",21,null],[13,"International8","","",21,null],[13,"International9","","",21,null],[13,"Lang1","","",21,null],[13,"Lang2","","",21,null],[13,"Lang3","","",21,null],[13,"Lang4","","",21,null],[13,"Lang5","","",21,null],[13,"Lang6","","",21,null],[13,"Lang7","","",21,null],[13,"Lang8","","",21,null],[13,"Lang9","","",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,"Crse","","",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,"KpClear","","",21,null],[13,"KpClearEntry","","",21,null],[13,"KpBinary","","",21,null],[13,"KpOoctal","","",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],[13,"App1","","",21,null],[13,"App2","","",21,null],[13,"Num","","",21,null],[11,"fmt","","",20,null],[11,"hash","","",20,null],[11,"eq","","",20,null],[11,"clone","","",20,null],[11,"to_i64","","",20,null],[11,"to_u64","","",20,null],[11,"to_isize","","",20,null],[11,"from_i64","","",20,{"inputs":[{"name":"i64"}],"output":{"name":"option"}}],[11,"from_u64","","",20,{"inputs":[{"name":"u64"}],"output":{"name":"option"}}],[11,"fmt","","",20,null],[11,"from_scancode","","Gets the virtual key from a scancode. Returns None if there is no corresponding virtual key.",20,{"inputs":[{"name":"scancode"}],"output":{"name":"option"}}],[11,"from_name","","",20,{"inputs":[{"name":"str"}],"output":{"name":"option"}}],[11,"name","","",20,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_keycode","","Gets the scancode from a virtual key. Returns None if there is no corresponding scancode.",21,{"inputs":[{"name":"keycode"}],"output":{"name":"option"}}],[11,"from_name","","",21,{"inputs":[{"name":"str"}],"output":{"name":"option"}}],[11,"name","","",21,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","","",22,null],[11,"cmp","","",22,null],[11,"partial_cmp","","",22,null],[11,"lt","","",22,null],[11,"le","","",22,null],[11,"gt","","",22,null],[11,"ge","","",22,null],[11,"clone","","",22,null],[11,"eq","","",22,null],[11,"ne","","",22,null],[11,"fmt","","",22,null],[11,"empty","","Returns an empty set of flags.",22,{"inputs":[],"output":{"name":"mod"}}],[11,"all","","Returns the set containing all flags.",22,{"inputs":[],"output":{"name":"mod"}}],[11,"bits","","Returns the raw value of the flags currently stored.",22,null],[11,"from_bits","","Convert from underlying bit representation, unless that\nrepresentation contains bits that do not correspond to a flag.",22,{"inputs":[{"name":"u32"}],"output":{"name":"option"}}],[11,"from_bits_truncate","","Convert from underlying bit representation, dropping any bits\nthat do not correspond to flags.",22,{"inputs":[{"name":"u32"}],"output":{"name":"mod"}}],[11,"is_empty","","Returns `true` if no flags are currently stored.",22,null],[11,"is_all","","Returns `true` if all flags are currently set.",22,null],[11,"intersects","","Returns `true` if there are flags common to both `self` and `other`.",22,null],[11,"contains","","Returns `true` all of the flags in `other` are contained within `self`.",22,null],[11,"insert","","Inserts the specified flags in-place.",22,null],[11,"remove","","Removes the specified flags in-place.",22,null],[11,"toggle","","Toggles the specified flags in-place.",22,null],[11,"bitor","","Returns the union of the two sets of flags.",22,null],[11,"bitxor","","Returns the left flags, but with all the right flags toggled.",22,null],[11,"bitand","","Returns the intersection between the two sets of flags.",22,null],[11,"sub","","Returns the set difference of the two sets of flags.",22,null],[11,"not","","Returns the complement of this set of flags.",22,null],[11,"new","","",23,{"inputs":[{"name":"eventpump"}],"output":{"name":"keyboardstate"}}],[11,"is_scancode_pressed","","Returns true if the scancode is pressed.",23,null],[11,"scancodes","","Returns an iterator all scancodes with a boolean indicating if the scancode is pressed.",23,null],[11,"pressed_scancodes","","Returns an iterator of pressed scancodes.",23,null],[11,"next","","",24,null],[11,"next","","",25,null],[11,"keyboard","sdl2","",26,null],[11,"text_input","","",1,null],[11,"get_focused_window_id","sdl2::keyboard","Gets the id of the window which currently has keyboard focus.",27,null],[11,"mod_state","","",27,null],[11,"set_mod_state","","",27,null],[11,"start","","",28,null],[11,"is_active","","",28,null],[11,"stop","","",28,null],[11,"set_rect","","",28,null],[11,"has_screen_keyboard_support","","",28,null],[11,"is_screen_keyboard_shown","","",28,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","","",29,null],[13,"IBeam","","",29,null],[13,"Wait","","",29,null],[13,"Crosshair","","",29,null],[13,"WaitArrow","","",29,null],[13,"SizeNWSE","","",29,null],[13,"SizeNESW","","",29,null],[13,"SizeWE","","",29,null],[13,"SizeNS","","",29,null],[13,"SizeAll","","",29,null],[13,"No","","",29,null],[13,"Hand","","",29,null],[4,"Mouse","","",null,null],[13,"Left","","",30,null],[13,"Middle","","",30,null],[13,"Right","","",30,null],[13,"X1","","",30,null],[13,"X2","","",30,null],[13,"Unknown","","",30,null],[11,"fmt","","",29,null],[11,"hash","","",29,null],[11,"eq","","",29,null],[11,"clone","","",29,null],[11,"drop","","",31,null],[11,"new","","",31,null],[11,"from_surface","","",31,{"inputs":[{"name":"s"},{"name":"i32"},{"name":"i32"}],"output":{"name":"sdlresult"}}],[11,"from_system","","",31,{"inputs":[{"name":"systemcursor"}],"output":{"name":"sdlresult"}}],[11,"set","","",31,null],[11,"fmt","","",30,null],[11,"hash","","",30,null],[11,"eq","","",30,null],[11,"ne","","",30,null],[11,"clone","","",30,null],[11,"from_ll","","",30,{"inputs":[{"name":"u8"}],"output":{"name":"mouse"}}],[11,"hash","","",32,null],[11,"eq","","",32,null],[11,"ne","","",32,null],[11,"clone","","",32,null],[11,"button","","Tests if a mouse button was pressed.",32,null],[11,"left","","Tests if the left mouse button was pressed.",32,null],[11,"middle","","Tests if the middle mouse button was pressed.",32,null],[11,"right","","Tests if the right mouse button was pressed.",32,null],[11,"x1","","Tests if the X1 mouse button was pressed.",32,null],[11,"x2","","Tests if the X2 mouse button was pressed.",32,null],[11,"from_flags","","",32,{"inputs":[{"name":"u32"}],"output":{"name":"mousestate"}}],[11,"mouse","sdl2","",26,null],[11,"get_focused_window_id","sdl2::mouse","Gets the id of the window which currently has mouse focus.",33,null],[11,"get_mouse_state","","",33,null],[11,"get_relative_mouse_state","","",33,null],[11,"warp_mouse_in_window","","",33,null],[11,"set_relative_mouse_mode","","",33,null],[11,"get_relative_mouse_mode","","",33,null],[11,"is_cursor_showing","","",33,null],[11,"show_cursor","","",33,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","","",34,null],[11,"fmt","","",34,null],[11,"eq","","",34,null],[11,"ne","","",34,null],[11,"clone","","",34,null],[11,"from","","",34,null],[11,"into","","",34,null],[11,"raw","","",34,null],[11,"raw_slice","","",34,null],[11,"from_ll","","",34,{"inputs":[{"name":"sdl_point"}],"output":{"name":"point"}}],[11,"new","","",34,{"inputs":[{"name":"i32"},{"name":"i32"}],"output":{"name":"point"}}],[11,"offset","","",34,null],[11,"xy","","",34,null],[11,"x","","",34,null],[11,"y","","",34,null],[11,"hash","","",35,null],[11,"fmt","","",35,null],[11,"eq","","",35,null],[11,"ne","","",35,null],[11,"clone","","",35,null],[11,"into","","",35,null],[11,"raw","","",35,null],[11,"raw_from_option","","",35,null],[11,"raw_mut_from_option","","",35,null],[11,"raw_slice","","",35,null],[11,"from_ll","","",35,{"inputs":[{"name":"sdl_rect"}],"output":{"name":"sdlresult"}}],[11,"new","","Creates a new rectangle.",35,{"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.",35,{"inputs":[{"name":"i32"},{"name":"i32"},{"name":"u32"},{"name":"u32"}],"output":{"name":"rect"}}],[11,"offset","","Offsets the rectangle's x and y coordinates.",35,null],[11,"xywh","","",35,null],[11,"x","","",35,null],[11,"y","","",35,null],[11,"width","","",35,null],[11,"height","","",35,null],[11,"from_enclose_points","","Calculate a minimal rectangle enclosing a set of points.",35,null],[11,"has_intersection","","Determine whether two rectangles intersect.",35,null],[11,"intersect","","Calculate the intersection of two rectangles. The bitwise AND operator `&` can also be used.",35,null],[11,"union","","Calculate the union of two rectangles. The bitwise OR operator `|` can also be used.",35,null],[11,"intersect_line","","Calculate the intersection of a rectangle and line segment. return points of intersection.",35,null],[11,"bitand","","",35,null],[11,"bitand","","",35,null],[11,"bitor","","",35,null],[11,"bitor","","",35,null],[0,"surface","sdl2","",null,null],[3,"Surface","sdl2::surface","",null,null],[3,"SurfaceRef","","An unsized Surface reference.",null,null],[11,"drop","","",36,null],[11,"deref","","",36,null],[11,"deref_mut","","",36,null],[11,"as_ref","","",36,null],[11,"as_mut","","",36,null],[11,"from_ll","","",36,null],[11,"new","","Creates a new surface using a pixel format.",36,{"inputs":[{"name":"u32"},{"name":"u32"},{"name":"pixelformatenum"}],"output":{"name":"sdlresult"}}],[11,"from_pixelmasks","","Creates a new surface using pixel masks.",36,{"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.",36,null],[11,"from_data_pixelmasks","","Creates a new surface from an existing buffer, using pixel masks.",36,null],[11,"load_bmp_rw","","",36,{"inputs":[{"name":"rwops"}],"output":{"name":"sdlresult"}}],[11,"load_bmp","","",36,{"inputs":[{"name":"p"}],"output":{"name":"sdlresult"}}],[11,"from_ll","","",37,null],[11,"from_ll_mut","","",37,null],[11,"raw","","",37,null],[11,"get_width","","",37,null],[11,"get_height","","",37,null],[11,"get_pitch","","",37,null],[11,"get_size","","",37,null],[11,"get_rect","","",37,null],[11,"get_pixel_format","","",37,null],[11,"with_lock","","Locks a surface so that the pixels can be directly accessed safely.",37,null],[11,"with_lock_mut","","Locks a surface so that the pixels can be directly accessed safely.",37,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).",37,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).",37,null],[11,"must_lock","","Returns true if the Surface needs to be locked before accessing the Surface pixels.",37,null],[11,"save_bmp_rw","","",37,null],[11,"save_bmp","","",37,null],[11,"set_palette","","",37,null],[11,"enable_RLE","","",37,null],[11,"disable_RLE","","",37,null],[11,"set_color_key","","",37,null],[11,"get_color_key","","The function will fail if the surface doesn't have color key enabled.",37,null],[11,"set_color_mod","","",37,null],[11,"get_color_mod","","",37,null],[11,"fill_rect","","",37,null],[11,"fill_rects","","",37,null],[11,"set_alpha_mod","","",37,null],[11,"get_alpha_mod","","",37,null],[11,"set_blend_mode","","The function will fail if the blend mode is not supported by SDL.",37,null],[11,"get_blend_mode","","",37,null],[11,"set_clip_rect","","Sets the clip rectangle for the surface.",37,null],[11,"get_clip_rect","","Gets the clip rectangle for the surface.",37,null],[11,"convert","","Copies the surface into a new one that is optimized for blitting to a surface of a specified pixel format.",37,null],[11,"blit","","Performs surface blitting (surface copying).",37,null],[11,"lower_blit","","Performs low-level surface blitting.",37,null],[11,"blit_scaled","","Performs scaled surface bliting (surface copying).",37,null],[11,"lower_blit_scaled","","Performs low-level scaled surface blitting.",37,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",38,null],[12,"rmask","","The red mask",38,null],[12,"gmask","","The green mask",38,null],[12,"bmask","","The blue mask",38,null],[12,"amask","","The alpha mask",38,null],[3,"PixelFormat","","",null,null],[4,"Color","","",null,null],[13,"RGB","","",39,null],[13,"RGBA","","",39,null],[4,"PixelFormatEnum","","",null,null],[13,"Unknown","","",40,null],[13,"Index1LSB","","",40,null],[13,"Index1MSB","","",40,null],[13,"Index4LSB","","",40,null],[13,"Index4MSB","","",40,null],[13,"Index8","","",40,null],[13,"RGB332","","",40,null],[13,"RGB444","","",40,null],[13,"RGB555","","",40,null],[13,"BGR555","","",40,null],[13,"ARGB4444","","",40,null],[13,"RGBA4444","","",40,null],[13,"ABGR4444","","",40,null],[13,"BGRA4444","","",40,null],[13,"ARGB1555","","",40,null],[13,"RGBA5551","","",40,null],[13,"ABGR1555","","",40,null],[13,"BGRA5551","","",40,null],[13,"RGB565","","",40,null],[13,"BGR565","","",40,null],[13,"RGB24","","",40,null],[13,"BGR24","","",40,null],[13,"RGB888","","",40,null],[13,"RGBX8888","","",40,null],[13,"BGR888","","",40,null],[13,"BGRX8888","","",40,null],[13,"ARGB8888","","",40,null],[13,"RGBA8888","","",40,null],[13,"ABGR8888","","",40,null],[13,"BGRA8888","","",40,null],[13,"ARGB2101010","","",40,null],[13,"YV12","","",40,null],[13,"IYUV","","",40,null],[13,"YUY2","","",40,null],[13,"UYVY","","",40,null],[13,"YVYU","","",40,null],[11,"raw","","",41,null],[11,"fmt","","",39,null],[11,"hash","","",39,null],[11,"eq","","",39,null],[11,"ne","","",39,null],[11,"clone","","",39,null],[11,"to_u32","","",39,null],[11,"from_u32","","",39,{"inputs":[{"name":"pixelformat"},{"name":"u32"}],"output":{"name":"color"}}],[11,"get_rgb","","",39,null],[11,"rand","","",39,{"inputs":[{"name":"r"}],"output":{"name":"color"}}],[11,"raw","","",42,null],[11,"from_ll","","",42,null],[11,"fmt","","",40,null],[11,"hash","","",40,null],[11,"eq","","",40,null],[11,"clone","","",40,null],[11,"from_masks","","",40,{"inputs":[{"name":"pixelmasks"}],"output":{"name":"pixelformatenum"}}],[11,"into_masks","","",40,null],[11,"byte_size_from_pitch_and_height","","Calculates the total byte size of an image buffer, given its pitch\nand height.",40,null],[11,"byte_size_of_pixels","","",40,null],[11,"byte_size_per_pixel","","",40,null],[11,"from_i64","","",40,{"inputs":[{"name":"i64"}],"output":{"name":"option"}}],[11,"from_u64","","",40,{"inputs":[{"name":"u64"}],"output":{"name":"option"}}],[0,"video","sdl2","",null,null],[3,"DisplayMode","sdl2::video","",null,null],[12,"format","","",43,null],[12,"w","","",43,null],[12,"h","","",43,null],[12,"refresh_rate","","",43,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",44,null],[13,"Compatibility","","OpenGL compatibility profile - deprecated functions are allowed",44,null],[13,"GLES","","OpenGL ES profile - only a subset of the base OpenGL functionality is available",44,null],[4,"FullscreenType","","",null,null],[13,"FTOff","","",45,null],[13,"FTTrue","","",45,null],[13,"FTDesktop","","",45,null],[4,"WindowPos","","",null,null],[13,"PosUndefined","","",46,null],[13,"PosCentered","","",46,null],[13,"Positioned","","",46,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.",1,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",47,null],[11,"red_size","","**Gets** the attribute:\nthe minimum number of bits for the red channel of the color buffer; defaults to 3",47,null],[11,"set_green_size","","**Sets** the attribute:\nthe minimum number of bits for the green channel of the color buffer; defaults to 3",47,null],[11,"green_size","","**Gets** the attribute:\nthe minimum number of bits for the green channel of the color buffer; defaults to 3",47,null],[11,"set_blue_size","","**Sets** the attribute:\nthe minimum number of bits for the blue channel of the color buffer; defaults to 2",47,null],[11,"blue_size","","**Gets** the attribute:\nthe minimum number of bits for the blue channel of the color buffer; defaults to 2",47,null],[11,"set_alpha_size","","**Sets** the attribute:\nthe minimum number of bits for the alpha channel of the color buffer; defaults to 0",47,null],[11,"alpha_size","","**Gets** the attribute:\nthe minimum number of bits for the alpha channel of the color buffer; defaults to 0",47,null],[11,"set_buffer_size","","**Sets** the attribute:\nthe minimum number of bits for frame buffer size; defaults to 0",47,null],[11,"buffer_size","","**Gets** the attribute:\nthe minimum number of bits for frame buffer size; defaults to 0",47,null],[11,"set_double_buffer","","**Sets** the attribute:\nwhether the output is single or double buffered; defaults to double buffering on",47,null],[11,"double_buffer","","**Gets** the attribute:\nwhether the output is single or double buffered; defaults to double buffering on",47,null],[11,"set_depth_size","","**Sets** the attribute:\nthe minimum number of bits in the depth buffer; defaults to 16",47,null],[11,"depth_size","","**Gets** the attribute:\nthe minimum number of bits in the depth buffer; defaults to 16",47,null],[11,"set_stencil_size","","**Sets** the attribute:\nthe minimum number of bits in the stencil buffer; defaults to 0",47,null],[11,"stencil_size","","**Gets** the attribute:\nthe minimum number of bits in the stencil buffer; defaults to 0",47,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",47,null],[11,"accum_red_size","","**Gets** the attribute:\nthe minimum number of bits for the red channel of the accumulation buffer; defaults to 0",47,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",47,null],[11,"accum_green_size","","**Gets** the attribute:\nthe minimum number of bits for the green channel of the accumulation buffer; defaults to 0",47,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",47,null],[11,"accum_blue_size","","**Gets** the attribute:\nthe minimum number of bits for the blue channel of the accumulation buffer; defaults to 0",47,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",47,null],[11,"accum_alpha_size","","**Gets** the attribute:\nthe minimum number of bits for the alpha channel of the accumulation buffer; defaults to 0",47,null],[11,"set_stereo","","**Sets** the attribute:\nwhether the output is stereo 3D; defaults to off",47,null],[11,"stereo","","**Gets** the attribute:\nwhether the output is stereo 3D; defaults to off",47,null],[11,"set_multisample_buffers","","**Sets** the attribute:\nthe number of buffers used for multisample anti-aliasing; defaults to 0",47,null],[11,"multisample_buffers","","**Gets** the attribute:\nthe number of buffers used for multisample anti-aliasing; defaults to 0",47,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",47,null],[11,"multisample_samples","","**Gets** the attribute:\nthe number of samples used around the current pixel used for multisample anti-aliasing; defaults to 0",47,null],[11,"set_accelerated_visual","","**Sets** the attribute:\nwhether to require hardware acceleration; false to force software rendering; defaults to allow either",47,null],[11,"accelerated_visual","","**Gets** the attribute:\nwhether to require hardware acceleration; false to force software rendering; defaults to allow either",47,null],[11,"set_context_major_version","","**Sets** the attribute:\nOpenGL context major version",47,null],[11,"context_major_version","","**Gets** the attribute:\nOpenGL context major version",47,null],[11,"set_context_minor_version","","**Sets** the attribute:\nOpenGL context minor version",47,null],[11,"context_minor_version","","**Gets** the attribute:\nOpenGL context minor version",47,null],[11,"set_context_profile","","**Sets** the attribute:\ntype of GL context (Core, Compatibility, ES)",47,null],[11,"context_profile","","**Gets** the attribute:\ntype of GL context (Core, Compatibility, ES)",47,null],[11,"set_share_with_current_context","","**Sets** the attribute:\nOpenGL context sharing; defaults to false",47,null],[11,"share_with_current_context","","**Gets** the attribute:\nOpenGL context sharing; defaults to false",47,null],[11,"set_framebuffer_srgb_compatible","","**Sets** the attribute:\nrequests sRGB capable visual; defaults to false (>= SDL 2.0.1)",47,null],[11,"framebuffer_srgb_compatible","","**Gets** the attribute:\nrequests sRGB capable visual; defaults to false (>= SDL 2.0.1)",47,null],[11,"set_context_version","","**Sets** the OpenGL context major and minor versions.",47,null],[11,"context_version","","**Gets** the OpenGL context major and minor versions as a tuple.",47,null],[11,"set","","Finishes the builder and applies the GL context flags to the GL context.",48,null],[11,"debug","","Sets the context into "debug" mode.",48,null],[11,"forward_compatible","","Sets the context into "forward compatible" mode.",48,null],[11,"robust_access","","",48,null],[11,"reset_isolation","","",48,null],[11,"has_debug","","",49,null],[11,"has_forward_compatible","","",49,null],[11,"has_robust_access","","",49,null],[11,"has_reset_isolation","","",49,null],[11,"set_context_flags","","**Sets** any combination of OpenGL context configuration flags.",47,null],[11,"context_flags","","**Gets** the applied OpenGL context configuration flags.",47,null],[11,"fmt","sdl2::video","",44,null],[11,"hash","","",44,null],[11,"eq","","",44,null],[11,"clone","","",44,null],[11,"fmt","","",43,null],[11,"hash","","",43,null],[11,"eq","","",43,null],[11,"ne","","",43,null],[11,"clone","","",43,null],[11,"new","","",43,{"inputs":[{"name":"u32"},{"name":"i32"},{"name":"i32"},{"name":"i32"}],"output":{"name":"displaymode"}}],[11,"from_ll","","",43,{"inputs":[{"name":"sdl_displaymode"}],"output":{"name":"displaymode"}}],[11,"to_ll","","",43,null],[11,"fmt","","",45,null],[11,"hash","","",45,null],[11,"eq","","",45,null],[11,"clone","","",45,null],[11,"fmt","","",46,null],[11,"hash","","",46,null],[11,"eq","","",46,null],[11,"ne","","",46,null],[11,"clone","","",46,null],[11,"drop","","",50,null],[11,"is_current","","Returns true if the OpenGL context is the current one in the thread.",50,null],[11,"raw","","",50,null],[11,"window","sdl2","Initializes a new `WindowBuilder`; a convenience method that calls `WindowBuilder::new()`.",1,null],[11,"get_current_video_driver","","",1,null],[11,"get_num_video_displays","","",1,null],[11,"get_display_name","","",1,null],[11,"get_display_bounds","","",1,null],[11,"get_num_display_modes","","",1,null],[11,"get_display_mode","","",1,null],[11,"get_desktop_display_mode","","",1,null],[11,"get_current_display_mode","","",1,null],[11,"get_closest_display_mode","","",1,null],[11,"is_screen_saver_enabled","","",1,null],[11,"enable_screen_saver","","",1,null],[11,"disable_screen_saver","","",1,null],[11,"gl_load_library_default","","Loads the default OpenGL library.",1,null],[11,"gl_load_library","","Loads the OpenGL library using a platform-dependent OpenGL library name (usually a file path).",1,null],[11,"gl_unload_library","","Unloads the current OpenGL library.",1,null],[11,"gl_get_proc_address","","Gets the pointer to the named OpenGL function.",1,null],[11,"gl_extension_supported","","",1,null],[11,"gl_get_current_window_id","","",1,null],[11,"gl_release_current_context","","Releases the thread's current OpenGL context, i.e. sets the current OpenGL context to nothing.",1,null],[11,"gl_set_swap_interval","","",1,null],[11,"gl_get_swap_interval","","",1,null],[11,"drop","sdl2::video","",51,null],[11,"new","","Initializes a new `WindowBuilder`.",52,{"inputs":[{"name":"videosubsystem"},{"name":"str"},{"name":"u32"},{"name":"u32"}],"output":{"name":"windowbuilder"}}],[11,"build","","Builds the window.",52,null],[11,"get_window_flags","","Gets the underlying window flags.",52,null],[11,"set_window_flags","","Sets the underlying window flags.\nThis will effectively undo any previous build operations, excluding window size and position.",52,null],[11,"position","","Sets the window position.",52,null],[11,"position_centered","","Centers the window.",52,null],[11,"fullscreen","","Sets the window to fullscreen.",52,null],[11,"fullscreen_desktop","","Sets the window to fullscreen at the current desktop resolution.",52,null],[11,"opengl","","Sets the window to be usable with an OpenGL context",52,null],[11,"hidden","","Hides the window.",52,null],[11,"borderless","","Removes the window decoration.",52,null],[11,"resizable","","Sets the window to be resizable.",52,null],[11,"minimized","","Minimizes the window.",52,null],[11,"maximized","","Maximizes the window.",52,null],[11,"input_grabbed","","Sets the window to have grabbed input focus.",52,null],[11,"allow_highdpi","","Creates the window in high-DPI mode if supported (>= SDL 2.0.1)",52,null],[11,"raw","","",51,null],[11,"from_ll","","",51,null],[11,"subsystem","","",51,null],[11,"renderer","","Initializes a new `RendererBuilder`; a convenience method that calls `RendererBuilder::new()`.",51,null],[11,"deref","","",51,null],[11,"deref_mut","","",51,null],[11,"raw","","",53,null],[11,"from_ll","","",53,null],[11,"from_ll_mut","","",53,null],[11,"get_id","","",53,null],[11,"gl_create_context","","",53,null],[11,"gl_set_context_to_current","","Set the window's OpenGL context to the current context on the thread.",53,null],[11,"gl_make_current","","",53,null],[11,"gl_swap_window","","",53,null],[11,"get_display_index","","",53,null],[11,"set_display_mode","","",53,null],[11,"get_display_mode","","",53,null],[11,"get_window_pixel_format","","",53,null],[11,"get_window_flags","","",53,null],[11,"set_title","","",53,null],[11,"get_title","","",53,null],[11,"set_icon","","",53,null],[11,"set_position","","",53,null],[11,"get_position","","",53,null],[11,"set_size","","",53,null],[11,"get_size","","",53,null],[11,"get_drawable_size","","",53,null],[11,"set_minimum_size","","",53,null],[11,"get_minimum_size","","",53,null],[11,"set_maximum_size","","",53,null],[11,"get_maximum_size","","",53,null],[11,"set_bordered","","",53,null],[11,"show","","",53,null],[11,"hide","","",53,null],[11,"raise","","",53,null],[11,"maximize","","",53,null],[11,"minimize","","",53,null],[11,"restore","","",53,null],[11,"set_fullscreen","","",53,null],[11,"get_surface","","",53,null],[11,"get_surface_mut","","",53,null],[11,"update_surface","","",53,null],[11,"update_surface_rects","","",53,null],[11,"set_grab","","",53,null],[11,"get_grab","","",53,null],[11,"set_brightness","","",53,null],[11,"get_brightness","","",53,null],[11,"set_gamma_ramp","","",53,null],[11,"get_gamma_ramp","","",53,null],[11,"clone","","",54,null],[11,"next","","",54,null],[11,"size_hint","","",54,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`.",55,null],[11,"get_ticks","","Gets the number of milliseconds elapsed since the timer subsystem was initialized.",55,null],[11,"delay","","Sleeps the current thread for the specified amount of milliseconds.",55,null],[11,"get_performance_counter","","",55,null],[11,"get_performance_frequency","","",55,null],[11,"into_inner","sdl2::timer","Returns the closure as a trait-object and cancels the timer\nby consuming it...",56,null],[11,"drop","","",56,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","","",57,null],[12,"flags","","",57,null],[12,"texture_formats","","",57,null],[12,"max_texture_width","","",57,null],[12,"max_texture_height","","",57,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","","",58,null],[12,"access","","",58,null],[12,"width","","",58,null],[12,"height","","",58,null],[3,"Texture","","A texture for a rendering context.",null,null],[3,"DriverIterator","","",null,null],[4,"TextureAccess","","",null,null],[13,"Static","","",59,null],[13,"Streaming","","",59,null],[13,"Target","","",59,null],[4,"BlendMode","","",null,null],[13,"None","","",60,null],[13,"Blend","","",60,null],[13,"Add","","",60,null],[13,"Mod","","",60,null],[4,"RendererParent","","",null,null],[13,"Surface","","",61,null],[13,"Window","","",61,null],[5,"drivers","","Gets an iterator of all render drivers compiled into the SDL2 library.",null,{"inputs":[],"output":{"name":"driveriterator"}}],[11,"fmt","","",59,null],[11,"hash","","",59,null],[11,"eq","","",59,null],[11,"clone","","",59,null],[11,"from_i64","","",59,{"inputs":[{"name":"i64"}],"output":{"name":"option"}}],[11,"from_u64","","",59,{"inputs":[{"name":"u64"}],"output":{"name":"option"}}],[11,"fmt","","",57,null],[11,"hash","","",57,null],[11,"eq","","",57,null],[11,"ne","","",57,null],[11,"clone","","",57,null],[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,"from_ll","","",57,{"inputs":[{"name":"sdl_rendererinfo"}],"output":{"name":"rendererinfo"}}],[11,"drop","","",62,null],[11,"new","","Initializes a new `RendererBuilder`.",63,{"inputs":[{"name":"window"}],"output":{"name":"rendererbuilder"}}],[11,"build","","Builds the renderer.",63,null],[11,"index","","Sets the index of the rendering driver to initialize.",63,null],[11,"software","","Set the renderer to a software fallback.",63,null],[11,"accelerated","","Set the renderer to use hardware acceleration.",63,null],[11,"present_vsync","","Synchronize renderer present with the refresh rate.",63,null],[11,"target_texture","","Set the renderer to support rendering to a texture.",63,null],[11,"from_surface","","Creates a 2D software rendering context for a surface.",62,{"inputs":[{"name":"surface"}],"output":{"name":"sdlresult"}}],[11,"get_info","","Gets information about the rendering context.",62,null],[11,"window","","Gets the associated window reference of the Renderer, if there is one.",62,null],[11,"window_mut","","Gets the associated window reference of the Renderer, if there is one.",62,null],[11,"surface","","Gets the associated surface reference of the Renderer, if there is one.",62,null],[11,"surface_mut","","Gets the associated surface reference of the Renderer, if there is one.",62,null],[11,"into_window","","",62,null],[11,"into_surface","","",62,null],[11,"raw","","Unwraps the window or surface the rendering context was created from.",62,null],[11,"from_ll","","",62,null],[11,"create_texture","","Creates a texture for a rendering context.",62,null],[11,"create_texture_static","","Shorthand for `create_texture(format, TextureAccess::Static, size)`",62,null],[11,"create_texture_streaming","","Shorthand for `create_texture(format, TextureAccess::Streaming, size)`",62,null],[11,"create_texture_target","","Shorthand for `create_texture(format, TextureAccess::Target, size)`",62,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`.",62,null],[11,"render_target_supported","","Determine whether a window supports the use of render targets.",62,null],[11,"render_target","","Gets the render target handle.",62,null],[11,"set_draw_color","","Sets the color used for drawing operations (Rect, Line and Clear).",62,null],[11,"get_draw_color","","Gets the color used for drawing operations (Rect, Line and Clear).",62,null],[11,"set_blend_mode","","Sets the blend mode used for drawing operations (Fill and Line).",62,null],[11,"get_blend_mode","","Gets the blend mode used for drawing operations.",62,null],[11,"clear","","Clears the current rendering target with the drawing color.",62,null],[11,"present","","Updates the screen with any rendering performed since the previous call.",62,null],[11,"get_output_size","","Gets the output size of a rendering context.",62,null],[11,"set_logical_size","","Sets a device independent resolution for rendering.",62,null],[11,"get_logical_size","","Gets device independent resolution for rendering.",62,null],[11,"set_viewport","","Sets the drawing area for rendering on the current target.",62,null],[11,"get_viewport","","Gets the drawing area for the current target.",62,null],[11,"set_clip_rect","","Sets the clip rectangle for rendering on the specified target.",62,null],[11,"get_clip_rect","","Gets the clip rectangle for the current target.",62,null],[11,"set_scale","","Sets the drawing scale for rendering on the current target.",62,null],[11,"get_scale","","Gets the drawing scale for the current target.",62,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)",62,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)",62,null],[11,"draw_line","","# Panics\nPanics if drawing fails for any reason (e.g. driver failure)",62,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)",62,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)",62,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)",62,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)",62,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)",62,null],[11,"copy","","Copies a portion of the texture to the current rendering target.",62,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.",62,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.",62,null],[11,"reset","","Resets the render target to the default render target.",64,null],[11,"set","","Sets the render target to the provided texture.\nThe texture must be created with the texture access: `sdl2::render::TextureAccess::Target`.",64,null],[11,"create_and_set","","Creates a new texture and sets it as the render target.",64,null],[11,"fmt","","",58,null],[11,"hash","","",58,null],[11,"eq","","",58,null],[11,"ne","","",58,null],[11,"clone","","",58,null],[11,"drop","","",65,null],[11,"query","","Queries the attributes of the texture.",65,null],[11,"set_color_mod","","Sets an additional color value multiplied into render copy operations.",65,null],[11,"get_color_mod","","Gets the additional color value multiplied into render copy operations.",65,null],[11,"set_alpha_mod","","Sets an additional alpha value multiplied into render copy operations.",65,null],[11,"get_alpha_mod","","Gets the additional alpha value multiplied into render copy operations.",65,null],[11,"set_blend_mode","","Sets the blend mode for a texture, used by `Renderer::copy()`.",65,null],[11,"get_blend_mode","","Gets the blend mode used for texture copy operations.",65,null],[11,"update","","Updates the given texture rectangle with new pixel data.",65,null],[11,"update_yuv","","Updates a rectangle within a planar YV12 or IYUV texture with new pixel data.",65,null],[11,"with_lock","","Locks the texture for **write-only** pixel access.\nThe texture must have been created with streaming access.",65,null],[11,"gl_bind_texture","","Binds an OpenGL/ES/ES2 texture to the current\ncontext for use with when rendering OpenGL primitives directly.",65,null],[11,"gl_unbind_texture","","Unbinds an OpenGL/ES/ES2 texture from the current context.",65,null],[11,"gl_with_bind","","Binds and unbinds an OpenGL/ES/ES2 texture from the current context.",65,null],[11,"from_ll","","",65,null],[11,"raw","","",65,null],[11,"clone","","",66,null],[11,"next","","",66,null],[11,"size_hint","","",66,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","","",67,null],[11,"from_ll","","",67,null],[11,"from_file","","Creates an SDL file stream.",67,{"inputs":[{"name":"p"},{"name":"str"}],"output":{"name":"sdlresult"}}],[11,"from_bytes","","Prepares a read-only memory buffer for use with `RWops`.",67,null],[11,"from_bytes_mut","","Prepares a read-write memory buffer for use with `RWops`.",67,null],[11,"len","","Gets the stream's total size in bytes.",67,null],[11,"drop","","",67,null],[11,"read","","",67,null],[11,"write","","",67,null],[11,"flush","","",67,null],[11,"seek","","",67,null],[11,"fmt","sdl2","",0,null],[11,"hash","","",0,null],[11,"eq","","",0,null],[11,"clone","","",0,null],[11,"clone","","",26,null],[11,"audio","","Initializes the audio subsystem.",26,null],[11,"event","","Initializes the event subsystem.",26,null],[11,"joystick","","Initializes the joystick subsystem.",26,null],[11,"haptic","","Initializes the haptic subsystem.",26,null],[11,"game_controller","","Initializes the game controller subsystem.",26,null],[11,"timer","","Initializes the timer subsystem.",26,null],[11,"video","","Initializes the video subsystem.",26,null],[11,"event_pump","","Obtains the SDL event pump.",26,null],[11,"clone","","",68,null],[11,"sdl","","Obtain an SDL context.",68,null],[11,"clone","","",18,null],[11,"sdl","","Obtain an SDL context.",18,null],[11,"clone","","",69,null],[11,"sdl","","Obtain an SDL context.",69,null],[11,"clone","","",12,null],[11,"sdl","","Obtain an SDL context.",12,null],[11,"clone","","",1,null],[11,"sdl","","Obtain an SDL context.",1,null],[11,"clone","","",55,null],[11,"sdl","","Obtain an SDL context.",55,null],[11,"clone","","",6,null],[11,"sdl","","Obtain an SDL context.",6,null],[11,"drop","","",7,null],[0,"audio","","Audio Functions",null,null],[3,"DriverIterator","sdl2::audio","",null,null],[3,"AudioSpecWAV","","",null,null],[12,"freq","","",70,null],[12,"format","","",70,null],[12,"channels","","",70,null],[3,"AudioSpecDesired","","",null,null],[12,"freq","","DSP frequency (samples per second). Set to None for the device's fallback frequency.",71,null],[12,"channels","","Number of separate audio channels. Set to None for the device's fallback number of channels.",71,null],[12,"samples","","Audio buffer size in samples (power of 2). Set to None for the device's fallback sample size.",71,null],[3,"AudioSpec","","",null,null],[12,"freq","","",72,null],[12,"format","","",72,null],[12,"channels","","",72,null],[12,"silence","","",72,null],[12,"samples","","",72,null],[12,"size","","",72,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",73,null],[13,"S8","","Signed 8-bit samples",73,null],[13,"U16LSB","","Unsigned 16-bit samples, little-endian",73,null],[13,"U16MSB","","Unsigned 16-bit samples, big-endian",73,null],[13,"S16LSB","","Signed 16-bit samples, little-endian",73,null],[13,"S16MSB","","Signed 16-bit samples, big-endian",73,null],[13,"S32LSB","","Signed 32-bit samples, little-endian",73,null],[13,"S32MSB","","Signed 32-bit samples, big-endian",73,null],[13,"F32LSB","","32-bit floating point samples, little-endian",73,null],[13,"F32MSB","","32-bit floating point samples, big-endian",73,null],[4,"AudioStatus","","",null,null],[13,"Stopped","","",74,null],[13,"Playing","","",74,null],[13,"Paused","","",74,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","","",75,null],[10,"callback","","",75,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,"get_audio_format","","",76,{"inputs":[],"output":{"name":"audioformat"}}],[10,"zero","","",76,{"inputs":[],"output":{"name":"self"}}],[11,"open_playback","sdl2","Opens a new audio device given the desired parameters and callback.",68,null],[11,"get_current_audio_driver","","",68,null],[11,"get_num_audio_playback_devices","","",68,null],[11,"get_audio_playback_device_name","","",68,null],[11,"hash","sdl2::audio","",73,null],[11,"fmt","","",73,null],[11,"eq","","",73,null],[11,"clone","","",73,null],[11,"u16_sys","","Unsigned 16-bit samples, native endian",73,{"inputs":[],"output":{"name":"audioformat"}}],[11,"s16_sys","","Signed 16-bit samples, native endian",73,{"inputs":[],"output":{"name":"audioformat"}}],[11,"s32_sys","","Signed 32-bit samples, native endian",73,{"inputs":[],"output":{"name":"audioformat"}}],[11,"f32_sys","","32-bit floating point samples, native endian",73,{"inputs":[],"output":{"name":"audioformat"}}],[11,"fmt","","",74,null],[11,"hash","","",74,null],[11,"eq","","",74,null],[11,"clone","","",74,null],[11,"from_i64","","",74,{"inputs":[{"name":"i64"}],"output":{"name":"option"}}],[11,"from_u64","","",74,{"inputs":[{"name":"u64"}],"output":{"name":"option"}}],[11,"clone","","",77,null],[11,"next","","",77,null],[11,"size_hint","","",77,null],[11,"load_wav","","Loads a WAVE from the file path.",70,{"inputs":[{"name":"p"}],"output":{"name":"sdlresult"}}],[11,"load_wav_rw","","Loads a WAVE from the data source.",70,{"inputs":[{"name":"rwops"}],"output":{"name":"sdlresult"}}],[11,"get_buffer","","",70,null],[11,"drop","","",70,null],[11,"fmt","","",72,null],[11,"hash","","",72,null],[11,"eq","","",72,null],[11,"ne","","",72,null],[11,"clone","","",72,null],[11,"open_playback","","Opens a new audio device given the desired parameters and callback.",78,{"inputs":[{"name":"audiosubsystem"},{"name":"option"},{"name":"audiospecdesired"},{"name":"f"}],"output":{"name":"sdlresult"}}],[11,"subsystem","","",78,null],[11,"get_status","","",78,null],[11,"pause","","Pauses playback of the audio device.",78,null],[11,"resume","","Starts playback of the audio device.",78,null],[11,"lock","","Locks the audio device using `SDL_LockAudioDevice`.",78,null],[11,"close_and_get_callback","","Closes the audio device and saves the callback data from being dropped.",78,null],[11,"deref","","",79,null],[11,"deref_mut","","",79,null],[11,"drop","","",79,null],[11,"clone","","",80,null],[11,"new","","",80,{"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.",80,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.",80,null],[11,"get_capacity","","Gets the buffer capacity that can contain both the original and\nconverted data.",80,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",81,null],[12,"minor","","minor version",81,null],[12,"patch","","update version (patchlevel)",81,null],[5,"get_version","","Get the version of SDL that is linked against your program.",null,{"inputs":[],"output":{"name":"version"}}],[5,"get_revision","","Get the code revision of SDL that is linked against your program.",null,{"inputs":[],"output":{"name":"string"}}],[5,"get_revision_number","","Get the revision number of SDL that is linked against your program.",null,{"inputs":[],"output":{"name":"i32"}}],[11,"fmt","","",81,null],[11,"hash","","",81,null],[11,"eq","","",81,null],[11,"ne","","",81,null],[11,"clone","","",81,null],[11,"from_ll","","Convert a raw *SDL_version to Version.",81,{"inputs":[{"name":"sdl_version"}],"output":{"name":"version"}}],[11,"fmt","","",81,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","","",82,null],[11,"cmp","","",82,null],[11,"partial_cmp","","",82,null],[11,"lt","","",82,null],[11,"le","","",82,null],[11,"gt","","",82,null],[11,"ge","","",82,null],[11,"clone","","",82,null],[11,"eq","","",82,null],[11,"ne","","",82,null],[11,"fmt","","",82,null],[11,"empty","","Returns an empty set of flags.",82,{"inputs":[],"output":{"name":"messageboxflag"}}],[11,"all","","Returns the set containing all flags.",82,{"inputs":[],"output":{"name":"messageboxflag"}}],[11,"bits","","Returns the raw value of the flags currently stored.",82,null],[11,"from_bits","","Convert from underlying bit representation, unless that\nrepresentation contains bits that do not correspond to a flag.",82,{"inputs":[{"name":"u32"}],"output":{"name":"option"}}],[11,"from_bits_truncate","","Convert from underlying bit representation, dropping any bits\nthat do not correspond to flags.",82,{"inputs":[{"name":"u32"}],"output":{"name":"messageboxflag"}}],[11,"is_empty","","Returns `true` if no flags are currently stored.",82,null],[11,"is_all","","Returns `true` if all flags are currently set.",82,null],[11,"intersects","","Returns `true` if there are flags common to both `self` and `other`.",82,null],[11,"contains","","Returns `true` all of the flags in `other` are contained within `self`.",82,null],[11,"insert","","Inserts the specified flags in-place.",82,null],[11,"remove","","Removes the specified flags in-place.",82,null],[11,"toggle","","Toggles the specified flags in-place.",82,null],[11,"bitor","","Returns the union of the two sets of flags.",82,null],[11,"bitxor","","Returns the left flags, but with all the right flags toggled.",82,null],[11,"bitand","","Returns the intersection between the two sets of flags.",82,null],[11,"sub","","Returns the set difference of the two sets of flags.",82,null],[11,"not","","Returns the complement of this set of flags.",82,null],[0,"hint","sdl2","",null,null],[4,"Hint","sdl2::hint","",null,null],[13,"Default","","",83,null],[13,"Normal","","",83,null],[13,"Override","","",83,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":[[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);