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 qmltyperegistrar.

Module {
    Component {
        file: "lottieanimation.h"
        name: "LottieAnimation"
        accessSemantics: "reference"
        prototype: "QQuickPaintedItem"
        exports: [
            "Qt.labs.lottieqt/LottieAnimation 1.0",
            "Qt.labs.lottieqt/LottieAnimation 2.0",
            "Qt.labs.lottieqt/LottieAnimation 2.1",
            "Qt.labs.lottieqt/LottieAnimation 2.4",
            "Qt.labs.lottieqt/LottieAnimation 2.7",
            "Qt.labs.lottieqt/LottieAnimation 2.11",
            "Qt.labs.lottieqt/LottieAnimation 6.0",
            "Qt.labs.lottieqt/LottieAnimation 6.3",
            "Qt.labs.lottieqt/LottieAnimation 6.7"
        ]
        exportMetaObjectRevisions: [
            256,
            512,
            513,
            516,
            519,
            523,
            1536,
            1539,
            1543
        ]
        Enum {
            name: "Status"
            values: ["Null", "Loading", "Ready", "Error"]
        }
        Enum {
            name: "Quality"
            values: ["LowQuality", "MediumQuality", "HighQuality"]
        }
        Enum {
            name: "Direction"
            values: ["Forward", "Reverse"]
        }
        Enum {
            name: "LoopCount"
            values: ["Infinite"]
        }
        Property {
            name: "source"
            type: "QUrl"
            read: "source"
            write: "setSource"
            notify: "sourceChanged"
            index: 0
        }
        Property {
            name: "frameRate"
            type: "int"
            read: "frameRate"
            write: "setFrameRate"
            reset: "resetFrameRate"
            notify: "frameRateChanged"
            index: 1
        }
        Property {
            name: "startFrame"
            type: "int"
            read: "startFrame"
            notify: "startFrameChanged"
            index: 2
            isReadonly: true
        }
        Property {
            name: "endFrame"
            type: "int"
            read: "endFrame"
            notify: "endFrameChanged"
            index: 3
            isReadonly: true
        }
        Property {
            name: "status"
            type: "Status"
            read: "status"
            write: "setStatus"
            notify: "statusChanged"
            index: 4
        }
        Property {
            name: "quality"
            type: "Quality"
            read: "quality"
            write: "setQuality"
            notify: "qualityChanged"
            index: 5
        }
        Property { name: "autoPlay"; type: "bool"; notify: "autoPlayChanged"; index: 6 }
        Property { name: "loops"; type: "int"; notify: "loopsChanged"; index: 7 }
        Property {
            name: "direction"
            type: "Direction"
            read: "direction"
            write: "setDirection"
            notify: "directionChanged"
            index: 8
        }
        Signal { name: "statusChanged" }
        Signal { name: "qualityChanged" }
        Signal { name: "sourceChanged" }
        Signal { name: "finished" }
        Signal { name: "frameRateChanged" }
        Signal { name: "autoPlayChanged" }
        Signal { name: "loopsChanged" }
        Signal { name: "directionChanged" }
        Signal { name: "startFrameChanged" }
        Signal { name: "endFrameChanged" }
        Method { name: "loadFinished" }
        Method { name: "renderNextFrame" }
        Method { name: "start" }
        Method { name: "play" }
        Method { name: "pause" }
        Method { name: "togglePause" }
        Method { name: "stop" }
        Method {
            name: "gotoAndPlay"
            Parameter { name: "frame"; type: "int" }
        }
        Method {
            name: "gotoAndPlay"
            type: "bool"
            Parameter { name: "frameMarker"; type: "QString" }
        }
        Method {
            name: "gotoAndStop"
            Parameter { name: "frame"; type: "int" }
        }
        Method {
            name: "gotoAndStop"
            type: "bool"
            Parameter { name: "frameMarker"; type: "QString" }
        }
        Method {
            name: "getDuration"
            type: "double"
            Parameter { name: "inFrames"; type: "bool" }
        }
        Method { name: "getDuration"; type: "double"; isCloned: true }
    }
}
