import QtQuick.tooling 1.2

// This file describes the plugin-supplied types contained in the library.
// It is used for QML tooling purposes only.
//
// This file was auto-generated by:
// 'qmlplugindump -nonrelocatable QtGamepad 1.15'

Module {
    dependencies: ["QtQuick 2.0"]
    Component {
        name: "QGamepad"
        prototype: "QObject"
        exports: ["QtGamepad/Gamepad 1.0"]
        exportMetaObjectRevisions: [0]
        Property { name: "deviceId"; type: "int" }
        Property { name: "connected"; type: "bool"; isReadonly: true }
        Property { name: "name"; type: "string"; isReadonly: true }
        Property { name: "axisLeftX"; type: "double"; isReadonly: true }
        Property { name: "axisLeftY"; type: "double"; isReadonly: true }
        Property { name: "axisRightX"; type: "double"; isReadonly: true }
        Property { name: "axisRightY"; type: "double"; isReadonly: true }
        Property { name: "buttonA"; type: "bool"; isReadonly: true }
        Property { name: "buttonB"; type: "bool"; isReadonly: true }
        Property { name: "buttonX"; type: "bool"; isReadonly: true }
        Property { name: "buttonY"; type: "bool"; isReadonly: true }
        Property { name: "buttonL1"; type: "bool"; isReadonly: true }
        Property { name: "buttonR1"; type: "bool"; isReadonly: true }
        Property { name: "buttonL2"; type: "double"; isReadonly: true }
        Property { name: "buttonR2"; type: "double"; isReadonly: true }
        Property { name: "buttonSelect"; type: "bool"; isReadonly: true }
        Property { name: "buttonStart"; type: "bool"; isReadonly: true }
        Property { name: "buttonL3"; type: "bool"; isReadonly: true }
        Property { name: "buttonR3"; type: "bool"; isReadonly: true }
        Property { name: "buttonUp"; type: "bool"; isReadonly: true }
        Property { name: "buttonDown"; type: "bool"; isReadonly: true }
        Property { name: "buttonLeft"; type: "bool"; isReadonly: true }
        Property { name: "buttonRight"; type: "bool"; isReadonly: true }
        Property { name: "buttonCenter"; type: "bool"; isReadonly: true }
        Property { name: "buttonGuide"; type: "bool"; isReadonly: true }
        Signal {
            name: "deviceIdChanged"
            Parameter { name: "value"; type: "int" }
        }
        Signal {
            name: "connectedChanged"
            Parameter { name: "value"; type: "bool" }
        }
        Signal {
            name: "nameChanged"
            Parameter { name: "value"; type: "string" }
        }
        Signal {
            name: "axisLeftXChanged"
            Parameter { name: "value"; type: "double" }
        }
        Signal {
            name: "axisLeftYChanged"
            Parameter { name: "value"; type: "double" }
        }
        Signal {
            name: "axisRightXChanged"
            Parameter { name: "value"; type: "double" }
        }
        Signal {
            name: "axisRightYChanged"
            Parameter { name: "value"; type: "double" }
        }
        Signal {
            name: "buttonAChanged"
            Parameter { name: "value"; type: "bool" }
        }
        Signal {
            name: "buttonBChanged"
            Parameter { name: "value"; type: "bool" }
        }
        Signal {
            name: "buttonXChanged"
            Parameter { name: "value"; type: "bool" }
        }
        Signal {
            name: "buttonYChanged"
            Parameter { name: "value"; type: "bool" }
        }
        Signal {
            name: "buttonL1Changed"
            Parameter { name: "value"; type: "bool" }
        }
        Signal {
            name: "buttonR1Changed"
            Parameter { name: "value"; type: "bool" }
        }
        Signal {
            name: "buttonL2Changed"
            Parameter { name: "value"; type: "double" }
        }
        Signal {
            name: "buttonR2Changed"
            Parameter { name: "value"; type: "double" }
        }
        Signal {
            name: "buttonSelectChanged"
            Parameter { name: "value"; type: "bool" }
        }
        Signal {
            name: "buttonStartChanged"
            Parameter { name: "value"; type: "bool" }
        }
        Signal {
            name: "buttonL3Changed"
            Parameter { name: "value"; type: "bool" }
        }
        Signal {
            name: "buttonR3Changed"
            Parameter { name: "value"; type: "bool" }
        }
        Signal {
            name: "buttonUpChanged"
            Parameter { name: "value"; type: "bool" }
        }
        Signal {
            name: "buttonDownChanged"
            Parameter { name: "value"; type: "bool" }
        }
        Signal {
            name: "buttonLeftChanged"
            Parameter { name: "value"; type: "bool" }
        }
        Signal {
            name: "buttonRightChanged"
            Parameter { name: "value"; type: "bool" }
        }
        Signal {
            name: "buttonCenterChanged"
            Parameter { name: "value"; type: "bool" }
        }
        Signal {
            name: "buttonGuideChanged"
            Parameter { name: "value"; type: "bool" }
        }
        Method {
            name: "setDeviceId"
            Parameter { name: "number"; type: "int" }
        }
    }
    Component {
        name: "QGamepadKeyNavigation"
        prototype: "QObject"
        exports: ["QtGamepad/GamepadKeyNavigation 1.0"]
        exportMetaObjectRevisions: [0]
        Property { name: "active"; type: "bool" }
        Property { name: "gamepad"; type: "QGamepad"; isPointer: true }
        Property { name: "upKey"; type: "Qt::Key" }
        Property { name: "downKey"; type: "Qt::Key" }
        Property { name: "leftKey"; type: "Qt::Key" }
        Property { name: "rightKey"; type: "Qt::Key" }
        Property { name: "buttonAKey"; type: "Qt::Key" }
        Property { name: "buttonBKey"; type: "Qt::Key" }
        Property { name: "buttonXKey"; type: "Qt::Key" }
        Property { name: "buttonYKey"; type: "Qt::Key" }
        Property { name: "buttonSelectKey"; type: "Qt::Key" }
        Property { name: "buttonStartKey"; type: "Qt::Key" }
        Property { name: "buttonGuideKey"; type: "Qt::Key" }
        Property { name: "buttonL1Key"; type: "Qt::Key" }
        Property { name: "buttonR1Key"; type: "Qt::Key" }
        Property { name: "buttonL2Key"; type: "Qt::Key" }
        Property { name: "buttonR2Key"; type: "Qt::Key" }
        Property { name: "buttonL3Key"; type: "Qt::Key" }
        Property { name: "buttonR3Key"; type: "Qt::Key" }
        Signal {
            name: "activeChanged"
            Parameter { name: "isActive"; type: "bool" }
        }
        Signal {
            name: "gamepadChanged"
            Parameter { name: "gamepad"; type: "QGamepad"; isPointer: true }
        }
        Signal {
            name: "upKeyChanged"
            Parameter { name: "key"; type: "Qt::Key" }
        }
        Signal {
            name: "downKeyChanged"
            Parameter { name: "key"; type: "Qt::Key" }
        }
        Signal {
            name: "leftKeyChanged"
            Parameter { name: "key"; type: "Qt::Key" }
        }
        Signal {
            name: "rightKeyChanged"
            Parameter { name: "key"; type: "Qt::Key" }
        }
        Signal {
            name: "buttonAKeyChanged"
            Parameter { name: "key"; type: "Qt::Key" }
        }
        Signal {
            name: "buttonBKeyChanged"
            Parameter { name: "key"; type: "Qt::Key" }
        }
        Signal {
            name: "buttonXKeyChanged"
            Parameter { name: "key"; type: "Qt::Key" }
        }
        Signal {
            name: "buttonYKeyChanged"
            Parameter { name: "key"; type: "Qt::Key" }
        }
        Signal {
            name: "buttonSelectKeyChanged"
            Parameter { name: "key"; type: "Qt::Key" }
        }
        Signal {
            name: "buttonStartKeyChanged"
            Parameter { name: "key"; type: "Qt::Key" }
        }
        Signal {
            name: "buttonGuideKeyChanged"
            Parameter { name: "key"; type: "Qt::Key" }
        }
        Signal {
            name: "buttonL1KeyChanged"
            Parameter { name: "key"; type: "Qt::Key" }
        }
        Signal {
            name: "buttonR1KeyChanged"
            Parameter { name: "key"; type: "Qt::Key" }
        }
        Signal {
            name: "buttonL2KeyChanged"
            Parameter { name: "key"; type: "Qt::Key" }
        }
        Signal {
            name: "buttonR2KeyChanged"
            Parameter { name: "key"; type: "Qt::Key" }
        }
        Signal {
            name: "buttonL3KeyChanged"
            Parameter { name: "key"; type: "Qt::Key" }
        }
        Signal {
            name: "buttonR3KeyChanged"
            Parameter { name: "key"; type: "Qt::Key" }
        }
        Method {
            name: "setActive"
            Parameter { name: "isActive"; type: "bool" }
        }
        Method {
            name: "setGamepad"
            Parameter { name: "gamepad"; type: "QGamepad"; isPointer: true }
        }
        Method {
            name: "setUpKey"
            Parameter { name: "key"; type: "Qt::Key" }
        }
        Method {
            name: "setDownKey"
            Parameter { name: "key"; type: "Qt::Key" }
        }
        Method {
            name: "setLeftKey"
            Parameter { name: "key"; type: "Qt::Key" }
        }
        Method {
            name: "setRightKey"
            Parameter { name: "key"; type: "Qt::Key" }
        }
        Method {
            name: "setButtonAKey"
            Parameter { name: "key"; type: "Qt::Key" }
        }
        Method {
            name: "setButtonBKey"
            Parameter { name: "key"; type: "Qt::Key" }
        }
        Method {
            name: "setButtonXKey"
            Parameter { name: "key"; type: "Qt::Key" }
        }
        Method {
            name: "setButtonYKey"
            Parameter { name: "key"; type: "Qt::Key" }
        }
        Method {
            name: "setButtonSelectKey"
            Parameter { name: "key"; type: "Qt::Key" }
        }
        Method {
            name: "setButtonStartKey"
            Parameter { name: "key"; type: "Qt::Key" }
        }
        Method {
            name: "setButtonGuideKey"
            Parameter { name: "key"; type: "Qt::Key" }
        }
        Method {
            name: "setButtonL1Key"
            Parameter { name: "key"; type: "Qt::Key" }
        }
        Method {
            name: "setButtonR1Key"
            Parameter { name: "key"; type: "Qt::Key" }
        }
        Method {
            name: "setButtonL2Key"
            Parameter { name: "key"; type: "Qt::Key" }
        }
        Method {
            name: "setButtonR2Key"
            Parameter { name: "key"; type: "Qt::Key" }
        }
        Method {
            name: "setButtonL3Key"
            Parameter { name: "key"; type: "Qt::Key" }
        }
        Method {
            name: "setButtonR3Key"
            Parameter { name: "key"; type: "Qt::Key" }
        }
    }
    Component {
        name: "QGamepadManager"
        prototype: "QObject"
        exports: ["QtGamepad/GamepadManager 1.0"]
        isCreatable: false
        isSingleton: true
        exportMetaObjectRevisions: [0]
        Enum {
            name: "GamepadButton"
            values: {
                "ButtonInvalid": -1,
                "ButtonA": 0,
                "ButtonB": 1,
                "ButtonX": 2,
                "ButtonY": 3,
                "ButtonL1": 4,
                "ButtonR1": 5,
                "ButtonL2": 6,
                "ButtonR2": 7,
                "ButtonSelect": 8,
                "ButtonStart": 9,
                "ButtonL3": 10,
                "ButtonR3": 11,
                "ButtonUp": 12,
                "ButtonDown": 13,
                "ButtonRight": 14,
                "ButtonLeft": 15,
                "ButtonCenter": 16,
                "ButtonGuide": 17
            }
        }
        Enum {
            name: "GamepadButtons"
            values: {
                "ButtonInvalid": -1,
                "ButtonA": 0,
                "ButtonB": 1,
                "ButtonX": 2,
                "ButtonY": 3,
                "ButtonL1": 4,
                "ButtonR1": 5,
                "ButtonL2": 6,
                "ButtonR2": 7,
                "ButtonSelect": 8,
                "ButtonStart": 9,
                "ButtonL3": 10,
                "ButtonR3": 11,
                "ButtonUp": 12,
                "ButtonDown": 13,
                "ButtonRight": 14,
                "ButtonLeft": 15,
                "ButtonCenter": 16,
                "ButtonGuide": 17
            }
        }
        Enum {
            name: "GamepadAxis"
            values: {
                "AxisInvalid": -1,
                "AxisLeftX": 0,
                "AxisLeftY": 1,
                "AxisRightX": 2,
                "AxisRightY": 3
            }
        }
        Enum {
            name: "GamepadAxes"
            values: {
                "AxisInvalid": -1,
                "AxisLeftX": 0,
                "AxisLeftY": 1,
                "AxisRightX": 2,
                "AxisRightY": 3
            }
        }
        Property { name: "connectedGamepads"; type: "QList<int>"; isReadonly: true }
        Signal {
            name: "gamepadConnected"
            Parameter { name: "deviceId"; type: "int" }
        }
        Signal {
            name: "gamepadNameChanged"
            Parameter { name: "deviceId"; type: "int" }
            Parameter { name: "name"; type: "string" }
        }
        Signal {
            name: "gamepadDisconnected"
            Parameter { name: "deviceId"; type: "int" }
        }
        Signal {
            name: "gamepadAxisEvent"
            Parameter { name: "deviceId"; type: "int" }
            Parameter { name: "axis"; type: "QGamepadManager::GamepadAxis" }
            Parameter { name: "value"; type: "double" }
        }
        Signal {
            name: "gamepadButtonPressEvent"
            Parameter { name: "deviceId"; type: "int" }
            Parameter { name: "button"; type: "QGamepadManager::GamepadButton" }
            Parameter { name: "value"; type: "double" }
        }
        Signal {
            name: "gamepadButtonReleaseEvent"
            Parameter { name: "deviceId"; type: "int" }
            Parameter { name: "button"; type: "QGamepadManager::GamepadButton" }
        }
        Signal {
            name: "buttonConfigured"
            Parameter { name: "deviceId"; type: "int" }
            Parameter { name: "button"; type: "QGamepadManager::GamepadButton" }
        }
        Signal {
            name: "axisConfigured"
            Parameter { name: "deviceId"; type: "int" }
            Parameter { name: "axis"; type: "QGamepadManager::GamepadAxis" }
        }
        Signal {
            name: "configurationCanceled"
            Parameter { name: "deviceId"; type: "int" }
        }
        Method {
            name: "isConfigurationNeeded"
            type: "bool"
            Parameter { name: "deviceId"; type: "int" }
        }
        Method {
            name: "configureButton"
            type: "bool"
            Parameter { name: "deviceId"; type: "int" }
            Parameter { name: "button"; type: "GamepadButton" }
        }
        Method {
            name: "configureAxis"
            type: "bool"
            Parameter { name: "deviceId"; type: "int" }
            Parameter { name: "axis"; type: "GamepadAxis" }
        }
        Method {
            name: "setCancelConfigureButton"
            type: "bool"
            Parameter { name: "deviceId"; type: "int" }
            Parameter { name: "button"; type: "GamepadButton" }
        }
        Method {
            name: "resetConfiguration"
            Parameter { name: "deviceId"; type: "int" }
        }
        Method {
            name: "setSettingsFile"
            Parameter { name: "file"; type: "string" }
        }
    }
    Component {
        name: "QGamepadMouseItem"
        defaultProperty: "data"
        prototype: "QQuickItem"
        exports: ["QtGamepad/GamepadMouseItem 1.0"]
        exportMetaObjectRevisions: [0]
        Enum {
            name: "GamepadJoystick"
            values: {
                "LeftStick": 0,
                "RightStick": 1,
                "Both": 2
            }
        }
        Property { name: "active"; type: "bool" }
        Property { name: "gamepad"; type: "QGamepad"; isPointer: true }
        Property { name: "joystick"; type: "GamepadJoystick" }
        Property { name: "deadZoneSize"; type: "double" }
        Property { name: "mousePosition"; type: "QPointF"; isReadonly: true }
        Signal {
            name: "activeChanged"
            Parameter { name: "isActive"; type: "bool" }
        }
        Signal {
            name: "gamepadChanged"
            Parameter { name: "gamepad"; type: "QGamepad"; isPointer: true }
        }
        Signal {
            name: "joystickChanged"
            Parameter { name: "joystick"; type: "GamepadJoystick" }
        }
        Signal {
            name: "deadZoneSizeChanged"
            Parameter { name: "size"; type: "double" }
        }
        Signal {
            name: "mousePositionChanged"
            Parameter { name: "position"; type: "QPointF" }
        }
        Method {
            name: "setActive"
            Parameter { name: "arg"; type: "bool" }
        }
        Method {
            name: "setGamepad"
            Parameter { name: "gamepad"; type: "QGamepad"; isPointer: true }
        }
        Method {
            name: "setJoystick"
            Parameter { name: "joystick"; type: "GamepadJoystick" }
        }
        Method {
            name: "setDeadZoneSize"
            Parameter { name: "size"; type: "double" }
        }
        Method {
            name: "mouseButtonPressed"
            Parameter { name: "button"; type: "int" }
        }
        Method {
            name: "mouseButtonReleased"
            Parameter { name: "button"; type: "int" }
        }
    }
}
