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 Qt.labs.handlers 1.0'

Module {
    dependencies: ["QtQuick 2.8"]
    Component {
        name: "QQuickDragAxis"
        prototype: "QObject"
        exports: ["Qt.labs.handlers/DragAxis 1.0"]
        isCreatable: false
        exportMetaObjectRevisions: [0]
        Property { name: "minimum"; type: "double" }
        Property { name: "maximum"; type: "double" }
        Property { name: "enabled"; type: "bool" }
    }
    Component {
        name: "QQuickDragHandler"
        prototype: "QQuickSinglePointHandler"
        exports: ["Qt.labs.handlers/DragHandler 1.0"]
        exportMetaObjectRevisions: [0]
        Property { name: "xAxis"; type: "QQuickDragAxis"; isReadonly: true; isPointer: true }
        Property { name: "yAxis"; type: "QQuickDragAxis"; isReadonly: true; isPointer: true }
        Property { name: "translation"; type: "QVector2D"; isReadonly: true }
        Method { name: "enforceConstraints" }
    }
    Component {
        name: "QQuickEventPoint"
        prototype: "QObject"
        exports: ["Qt.labs.handlers/EventPoint 1.0"]
        isCreatable: false
        exportMetaObjectRevisions: [0]
        Enum {
            name: "States"
            values: {
                "Pressed": 1,
                "Updated": 2,
                "Stationary": 4,
                "Released": 8
            }
        }
        Enum {
            name: "GrabState"
            values: {
                "GrabPassive": 1,
                "UngrabPassive": 2,
                "CancelGrabPassive": 3,
                "OverrideGrabPassive": 4,
                "GrabExclusive": 16,
                "UngrabExclusive": 32,
                "CancelGrabExclusive": 48
            }
        }
        Property { name: "event"; type: "QQuickPointerEvent"; isReadonly: true; isPointer: true }
        Property { name: "position"; type: "QPointF"; isReadonly: true }
        Property { name: "scenePosition"; type: "QPointF"; isReadonly: true }
        Property { name: "scenePressPosition"; type: "QPointF"; isReadonly: true }
        Property { name: "sceneGrabPosition"; type: "QPointF"; isReadonly: true }
        Property { name: "state"; type: "State"; isReadonly: true }
        Property { name: "pointId"; type: "int"; isReadonly: true }
        Property { name: "timeHeld"; type: "double"; isReadonly: true }
        Property { name: "velocity"; type: "QVector2D"; isReadonly: true }
        Property { name: "accepted"; type: "bool" }
        Property { name: "exclusiveGrabber"; type: "QObject"; isPointer: true }
    }
    Component {
        name: "QQuickEventTouchPoint"
        prototype: "QQuickEventPoint"
        exports: ["Qt.labs.handlers/EventTouchPoint 1.0"]
        isCreatable: false
        exportMetaObjectRevisions: [0]
        Property { name: "rotation"; type: "double"; isReadonly: true }
        Property { name: "pressure"; type: "double"; isReadonly: true }
        Property { name: "ellipseDiameters"; type: "QSizeF"; isReadonly: true }
        Property { name: "uniqueId"; type: "QPointingDeviceUniqueId"; isReadonly: true }
    }
    Component {
        name: "QQuickMultiPointHandler"
        prototype: "QQuickPointerDeviceHandler"
        Property { name: "minimumPointCount"; type: "int" }
        Property { name: "maximumPointCount"; type: "int" }
        Property { name: "pointDistanceThreshold"; type: "double" }
    }
    Component {
        name: "QQuickPinchHandler"
        prototype: "QQuickMultiPointHandler"
        exports: ["Qt.labs.handlers/PinchHandler 1.0"]
        exportMetaObjectRevisions: [0]
        Enum {
            name: "PinchOrigin"
            values: {
                "FirstPoint": 0,
                "PinchCenter": 1,
                "TargetCenter": 2
            }
        }
        Property { name: "minimumScale"; type: "double" }
        Property { name: "maximumScale"; type: "double" }
        Property { name: "minimumRotation"; type: "double" }
        Property { name: "maximumRotation"; type: "double" }
        Property { name: "pinchOrigin"; type: "PinchOrigin" }
        Property { name: "centroid"; type: "QPointF"; isReadonly: true }
        Property { name: "centroidVelocity"; type: "QVector2D"; isReadonly: true }
        Property { name: "scale"; type: "double"; isReadonly: true }
        Property { name: "rotation"; type: "double"; isReadonly: true }
        Property { name: "translation"; type: "QVector2D"; isReadonly: true }
        Property { name: "minimumX"; type: "double" }
        Property { name: "maximumX"; type: "double" }
        Property { name: "minimumY"; type: "double" }
        Property { name: "maximumY"; type: "double" }
        Signal { name: "updated" }
    }
    Component {
        name: "QQuickPointHandler"
        prototype: "QQuickSinglePointHandler"
        exports: ["Qt.labs.handlers/PointHandler 1.0"]
        exportMetaObjectRevisions: [0]
        Property { name: "translation"; type: "QVector2D"; isReadonly: true }
    }
    Component {
        name: "QQuickPointerDevice"
        prototype: "QObject"
        exports: ["Qt.labs.handlers/PointerDevice 1.0"]
        isCreatable: false
        exportMetaObjectRevisions: [0]
        Enum {
            name: "DeviceType"
            values: {
                "UnknownDevice": 0,
                "Mouse": 1,
                "TouchScreen": 2,
                "TouchPad": 4,
                "Puck": 8,
                "Stylus": 16,
                "Airbrush": 32,
                "AllDevices": 63
            }
        }
        Enum {
            name: "DeviceTypes"
            values: {
                "UnknownDevice": 0,
                "Mouse": 1,
                "TouchScreen": 2,
                "TouchPad": 4,
                "Puck": 8,
                "Stylus": 16,
                "Airbrush": 32,
                "AllDevices": 63
            }
        }
        Enum {
            name: "PointerType"
            values: {
                "GenericPointer": 1,
                "Finger": 2,
                "Pen": 4,
                "Eraser": 8,
                "Cursor": 16,
                "AllPointerTypes": 31
            }
        }
        Enum {
            name: "PointerTypes"
            values: {
                "GenericPointer": 1,
                "Finger": 2,
                "Pen": 4,
                "Eraser": 8,
                "Cursor": 16,
                "AllPointerTypes": 31
            }
        }
        Enum {
            name: "CapabilityFlag"
            values: {
                "Position": 1,
                "Area": 2,
                "Pressure": 4,
                "Velocity": 8,
                "Scroll": 256,
                "Hover": 512,
                "Rotation": 1024,
                "XTilt": 2048,
                "YTilt": 4096
            }
        }
        Enum {
            name: "Capabilities"
            values: {
                "Position": 1,
                "Area": 2,
                "Pressure": 4,
                "Velocity": 8,
                "Scroll": 256,
                "Hover": 512,
                "Rotation": 1024,
                "XTilt": 2048,
                "YTilt": 4096
            }
        }
        Property { name: "type"; type: "DeviceType"; isReadonly: true }
        Property { name: "pointerType"; type: "PointerType"; isReadonly: true }
        Property { name: "capabilities"; type: "Capabilities"; isReadonly: true }
        Property { name: "maximumTouchPoints"; type: "int"; isReadonly: true }
        Property { name: "buttonCount"; type: "int"; isReadonly: true }
        Property { name: "name"; type: "string"; isReadonly: true }
        Property { name: "uniqueId"; type: "QPointingDeviceUniqueId"; isReadonly: true }
    }
    Component {
        name: "QQuickPointerDeviceHandler"
        prototype: "QQuickPointerHandler"
        Property { name: "acceptedDevices"; type: "QQuickPointerDevice::DeviceTypes" }
        Property { name: "acceptedPointerTypes"; type: "QQuickPointerDevice::PointerTypes" }
        Property { name: "acceptedModifiers"; type: "Qt::KeyboardModifiers" }
        Method {
            name: "setAcceptedDevices"
            Parameter { name: "acceptedDevices"; type: "QQuickPointerDevice::DeviceTypes" }
        }
        Method {
            name: "setAcceptedPointerTypes"
            Parameter { name: "acceptedPointerTypes"; type: "QQuickPointerDevice::PointerTypes" }
        }
        Method {
            name: "setAcceptedModifiers"
            Parameter { name: "acceptedModifiers"; type: "Qt::KeyboardModifiers" }
        }
    }
    Component {
        name: "QQuickPointerEvent"
        prototype: "QObject"
        exports: ["Qt.labs.handlers/PointerEvent 1.0"]
        isCreatable: false
        exportMetaObjectRevisions: [0]
        Property { name: "device"; type: "const QQuickPointerDevice"; isReadonly: true; isPointer: true }
        Property { name: "modifiers"; type: "Qt::KeyboardModifiers"; isReadonly: true }
        Property { name: "button"; type: "Qt::MouseButtons"; isReadonly: true }
        Property { name: "buttons"; type: "Qt::MouseButtons"; isReadonly: true }
    }
    Component {
        name: "QQuickPointerHandler"
        prototype: "QObject"
        exports: ["Qt.labs.handlers/PointerHandler 1.0"]
        isCreatable: false
        exportMetaObjectRevisions: [0]
        Enum {
            name: "GrabPermissions"
            values: {
                "TakeOverForbidden": 0,
                "CanTakeOverFromHandlersOfSameType": 1,
                "CanTakeOverFromHandlersOfDifferentType": 2,
                "CanTakeOverFromItems": 4,
                "CanTakeOverFromAnything": 15,
                "ApprovesTakeOverByHandlersOfSameType": 16,
                "ApprovesTakeOverByHandlersOfDifferentType": 32,
                "ApprovesTakeOverByItems": 64,
                "ApprovesCancellation": 128,
                "ApprovesTakeOverByAnything": 240
            }
        }
        Property { name: "enabled"; type: "bool" }
        Property { name: "active"; type: "bool"; isReadonly: true }
        Property { name: "target"; type: "QQuickItem"; isPointer: true }
        Property { name: "parent"; type: "QQuickItem"; isReadonly: true; isPointer: true }
        Property { name: "grabPermissions"; type: "GrabPermissions" }
        Signal {
            name: "grabChanged"
            Parameter { name: "point"; type: "QQuickEventPoint"; isPointer: true }
        }
        Signal { name: "grabPermissionChanged" }
        Signal {
            name: "canceled"
            Parameter { name: "point"; type: "QQuickEventPoint"; isPointer: true }
        }
    }
    Component {
        name: "QQuickSinglePointHandler"
        prototype: "QQuickPointerDeviceHandler"
        Property { name: "acceptedButtons"; type: "Qt::MouseButtons" }
        Property { name: "point"; type: "QQuickHandlerPoint"; isReadonly: true }
        Signal { name: "singlePointGrabChanged" }
    }
    Component {
        name: "QQuickTapHandler"
        prototype: "QQuickSinglePointHandler"
        exports: ["Qt.labs.handlers/TapHandler 1.0"]
        exportMetaObjectRevisions: [0]
        Enum {
            name: "GesturePolicy"
            values: {
                "DragThreshold": 0,
                "WithinBounds": 1,
                "ReleaseWithinBounds": 2
            }
        }
        Property { name: "pressed"; type: "bool"; isReadonly: true }
        Property { name: "tapCount"; type: "int"; isReadonly: true }
        Property { name: "timeHeld"; type: "double"; isReadonly: true }
        Property { name: "longPressThreshold"; type: "double" }
        Property { name: "gesturePolicy"; type: "GesturePolicy" }
        Signal { name: "tapped" }
        Signal { name: "longPressed" }
    }
}
