<?xml version="1.0"?>
<doc>
    <assembly>
        <name>Icarus.Input</name>
    </assembly>
    <members>
        <member name="T:Icarus.Input.ButtonEvents.ButtonPressEvent">
            <summary>
            Stores event information for when a button is pressed on a device.
            </summary>
        </member>
        <member name="F:Icarus.Input.ButtonEvents.ButtonPressEvent.buttonName">
            <summary>
            Name of the button or key that was pressed.
            </summary>
        </member>
        <member name="F:Icarus.Input.ButtonEvents.ButtonPressEvent.buttonPressed">
            <summary>
            Initial button state for when a button or key has been pressed.
            </summary>
        </member>
        <member name="F:Icarus.Input.ButtonEvents.ButtonPressEvent.buttonDown">
            <summary>
            Button state for when a button has been depressed and held down.
            </summary>
        </member>
        <member name="F:Icarus.Input.ButtonEvents.ButtonPressEvent.buttonReleased">
            <summary>
            Final button state for when a button has been released.
            </summary>
        </member>
        <member name="M:Icarus.Input.ButtonEvents.ButtonPressEvent.ToString">
            <summary>
            Overridden string representation of this object.
            </summary>
            <returns>String representation of this object.</returns>
        </member>
        <member name="P:Icarus.Input.ButtonEvents.ButtonPressEvent.Name">
            <summary>
            The name of the button or key that was pressed.
            </summary>
        </member>
        <member name="P:Icarus.Input.ButtonEvents.ButtonPressEvent.Pressed">
            <summary>
            Whether or not the button or key was just pressed.
            </summary>
        </member>
        <member name="P:Icarus.Input.ButtonEvents.ButtonPressEvent.Down">
            <summary>
            Whether or not the button or key is being held down.
            </summary>
        </member>
        <member name="P:Icarus.Input.ButtonEvents.ButtonPressEvent.Released">
            <summary>
            Whether or not the button or key was just released.
            </summary>
        </member>
        <member name="T:Icarus.Input.ButtonEvents.JoystickButtonPressEvent">
            <summary>
            Stores event information for when a button is pressed on a joystick.
            </summary>
        </member>
        <member name="M:Icarus.Input.ButtonEvents.JoystickButtonPressEvent.#ctor(System.String,System.Boolean,System.Boolean,System.Boolean)">
            <summary>
            Creates a new JoystickButtonPressEvent.
            </summary>
            <param name="name">Name of the joystick button that was pressed.</param>
            <param name="pressed">Whether or not this button was just pressed.</param>
            <param name="down">Whether or not this button is being held down.</param>
            <param name="released">Whether or not this button was just released.</param>
        </member>
        <member name="T:Icarus.Input.ButtonEvents.KeyboardButtonPressEvent">
            <summary>
            Stores event information for when a key is pressed on a keyboard.
            </summary>
        </member>
        <member name="M:Icarus.Input.ButtonEvents.KeyboardButtonPressEvent.#ctor(System.String,System.Boolean,System.Boolean,System.Boolean)">
            <summary>
            Creates a new KeyboardButtonPressEvent.
            </summary>
            <param name="name">Name of the keyboard key that was pressed.</param>
            <param name="pressed">Whether or not this key was just pressed.</param>
            <param name="down">Whether or not this key is being held down.</param>
            <param name="released">Whether or not this key was just released.</param>
        </member>
        <member name="T:Icarus.Input.ButtonEvents.MouseButtonPressEvent">
            <summary>
            Stores event information for when a button is pressed on a mouse.
            </summary>
        </member>
        <member name="M:Icarus.Input.ButtonEvents.MouseButtonPressEvent.#ctor(System.String,System.Boolean,System.Boolean,System.Boolean)">
            <summary>
            Creates a new MouseButtonPressEvent.
            </summary>
            <param name="name">Name of the mouse button that was pressed.</param>
            <param name="pressed">Whether or not this button was just pressed.</param>
            <param name="down">Whether or not this button is being held down.</param>
            <param name="released">Whether or not this button was just released.</param>
        </member>
        <member name="T:Icarus.Input.MovementEvents.JoystickMovementEvent">
            <summary>
            Stores event information for when a joystick is moved.
            </summary>
        </member>
        <member name="T:Icarus.Input.MovementEvents.MovementEvent">
            <summary>
            Stores event information for when a device is moved.
            </summary>
        </member>
        <member name="F:Icarus.Input.MovementEvents.MovementEvent.deltaX">
            <summary>
            The change incurred in the x-direction by the device.
            </summary>
        </member>
        <member name="F:Icarus.Input.MovementEvents.MovementEvent.deltaY">
            <summary>
            The change incurred in the y-direction by the device.
            </summary>
        </member>
        <member name="F:Icarus.Input.MovementEvents.MovementEvent.deltaZ">
            <summary>
            The change incurred in the z-direction by the device.
            </summary>
        </member>
        <member name="M:Icarus.Input.MovementEvents.MovementEvent.ToString">
            <summary>
            Overridden string representation of this object.
            </summary>
            <returns>String representation of this object.</returns>
        </member>
        <member name="P:Icarus.Input.MovementEvents.MovementEvent.DX">
            <summary>
            Delta X. The change in the x-coordinate of the device.
            </summary>
        </member>
        <member name="P:Icarus.Input.MovementEvents.MovementEvent.DY">
            <summary>
            Delta Y. The change in the y-coordinate of the device.
            </summary>
        </member>
        <member name="P:Icarus.Input.MovementEvents.MovementEvent.DZ">
            <summary>
            Delta Z. The change in the z-coordinate of the device.
            </summary>
        </member>
        <member name="M:Icarus.Input.MovementEvents.JoystickMovementEvent.#ctor(System.Int32,System.Int32,System.Int32)">
            <summary>
            Creates a new JoystickMovementEvent.
            </summary>
            <param name="dx">Change in the x-coordinate.</param>
            <param name="dy">Change in the y-coordinate.</param>
            <param name="dz">Change in the z-coordinate.</param>
        </member>
        <member name="T:Icarus.Input.MovementEvents.MouseMovementEvent">
            <summary>
            Stores event information for when the mouse is moved.
            </summary>
        </member>
        <member name="M:Icarus.Input.MovementEvents.MouseMovementEvent.#ctor(System.Int32,System.Int32,System.Int32)">
            <summary>
            Creates a new MouseMovementEvent.
            </summary>
            <param name="dx">Change in the x-coordinate.</param>
            <param name="dy">Change in the y-coordinate.</param>
            <param name="dz">Change in the z-coordinate.</param>
        </member>
        <member name="T:Icarus.Input.BoundAction">
            <summary>
            BoundAction is an action associated with a given 
            key or button on an input device.
            </summary>
        </member>
        <member name="F:Icarus.Input.BoundAction.keyname">
            <summary>
            Name of the button or key this bound action will be applied to.
            </summary>
        </member>
        <member name="F:Icarus.Input.BoundAction.action">
            <summary>
            The action to be done when the button or key is pressed.
            </summary>
        </member>
        <member name="M:Icarus.Input.BoundAction.#ctor(System.String,System.String)">
            <summary>
            Constructor for a BoundAction.
            </summary>
            <param name="name">Name of the button or key to be mapped.</param>
            <param name="boundAction">Action to be assigned to the given key.</param>
        </member>
        <member name="P:Icarus.Input.BoundAction.gs_keyname">
            <summary>
            Accessor for keyname.
            </summary>
        </member>
        <member name="P:Icarus.Input.BoundAction.gs_action">
            <summary>
            Accessor/Modifer for action.
            </summary>
        </member>
        <member name="T:Icarus.Input.InputEngine">
            <summary>
            Summary description for UserInputEngine.
            </summary>
        </member>
        <member name="F:Icarus.Input.InputEngine.settings">
            <summary>
            General settings for the Input Engine.
            </summary>
        </member>
        <member name="F:Icarus.Input.InputEngine.controller">
            <summary>
            Control Form for devices to be attached to.
            </summary>
        </member>
        <member name="F:Icarus.Input.InputEngine.keyboard">
            <summary>
            Keyboard input device.
            </summary>
        </member>
        <member name="F:Icarus.Input.InputEngine.mouse">
            <summary>
            Mouse input device.
            </summary>
        </member>
        <member name="F:Icarus.Input.InputEngine.joystick">
            <summary>
            Joystick Input device.
            </summary>
        </member>
        <member name="F:Icarus.Input.InputEngine.keyboardEventQueue">
            <summary>
            Queue of keyboard events that have yet been processed by the system.
            </summary>
        </member>
        <member name="F:Icarus.Input.InputEngine.mouseEventQueue">
            <summary>
            Queue of mouse events that have yet been processed by the system.
            </summary>
        </member>
        <member name="F:Icarus.Input.InputEngine.joystickEventQueue">
            <summary>
            Queue of joystick events that have yet been processed by the system.
            </summary>
        </member>
        <member name="F:Icarus.Input.InputEngine.boundKeys">
            <summary>
            Array list of all key bindings for the keyboard.
            </summary>
        </member>
        <member name="F:Icarus.Input.InputEngine.boundMouseButtons">
            <summary>
            Array list of all button bindings for the mouse.
            </summary>
        </member>
        <member name="F:Icarus.Input.InputEngine.boundJoystickButtons">
            <summary>
            Array list of all button bindings for the joystick.
            </summary>
        </member>
        <member name="F:Icarus.Input.InputEngine.listenLoopThread">
            <summary>
            Thread that constantly polls for input received.
            </summary>
        </member>
        <member name="F:Icarus.Input.InputEngine.sorter">
            <summary>
            Sorts and creates button and movement events and stores them in a queue.
            </summary>
        </member>
        <member name="F:Icarus.Input.InputEngine.instance">
            <summary>
            The singleton class instance of this class.
            </summary>
        </member>
        <member name="M:Icarus.Input.InputEngine.#ctor">
            <summary>
            Private singleton constructor.
            </summary>
        </member>
        <member name="M:Icarus.Input.InputEngine.Initialize(System.Windows.Forms.Control)">
            <summary>
            Initializes and configures the devices, based on the given Controller.
            </summary>
            <param name="owner">The Controller Form that owns these devices.</param>
        </member>
        <member name="M:Icarus.Input.InputEngine.InitDevices">
            <summary>
            Initializes the devices from the system.
            </summary>
        </member>
        <member name="M:Icarus.Input.InputEngine.ConfigureDevices">
            <summary>
            Configures and acquires the devices for use.
            </summary>
        </member>
        <member name="M:Icarus.Input.InputEngine.UpdateDevices">
            <summary>
            Updates all devices.
            </summary>
        </member>
        <member name="M:Icarus.Input.InputEngine.UpdateKeyboard">
            <summary>
            Updates the keyboard event queue based on the actual input to the keyboard.
            </summary>
        </member>
        <member name="M:Icarus.Input.InputEngine.UpdateMouse">
            <summary>
            Updates the mouse event queue based on the actual input to the mouse.
            </summary>
        </member>
        <member name="M:Icarus.Input.InputEngine.UpdateJoystick">
            <summary>
            Updates the joystick event queue based on the actual input to the joystick.
            </summary>
        </member>
        <member name="M:Icarus.Input.InputEngine.bindKey(System.String,System.String)">
            <summary>
            Binds an action to a keyboard key.
            </summary>
            <param name="name">Name of the key.</param>
            <param name="action">Name of the action.</param>
        </member>
        <member name="M:Icarus.Input.InputEngine.bindMouseButton(System.String,System.String)">
            <summary>
            Binds an action to a mouse button.
            </summary>
            <param name="name">Name of the button.</param>
            <param name="action">Name of the action.</param>
        </member>
        <member name="M:Icarus.Input.InputEngine.bindJoystickButton(System.String,System.String)">
            <summary>
            Binds an action to a joystick button.
            </summary>
            <param name="name">Name of the button.</param>
            <param name="action">Name of the action.</param>
        </member>
        <member name="M:Icarus.Input.InputEngine.makeBinding(System.String,System.String,System.Collections.ArrayList)">
            <summary>
            Adds a BoundAction of the given name and action to the given bindingList.
            </summary>
            <param name="name">Name of the key/button.</param>
            <param name="action">Name of the action.</param>
            <param name="bindingList">List of BoundActions to be added to.</param>
        </member>
        <member name="M:Icarus.Input.InputEngine.getKeyAction(System.String)">
            <summary>
            Gets the action bound to the specified keyboard key.
            </summary>
            <param name="name">Key to get action for.</param>
            <returns>The action for the key.</returns>
        </member>
        <member name="M:Icarus.Input.InputEngine.getKeyAction">
            <summary>
            Gets the action bound to the specified keyboard key.
            </summary>
            <returns>The action for the key.</returns>
        </member>
        <member name="M:Icarus.Input.InputEngine.getMouseButtonAction(System.String)">
            <summary>
            Gets the action bound to the specified mouse button.
            </summary>
            <param name="name">Button to get action for.</param>
            <returns>The action for the button.</returns>
        </member>
        <member name="M:Icarus.Input.InputEngine.getMouseButtonAction">
            <summary>
            Gets the action bound to the specified mouse button.
            </summary>
            <returns>The action for the button.</returns>
        </member>
        <member name="M:Icarus.Input.InputEngine.getJoystickButtonAction(System.String)">
            <summary>
            Gets the action bound to the specified joystick button.
            </summary>
            <param name="name">Button to get action for.</param>
            <returns>The action for the button.</returns>
        </member>
        <member name="M:Icarus.Input.InputEngine.getJoystickButtonAction">
            <summary>
            Gets the action bound to the specified joystick button.
            </summary>
            <returns>The action for the button.</returns>
        </member>
        <member name="M:Icarus.Input.InputEngine.getCurrentButtonAction">
            <summary>
            Returns the current action. 
            If several input devices are invoked at the same time, 
            first joystick will be chosen, then mouse, then keyboard.
            </summary>
            <returns>String value of the action to be performed.</returns>
        </member>
        <member name="M:Icarus.Input.InputEngine.getAction(System.String,System.Collections.ArrayList)">
            <summary>
            Gets the action bound to the key/button in the given list of BoundActions.
            </summary>
            <param name="name">The key/button to get the action for.</param>
            <param name="bindingList">List of BoundActions to search in.</param>
            <returns>The action for the key/button.</returns>
        </member>
        <member name="M:Icarus.Input.InputEngine.StartListening">
            <summary>
            Starts the thread looping and polling for new input on devices.
            </summary>    
        </member>
        <member name="M:Icarus.Input.InputEngine.StopListening">
            <summary>
            Stops the thread from looping and polling for new input on devices
            </summary>
        </member>
        <member name="M:Icarus.Input.InputEngine.LoopAndListen">
            <summary>
            Continually updates input information from all devices.
            </summary>
        </member>
        <member name="P:Icarus.Input.InputEngine.Instance">
            <summary>
            Accessor/Modifier for the singleton class instance.
            </summary>
        </member>
        <member name="P:Icarus.Input.InputEngine.KeyboardEventQueue">
            <summary>
            The current queue of inputs from the keyboard.
            </summary>
        </member>
        <member name="P:Icarus.Input.InputEngine.MouseEventQueue">
            <summary>
            The current queue of inputs from the mouse.
            </summary>
        </member>
        <member name="P:Icarus.Input.InputEngine.JoystickEventQueue">
            <summary>
            The current queue of inputs from the joystick.
            </summary>
        </member>
        <member name="T:Icarus.Input.InputSettings">
            <summary>
            I am a singleton which can be used to retrieve Input Engine settings.
            Members are straightforward to access.
            </summary>
        </member>
        <member name="F:Icarus.Input.InputSettings.instance">
            <summary>
            Singleton instance.
            </summary>
        </member>
        <member name="F:Icarus.Input.InputSettings.maxKeyboardEvents">
            <summary>
            Maximum length of keyboard event queue before input loss is incurred.
            </summary>
        </member>
        <member name="F:Icarus.Input.InputSettings.maxMouseEvents">
            <summary>
            Maximum length of mouse event queue before input loss is incurred.
            </summary>
        </member>
        <member name="F:Icarus.Input.InputSettings.maxJoystickEvents">
            <summary>
            Maximum length of joystick event queue before input loss is incurred.
            </summary>
        </member>
        <member name="F:Icarus.Input.InputSettings.loopIntervalTime">
            <summary>
            Time the thread takes between each update of devices.  
            Missed input can occur if value is set too high, Performance is lowered if value is too low.
            </summary>
        </member>
        <member name="M:Icarus.Input.InputSettings.#ctor">
            <summary>
            Initializes the Input Settings to the default values for the Game Engine.
            </summary>
        </member>
        <member name="M:Icarus.Input.InputSettings.#ctor(System.String)">
            <summary>
            Load the Input Settings from fileName.
            Loads defaults then overwrites them with values in File.
            </summary>
            <param name="fileName">Name of File to load</param>
        </member>
        <member name="P:Icarus.Input.InputSettings.Instance">
            <summary>
            Accessor/Modifier for singleton instance.
            </summary>
        </member>
        <member name="P:Icarus.Input.InputSettings.MaxKeyboardEvents">
            <summary>
            This sets and accesses the GLOBAL maximum number of keyboard events that are queued.
            </summary>
        </member>
        <member name="P:Icarus.Input.InputSettings.MaxMouseEvents">
            <summary>
            This sets and accesses the GLOBAL maximum number of mouse events that are queued.
            </summary>
        </member>
        <member name="P:Icarus.Input.InputSettings.MaxJoystickEvents">
            <summary>
            This sets and accesses the GLOBAL maximum number of joystick events that are queued.
            </summary>
        </member>
        <member name="P:Icarus.Input.InputSettings.LoopIntervalTime">
            <summary>
            This sets and accesses the GLOBAL time interval between input intervals.
            </summary>
        </member>
        <member name="T:Icarus.Input.InputTester">
            <summary>
            Summary description for InputTester.
            </summary>
        </member>
        <member name="F:Icarus.Input.InputTester.engine">
            <summary>
            The singleton input engine.
            </summary>
        </member>
        <member name="F:Icarus.Input.InputTester.listenLoopThread">
            <summary>
            Thread that constantly polls for input received.
            </summary>
        </member>
        <member name="M:Icarus.Input.InputTester.Main">
            <summary>
            Executes this tester form.
            </summary>
        </member>
        <member name="M:Icarus.Input.InputTester.#ctor">
            <summary>
            Constructor for this Tester Form.
            </summary>
        </member>
        <member name="M:Icarus.Input.InputTester.fillComboBox(System.Windows.Forms.ComboBox)">
            <summary>
            Adds various test commands to be bound for testing.
            </summary>
            <param name="cBox">The comboBox to add these commands to.</param>
        </member>
        <member name="M:Icarus.Input.InputTester.Dispose(System.Boolean)">
            <summary>
            Clean up any resources being used.
            </summary>
        </member>
        <member name="M:Icarus.Input.InputTester.InitializeComponent">
            <summary>
            Required method for Designer support - do not modify
            the contents of this method with the code editor.
            </summary>
        </member>
        <member name="M:Icarus.Input.InputTester.LoopAndListen">
            <summary>
            Method executed by the thread, that loops forever 
            polling the InputEngine for any input received.
            </summary>
        </member>
        <member name="M:Icarus.Input.InputTester.stopListening">
            <summary>
            Stop the thread from looping and polling the InputEngine.
            </summary>
        </member>
        <member name="M:Icarus.Input.InputTester.startListening">
            <summary>
            Starts the thread looping and polling the InputEngine.
            </summary>    
        </member>
        <member name="T:Icarus.Input.QueueEventSorter">
            <summary>
            Sorts and adds button and movement events to event queues.
            </summary>
        </member>
        <member name="F:Icarus.Input.QueueEventSorter.currentKeyboardDownList">
            <summary>
            List of current keyboard keys that are being held down.
            </summary>
        </member>
        <member name="F:Icarus.Input.QueueEventSorter.currentMouseDownList">
            <summary>
            List of current mouse buttons that are being held down.
            </summary>
        </member>
        <member name="F:Icarus.Input.QueueEventSorter.currentJoystickDownList">
            <summary>
            List of current joystick buttons that are being held down.
            </summary>
        </member>
        <member name="M:Icarus.Input.QueueEventSorter.AddKeyboardEvents(System.Collections.ArrayList,Microsoft.DirectX.DirectInput.Key[])">
            <summary>
            Takes in a list of new events and determines the current states of each 
            and adds them to the current queue.
            </summary>
            <param name="queue">Current keyboard queue to add new events to.</param>
            <param name="events">List of new events to sort and add.</param>
            <returns>The updated current keyboard event queue.</returns>
        </member>
        <member name="M:Icarus.Input.QueueEventSorter.AddMouseEvents(System.Collections.ArrayList,System.Byte[])">
            <summary>
            Takes in a list of new events and determines the current states of each 
            and adds them to the current queue.
            </summary>
            <param name="queue">Current mouse queue to add new events to.</param>
            <param name="events">List of new events to sort and add.</param>
            <returns>The updated current mouse event queue.</returns>
        </member>
        <member name="M:Icarus.Input.QueueEventSorter.AddJoystickEvents(System.Collections.ArrayList,System.Byte[])">
            <summary>
            Takes in a list of new events and determines the current states of each 
            and adds them to the current queue.
            </summary>
            <param name="queue">Current joystick queue to add new events to.</param>
            <param name="events">List of new events to sort and add.</param>
            <returns>The updated current joystick event queue.</returns>
        </member>
        <member name="M:Icarus.Input.QueueEventSorter.AddMouseMovementEvent(System.Collections.ArrayList,System.Int32,System.Int32,System.Int32)">
            <summary>
            Takes in assorted movement readings from the mouse to create a new event
            and add it to the current queue.
            </summary>
            <param name="queue">Current mouse queue to add new event to.</param>
            <param name="dx">Change in x-coordinate.</param>
            <param name="dy">Change in y-coordinate.</param>
            <param name="dz">Change in z-coordinate.</param>
            <returns>The updated current mouse event queue.</returns>
        </member>
        <member name="M:Icarus.Input.QueueEventSorter.AddJoystickMovementEvent(System.Collections.ArrayList,System.Int32,System.Int32,System.Int32)">
            <summary>
            Takes in assorted movement readings from the joystick to create a new event
            and add it to the current queue.
            </summary>
            <param name="queue">Current joystick queue to add new event to.</param>
            <param name="dx">Change in x-coordinate.</param>
            <param name="dy">Change in y-coordinate.</param>
            <param name="dz">Change in z-coordinate.</param>
            <returns>The updated current joystick event queue.</returns>
        </member>
    </members>
</doc>
