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 QtWayland.Compositor 1.14'

Module {
    dependencies: ["QtQuick 2.0", "QtQuick.Window 2.11"]
    Component {
        name: "QWaylandClient"
        prototype: "QObject"
        exports: ["QtWayland.Compositor/WaylandClient 1.0"]
        isCreatable: false
        exportMetaObjectRevisions: [0]
        Property { name: "compositor"; type: "QWaylandCompositor"; isReadonly: true; isPointer: true }
        Property { name: "userId"; type: "qlonglong"; isReadonly: true }
        Property { name: "groupId"; type: "qlonglong"; isReadonly: true }
        Property { name: "processId"; type: "qlonglong"; isReadonly: true }
        Method { name: "close" }
        Method {
            name: "kill"
            Parameter { name: "signal"; type: "int" }
        }
        Method { name: "kill" }
    }
    Component {
        name: "QWaylandCompositor"
        prototype: "QWaylandObject"
        exports: ["QtWayland.Compositor/WaylandCompositorBase 1.0"]
        isCreatable: false
        exportMetaObjectRevisions: [0]
        Property { name: "socketName"; type: "QByteArray" }
        Property { name: "created"; type: "bool"; isReadonly: true }
        Property { name: "retainedSelection"; type: "bool" }
        Property { name: "defaultOutput"; type: "QWaylandOutput"; isPointer: true }
        Property { name: "useHardwareIntegrationExtension"; type: "bool" }
        Property { name: "defaultSeat"; type: "QWaylandSeat"; isReadonly: true; isPointer: true }
        Signal {
            name: "socketNameChanged"
            Parameter { name: "socketName"; type: "QByteArray" }
        }
        Signal {
            name: "retainedSelectionChanged"
            Parameter { name: "retainedSelection"; type: "bool" }
        }
        Signal {
            name: "surfaceRequested"
            Parameter { name: "client"; type: "QWaylandClient"; isPointer: true }
            Parameter { name: "id"; type: "uint" }
            Parameter { name: "version"; type: "int" }
        }
        Signal {
            name: "surfaceCreated"
            Parameter { name: "surface"; type: "QWaylandSurface"; isPointer: true }
        }
        Signal {
            name: "surfaceAboutToBeDestroyed"
            Parameter { name: "surface"; type: "QWaylandSurface"; isPointer: true }
        }
        Signal {
            name: "subsurfaceChanged"
            Parameter { name: "child"; type: "QWaylandSurface"; isPointer: true }
            Parameter { name: "parent"; type: "QWaylandSurface"; isPointer: true }
        }
        Signal {
            name: "defaultSeatChanged"
            Parameter { name: "newDevice"; type: "QWaylandSeat"; isPointer: true }
            Parameter { name: "oldDevice"; type: "QWaylandSeat"; isPointer: true }
        }
        Signal {
            name: "outputAdded"
            Parameter { name: "output"; type: "QWaylandOutput"; isPointer: true }
        }
        Signal {
            name: "outputRemoved"
            Parameter { name: "output"; type: "QWaylandOutput"; isPointer: true }
        }
        Method { name: "processWaylandEvents" }
        Method {
            name: "addSocketDescriptor"
            Parameter { name: "fd"; type: "int" }
        }
        Method {
            name: "destroyClientForSurface"
            Parameter { name: "surface"; type: "QWaylandSurface"; isPointer: true }
        }
        Method {
            name: "destroyClient"
            Parameter { name: "client"; type: "QWaylandClient"; isPointer: true }
        }
        Method {
            name: "outputFor"
            type: "QWaylandOutput*"
            Parameter { name: "window"; type: "QWindow"; isPointer: true }
        }
    }
    Component {
        name: "QWaylandCompositorExtension"
        prototype: "QWaylandObject"
        exports: ["QtWayland.Compositor/WaylandExtension 1.0"]
        isCreatable: false
        exportMetaObjectRevisions: [0]
    }
    Component {
        name: "QWaylandDrag"
        prototype: "QObject"
        exports: ["QtWayland.Compositor/WaylandDrag 1.0"]
        isCreatable: false
        exportMetaObjectRevisions: [0]
        Property { name: "icon"; type: "QWaylandSurface"; isReadonly: true; isPointer: true }
        Property { name: "visible"; type: "bool"; isReadonly: true }
        Signal { name: "dragStarted" }
        Method {
            name: "dragMove"
            Parameter { name: "target"; type: "QWaylandSurface"; isPointer: true }
            Parameter { name: "pos"; type: "QPointF" }
        }
        Method { name: "drop" }
        Method { name: "cancelDrag" }
    }
    Component { name: "QWaylandIdleInhibitManagerV1"; prototype: "QWaylandCompositorExtension" }
    Component {
        name: "QWaylandIdleInhibitManagerV1QuickExtension"
        defaultProperty: "data"
        prototype: "QWaylandIdleInhibitManagerV1"
        exports: ["QtWayland.Compositor/IdleInhibitManagerV1 1.14"]
        exportMetaObjectRevisions: [0]
        Property { name: "data"; type: "QObject"; isList: true; isReadonly: true }
    }
    Component {
        name: "QWaylandIviApplication"
        prototype: "QWaylandCompositorExtension"
        Signal {
            name: "iviSurfaceRequested"
            Parameter { name: "surface"; type: "QWaylandSurface"; isPointer: true }
            Parameter { name: "iviId"; type: "uint" }
            Parameter { name: "resource"; type: "QWaylandResource" }
        }
        Signal {
            name: "iviSurfaceCreated"
            Parameter { name: "iviSurface"; type: "QWaylandIviSurface"; isPointer: true }
        }
    }
    Component {
        name: "QWaylandIviApplicationQuickExtension"
        defaultProperty: "data"
        prototype: "QWaylandIviApplication"
        exports: ["QtWayland.Compositor/IviApplication 1.0"]
        exportMetaObjectRevisions: [0]
        Property { name: "data"; type: "QObject"; isList: true; isReadonly: true }
    }
    Component {
        name: "QWaylandIviSurface"
        defaultProperty: "data"
        prototype: "QWaylandShellSurface"
        exports: ["QtWayland.Compositor/IviSurface 1.0"]
        exportMetaObjectRevisions: [0]
        Property { name: "data"; type: "QObject"; isList: true; isReadonly: true }
        Property { name: "surface"; type: "QWaylandSurface"; isReadonly: true; isPointer: true }
        Property { name: "iviId"; type: "uint"; isReadonly: true }
        Method {
            name: "initialize"
            Parameter { name: "iviApplication"; type: "QWaylandIviApplication"; isPointer: true }
            Parameter { name: "surface"; type: "QWaylandSurface"; isPointer: true }
            Parameter { name: "iviId"; type: "uint" }
            Parameter { name: "resource"; type: "QWaylandResource" }
        }
        Method {
            name: "sendConfigure"
            Parameter { name: "size"; type: "QSize" }
        }
    }
    Component {
        name: "QWaylandKeymap"
        defaultProperty: "data"
        prototype: "QObject"
        exports: ["QtWayland.Compositor/WaylandKeymap 1.0"]
        exportMetaObjectRevisions: [0]
        Property { name: "data"; type: "QObject"; isList: true; isReadonly: true }
        Property { name: "layout"; type: "string" }
        Property { name: "variant"; type: "string" }
        Property { name: "options"; type: "string" }
        Property { name: "rules"; type: "string" }
        Property { name: "model"; type: "string" }
    }
    Component {
        name: "QWaylandMouseTracker"
        defaultProperty: "data"
        prototype: "QQuickItem"
        exports: ["QtWayland.Compositor/WaylandMouseTracker 1.0"]
        exportMetaObjectRevisions: [0]
        Property { name: "mouseX"; type: "double"; isReadonly: true }
        Property { name: "mouseY"; type: "double"; isReadonly: true }
        Property { name: "containsMouse"; type: "bool"; isReadonly: true }
        Property { name: "windowSystemCursorEnabled"; type: "bool" }
        Signal { name: "hoveredChanged" }
    }
    Component { name: "QWaylandObject"; prototype: "QObject" }
    Component {
        name: "QWaylandOutput"
        prototype: "QWaylandObject"
        exports: ["QtWayland.Compositor/WaylandOutputBase 1.0"]
        isCreatable: false
        exportMetaObjectRevisions: [0]
        Enum {
            name: "Subpixel"
            values: {
                "SubpixelUnknown": 0,
                "SubpixelNone": 1,
                "SubpixelHorizontalRgb": 2,
                "SubpixelHorizontalBgr": 3,
                "SubpixelVerticalRgb": 4,
                "SubpixelVerticalBgr": 5
            }
        }
        Enum {
            name: "Transform"
            values: {
                "TransformNormal": 0,
                "Transform90": 1,
                "Transform180": 2,
                "Transform270": 3,
                "TransformFlipped": 4,
                "TransformFlipped90": 5,
                "TransformFlipped180": 6,
                "TransformFlipped270": 7
            }
        }
        Property { name: "compositor"; type: "QWaylandCompositor"; isPointer: true }
        Property { name: "window"; type: "QWindow"; isPointer: true }
        Property { name: "manufacturer"; type: "string" }
        Property { name: "model"; type: "string" }
        Property { name: "position"; type: "QPoint" }
        Property { name: "geometry"; type: "QRect"; isReadonly: true }
        Property { name: "availableGeometry"; type: "QRect" }
        Property { name: "physicalSize"; type: "QSize" }
        Property { name: "subpixel"; type: "QWaylandOutput::Subpixel" }
        Property { name: "transform"; type: "QWaylandOutput::Transform" }
        Property { name: "scaleFactor"; type: "int" }
        Property { name: "sizeFollowsWindow"; type: "bool" }
        Signal { name: "modeAdded" }
        Signal { name: "currentModeChanged" }
        Signal { name: "physicalSizeFollowsSizeChanged" }
        Signal { name: "windowDestroyed" }
    }
    Component {
        name: "QWaylandQtWindowManager"
        prototype: "QWaylandCompositorExtension"
        Property { name: "showIsFullScreen"; type: "bool" }
        Signal {
            name: "openUrl"
            Parameter { name: "client"; type: "QWaylandClient"; isPointer: true }
            Parameter { name: "url"; type: "QUrl" }
        }
    }
    Component {
        name: "QWaylandQtWindowManagerQuickExtension"
        defaultProperty: "data"
        prototype: "QWaylandQtWindowManager"
        exports: ["QtWayland.Compositor/QtWindowManager 1.0"]
        exportMetaObjectRevisions: [0]
        Property { name: "data"; type: "QObject"; isList: true; isReadonly: true }
    }
    Component { name: "QWaylandQuickCompositor"; prototype: "QWaylandCompositor" }
    Component {
        name: "QWaylandQuickCompositorQuickExtensionContainer"
        defaultProperty: "data"
        prototype: "QWaylandQuickCompositor"
        exports: ["QtWayland.Compositor/WaylandCompositor 1.0"]
        exportMetaObjectRevisions: [0]
        Property {
            name: "extensions"
            type: "QWaylandCompositorExtension"
            isList: true
            isReadonly: true
        }
        Property { name: "data"; type: "QObject"; isList: true; isReadonly: true }
    }
    Component {
        name: "QWaylandQuickHardwareLayer"
        prototype: "QObject"
        exports: ["QtWayland.Compositor/WaylandHardwareLayer 1.2"]
        exportMetaObjectRevisions: [0]
        Property { name: "stackingLevel"; type: "int" }
    }
    Component {
        name: "QWaylandQuickItem"
        defaultProperty: "data"
        prototype: "QQuickItem"
        exports: [
            "QtWayland.Compositor/WaylandQuickItem 1.0",
            "QtWayland.Compositor/WaylandQuickItem 1.13"
        ]
        exportMetaObjectRevisions: [0, 13]
        Property { name: "compositor"; type: "QWaylandCompositor"; isReadonly: true; isPointer: true }
        Property { name: "surface"; type: "QWaylandSurface"; isPointer: true }
        Property { name: "paintEnabled"; type: "bool" }
        Property { name: "touchEventsEnabled"; type: "bool" }
        Property { name: "origin"; type: "QWaylandSurface::Origin"; isReadonly: true }
        Property { name: "inputEventsEnabled"; type: "bool" }
        Property { name: "focusOnClick"; type: "bool" }
        Property { name: "sizeFollowsSurface"; type: "bool" }
        Property { name: "subsurfaceHandler"; type: "QObject"; isPointer: true }
        Property { name: "output"; type: "QWaylandOutput"; isPointer: true }
        Property { name: "bufferLocked"; type: "bool" }
        Property { name: "allowDiscardFrontBuffer"; type: "bool" }
        Signal { name: "surfaceDestroyed" }
        Signal {
            name: "mouseMove"
            Parameter { name: "windowPosition"; type: "QPointF" }
        }
        Signal { name: "mouseRelease" }
        Method {
            name: "takeFocus"
            Parameter { name: "device"; type: "QWaylandSeat"; isPointer: true }
        }
        Method { name: "takeFocus" }
        Method {
            name: "setPaintEnabled"
            Parameter { name: "paintEnabled"; type: "bool" }
        }
        Method { name: "raise" }
        Method { name: "lower" }
        Method {
            name: "sendMouseMoveEvent"
            Parameter { name: "position"; type: "QPointF" }
            Parameter { name: "seat"; type: "QWaylandSeat"; isPointer: true }
        }
        Method {
            name: "sendMouseMoveEvent"
            Parameter { name: "position"; type: "QPointF" }
        }
        Method {
            name: "mapToSurface"
            type: "QPointF"
            Parameter { name: "point"; type: "QPointF" }
        }
        Method {
            name: "mapFromSurface"
            revision: 13
            type: "QPointF"
            Parameter { name: "point"; type: "QPointF" }
        }
        Method {
            name: "inputMethodQuery"
            type: "QVariant"
            Parameter { name: "query"; type: "Qt::InputMethodQuery" }
            Parameter { name: "argument"; type: "QVariant" }
        }
        Method { name: "setPrimary" }
    }
    Component {
        name: "QWaylandQuickOutput"
        defaultProperty: "data"
        prototype: "QWaylandOutput"
        exports: ["QtWayland.Compositor/WaylandOutput 1.0"]
        exportMetaObjectRevisions: [0]
        Property { name: "data"; type: "QObject"; isList: true; isReadonly: true }
        Property { name: "automaticFrameCallback"; type: "bool" }
        Method { name: "updateStarted" }
    }
    Component {
        name: "QWaylandQuickShellSurfaceItem"
        defaultProperty: "data"
        prototype: "QWaylandQuickItem"
        exports: ["QtWayland.Compositor/ShellSurfaceItem 1.0"]
        exportMetaObjectRevisions: [0]
        Property { name: "shellSurface"; type: "QWaylandShellSurface"; isPointer: true }
        Property { name: "moveItem"; type: "QQuickItem"; isPointer: true }
        Property { name: "autoCreatePopupItems"; type: "bool" }
    }
    Component {
        name: "QWaylandQuickSurface"
        defaultProperty: "data"
        prototype: "QWaylandSurface"
        exports: [
            "QtWayland.Compositor/WaylandSurface 1.0",
            "QtWayland.Compositor/WaylandSurface 1.13"
        ]
        exportMetaObjectRevisions: [0, 13]
        Property { name: "data"; type: "QObject"; isList: true; isReadonly: true }
        Property { name: "useTextureAlpha"; type: "bool" }
        Property { name: "clientRenderingEnabled"; type: "bool" }
    }
    Component {
        name: "QWaylandQuickXdgOutputV1"
        defaultProperty: "data"
        prototype: "QWaylandXdgOutputV1"
        exports: ["QtWayland.Compositor/XdgOutputV1 1.14"]
        exportMetaObjectRevisions: [0]
    }
    Component {
        name: "QWaylandResource"
        exports: ["QtWayland.Compositor/WaylandResource 1.0"]
        isCreatable: false
        exportMetaObjectRevisions: [0]
    }
    Component {
        name: "QWaylandSeat"
        prototype: "QWaylandObject"
        exports: ["QtWayland.Compositor/WaylandSeat 1.0"]
        isCreatable: false
        exportMetaObjectRevisions: [0]
        Enum {
            name: "CapabilityFlags"
            values: {
                "Pointer": 1,
                "Keyboard": 2,
                "Touch": 4,
                "DefaultCapabilities": 7
            }
        }
        Property { name: "drag"; type: "QWaylandDrag"; isReadonly: true; isPointer: true }
        Property { name: "keymap"; type: "QWaylandKeymap"; isReadonly: true; isPointer: true }
        Signal {
            name: "mouseFocusChanged"
            Parameter { name: "newFocus"; type: "QWaylandView"; isPointer: true }
            Parameter { name: "oldFocus"; type: "QWaylandView"; isPointer: true }
        }
        Signal {
            name: "keyboardFocusChanged"
            Parameter { name: "newFocus"; type: "QWaylandSurface"; isPointer: true }
            Parameter { name: "oldFocus"; type: "QWaylandSurface"; isPointer: true }
        }
        Signal {
            name: "cursorSurfaceRequest"
            Parameter { name: "surface"; type: "QWaylandSurface"; isPointer: true }
            Parameter { name: "hotspotX"; type: "int" }
            Parameter { name: "hotspotY"; type: "int" }
        }
        Method {
            name: "sendKeyEvent"
            Parameter { name: "qtKey"; type: "int" }
            Parameter { name: "pressed"; type: "bool" }
        }
        Method {
            name: "sendTouchPointPressed"
            type: "uint"
            Parameter { name: "surface"; type: "QWaylandSurface"; isPointer: true }
            Parameter { name: "id"; type: "int" }
            Parameter { name: "position"; type: "QPointF" }
        }
        Method {
            name: "sendTouchPointReleased"
            type: "uint"
            Parameter { name: "surface"; type: "QWaylandSurface"; isPointer: true }
            Parameter { name: "id"; type: "int" }
            Parameter { name: "position"; type: "QPointF" }
        }
        Method {
            name: "sendTouchPointMoved"
            type: "uint"
            Parameter { name: "surface"; type: "QWaylandSurface"; isPointer: true }
            Parameter { name: "id"; type: "int" }
            Parameter { name: "position"; type: "QPointF" }
        }
        Method {
            name: "sendTouchFrameEvent"
            Parameter { name: "client"; type: "QWaylandClient"; isPointer: true }
        }
        Method {
            name: "sendTouchCancelEvent"
            Parameter { name: "client"; type: "QWaylandClient"; isPointer: true }
        }
    }
    Component {
        name: "QWaylandShell"
        prototype: "QWaylandCompositorExtension"
        exports: ["QtWayland.Compositor/Shell 1.0"]
        isCreatable: false
        exportMetaObjectRevisions: [0]
        Enum {
            name: "FocusPolicy"
            values: {
                "AutomaticFocus": 0,
                "ManualFocus": 1
            }
        }
        Property { name: "focusPolicy"; type: "FocusPolicy" }
    }
    Component {
        name: "QWaylandShellSurface"
        prototype: "QWaylandCompositorExtension"
        exports: ["QtWayland.Compositor/ShellSurface 1.0"]
        isCreatable: false
        exportMetaObjectRevisions: [0]
        Property { name: "windowType"; type: "Qt::WindowType"; isReadonly: true }
    }
    Component {
        name: "QWaylandSurface"
        prototype: "QWaylandObject"
        exports: ["QtWayland.Compositor/WaylandSurfaceBase 1.0"]
        isCreatable: false
        exportMetaObjectRevisions: [0]
        Enum {
            name: "Origin"
            values: {
                "OriginTopLeft": 0,
                "OriginBottomLeft": 1
            }
        }
        Property { name: "client"; type: "QWaylandClient"; isReadonly: true; isPointer: true }
        Property { name: "sourceGeometry"; revision: 13; type: "QRectF"; isReadonly: true }
        Property { name: "destinationSize"; revision: 13; type: "QSize"; isReadonly: true }
        Property { name: "bufferSize"; revision: 13; type: "QSize"; isReadonly: true }
        Property { name: "size"; type: "QSize"; isReadonly: true }
        Property { name: "bufferScale"; type: "int"; isReadonly: true }
        Property { name: "contentOrientation"; type: "Qt::ScreenOrientation"; isReadonly: true }
        Property { name: "origin"; type: "QWaylandSurface::Origin"; isReadonly: true }
        Property { name: "hasContent"; type: "bool"; isReadonly: true }
        Property { name: "cursorSurface"; type: "bool" }
        Property { name: "inhibitsIdle"; revision: 14; type: "bool"; isReadonly: true }
        Signal {
            name: "damaged"
            Parameter { name: "rect"; type: "QRegion" }
        }
        Signal {
            name: "parentChanged"
            Parameter { name: "newParent"; type: "QWaylandSurface"; isPointer: true }
            Parameter { name: "oldParent"; type: "QWaylandSurface"; isPointer: true }
        }
        Signal {
            name: "childAdded"
            Parameter { name: "child"; type: "QWaylandSurface"; isPointer: true }
        }
        Signal { name: "sourceGeometryChanged"; revision: 13 }
        Signal { name: "destinationSizeChanged"; revision: 13 }
        Signal { name: "bufferSizeChanged"; revision: 13 }
        Signal {
            name: "offsetForNextFrame"
            Parameter { name: "offset"; type: "QPoint" }
        }
        Signal { name: "surfaceDestroyed" }
        Signal {
            name: "subsurfacePositionChanged"
            Parameter { name: "position"; type: "QPoint" }
        }
        Signal {
            name: "subsurfacePlaceAbove"
            Parameter { name: "sibling"; type: "QWaylandSurface"; isPointer: true }
        }
        Signal {
            name: "subsurfacePlaceBelow"
            Parameter { name: "sibling"; type: "QWaylandSurface"; isPointer: true }
        }
        Signal {
            name: "dragStarted"
            Parameter { name: "drag"; type: "QWaylandDrag"; isPointer: true }
        }
        Signal { name: "inhibitsIdleChanged"; revision: 14 }
        Signal {
            name: "configure"
            Parameter { name: "hasBuffer"; type: "bool" }
        }
        Signal { name: "redraw" }
        Method { name: "updateSelection" }
        Method {
            name: "initialize"
            Parameter { name: "compositor"; type: "QWaylandCompositor"; isPointer: true }
            Parameter { name: "client"; type: "QWaylandClient"; isPointer: true }
            Parameter { name: "id"; type: "uint" }
            Parameter { name: "version"; type: "int" }
        }
        Method { name: "destroy" }
        Method { name: "isDestroyed"; type: "bool" }
        Method { name: "frameStarted" }
        Method { name: "sendFrameCallbacks" }
    }
    Component { name: "QWaylandTextInputManager"; prototype: "QWaylandCompositorExtension" }
    Component {
        name: "QWaylandTextInputManagerQuickExtension"
        defaultProperty: "data"
        prototype: "QWaylandTextInputManager"
        exports: ["QtWayland.Compositor/TextInputManager 1.0"]
        exportMetaObjectRevisions: [0]
        Property { name: "data"; type: "QObject"; isList: true; isReadonly: true }
    }
    Component { name: "QWaylandWlScaler"; prototype: "QWaylandCompositorExtension" }
    Component {
        name: "QWaylandWlScalerQuickExtension"
        defaultProperty: "data"
        prototype: "QWaylandWlScaler"
        exports: ["QtWayland.Compositor/WlScaler 1.13"]
        exportMetaObjectRevisions: [0]
        Property { name: "data"; type: "QObject"; isList: true; isReadonly: true }
    }
    Component {
        name: "QWaylandWlShell"
        prototype: "QWaylandShell"
        Signal {
            name: "wlShellSurfaceRequested"
            Parameter { name: "surface"; type: "QWaylandSurface"; isPointer: true }
            Parameter { name: "resource"; type: "QWaylandResource" }
        }
        Signal {
            name: "wlShellSurfaceCreated"
            Parameter { name: "shellSurface"; type: "QWaylandWlShellSurface"; isPointer: true }
        }
        Method { name: "closeAllPopups" }
    }
    Component {
        name: "QWaylandWlShellQuickExtension"
        defaultProperty: "data"
        prototype: "QWaylandWlShell"
        exports: ["QtWayland.Compositor/WlShell 1.0"]
        exportMetaObjectRevisions: [0]
        Property { name: "data"; type: "QObject"; isList: true; isReadonly: true }
    }
    Component {
        name: "QWaylandWlShellSurface"
        defaultProperty: "data"
        prototype: "QWaylandShellSurface"
        exports: ["QtWayland.Compositor/WlShellSurface 1.0"]
        exportMetaObjectRevisions: [0]
        Enum {
            name: "FullScreenMethod"
            values: {
                "DefaultFullScreen": 0,
                "ScaleFullScreen": 1,
                "DriverFullScreen": 2,
                "FillFullScreen": 3
            }
        }
        Enum {
            name: "ResizeEdge"
            values: {
                "NoneEdge": 0,
                "TopEdge": 1,
                "BottomEdge": 2,
                "LeftEdge": 4,
                "TopLeftEdge": 5,
                "BottomLeftEdge": 6,
                "RightEdge": 8,
                "TopRightEdge": 9,
                "BottomRightEdge": 10
            }
        }
        Property { name: "data"; type: "QObject"; isList: true; isReadonly: true }
        Property { name: "surface"; type: "QWaylandSurface"; isReadonly: true; isPointer: true }
        Property { name: "shell"; type: "QWaylandWlShell"; isReadonly: true; isPointer: true }
        Property { name: "title"; type: "string"; isReadonly: true }
        Property { name: "className"; type: "string"; isReadonly: true }
        Signal { name: "pong" }
        Signal {
            name: "startMove"
            Parameter { name: "seat"; type: "QWaylandSeat"; isPointer: true }
        }
        Signal {
            name: "startResize"
            Parameter { name: "seat"; type: "QWaylandSeat"; isPointer: true }
            Parameter { name: "edges"; type: "ResizeEdge" }
        }
        Signal { name: "setDefaultToplevel" }
        Signal {
            name: "setTransient"
            Parameter { name: "parentSurface"; type: "QWaylandSurface"; isPointer: true }
            Parameter { name: "relativeToParent"; type: "QPoint" }
            Parameter { name: "inactive"; type: "bool" }
        }
        Signal {
            name: "setFullScreen"
            Parameter { name: "method"; type: "FullScreenMethod" }
            Parameter { name: "framerate"; type: "uint" }
            Parameter { name: "output"; type: "QWaylandOutput"; isPointer: true }
        }
        Signal {
            name: "setPopup"
            Parameter { name: "seat"; type: "QWaylandSeat"; isPointer: true }
            Parameter { name: "parentSurface"; type: "QWaylandSurface"; isPointer: true }
            Parameter { name: "relativeToParent"; type: "QPoint" }
        }
        Signal {
            name: "setMaximized"
            Parameter { name: "output"; type: "QWaylandOutput"; isPointer: true }
        }
        Method { name: "ping" }
        Method {
            name: "initialize"
            Parameter { name: "shell"; type: "QWaylandWlShell"; isPointer: true }
            Parameter { name: "surface"; type: "QWaylandSurface"; isPointer: true }
            Parameter { name: "resource"; type: "QWaylandResource" }
        }
        Method {
            name: "sizeForResize"
            type: "QSize"
            Parameter { name: "size"; type: "QSizeF" }
            Parameter { name: "delta"; type: "QPointF" }
            Parameter { name: "edges"; type: "ResizeEdge" }
        }
        Method {
            name: "sendConfigure"
            Parameter { name: "size"; type: "QSize" }
            Parameter { name: "edges"; type: "ResizeEdge" }
        }
        Method { name: "sendPopupDone" }
    }
    Component {
        name: "QWaylandXdgDecorationManagerV1"
        prototype: "QWaylandCompositorExtension"
        Property { name: "preferredMode"; type: "QWaylandXdgToplevel::DecorationMode" }
    }
    Component {
        name: "QWaylandXdgDecorationManagerV1QuickExtension"
        defaultProperty: "data"
        prototype: "QWaylandXdgDecorationManagerV1"
        exports: ["QtWayland.Compositor/XdgDecorationManagerV1 1.3"]
        exportMetaObjectRevisions: [0]
        Property { name: "data"; type: "QObject"; isList: true; isReadonly: true }
    }
    Component { name: "QWaylandXdgOutputManagerV1"; prototype: "QWaylandCompositorExtension" }
    Component {
        name: "QWaylandXdgOutputManagerV1QuickExtension"
        defaultProperty: "data"
        prototype: "QWaylandXdgOutputManagerV1"
        exports: ["QtWayland.Compositor/XdgOutputManagerV1 1.14"]
        exportMetaObjectRevisions: [0]
        Property { name: "data"; type: "QObject"; isList: true; isReadonly: true }
    }
    Component {
        name: "QWaylandXdgOutputV1"
        defaultProperty: "data"
        prototype: "QObject"
        Property { name: "data"; type: "QObject"; isList: true; isReadonly: true }
        Property {
            name: "manager"
            type: "QWaylandXdgOutputManagerV1"
            isReadonly: true
            isPointer: true
        }
        Property { name: "output"; type: "QWaylandOutput"; isReadonly: true; isPointer: true }
        Property { name: "name"; type: "string" }
        Property { name: "description"; type: "string" }
        Property { name: "logicalPosition"; type: "QPoint" }
        Property { name: "logicalSize"; type: "QSize" }
        Property { name: "logicalGeometry"; type: "QRect"; isReadonly: true }
    }
    Component {
        name: "QWaylandXdgPopup"
        prototype: "QObject"
        exports: ["QtWayland.Compositor/XdgPopup 1.3"]
        isCreatable: false
        exportMetaObjectRevisions: [0]
        Property { name: "xdgSurface"; type: "QWaylandXdgSurface"; isReadonly: true; isPointer: true }
        Property {
            name: "parentXdgSurface"
            type: "QWaylandXdgSurface"
            isReadonly: true
            isPointer: true
        }
        Property { name: "configuredGeometry"; type: "QRect"; isReadonly: true }
        Property { name: "anchorRect"; type: "QRect"; isReadonly: true }
        Property { name: "anchorEdges"; type: "Qt::Edges"; isReadonly: true }
        Property { name: "gravityEdges"; type: "Qt::Edges"; isReadonly: true }
        Property { name: "slideConstraints"; type: "Qt::Orientations"; isReadonly: true }
        Property { name: "flipConstraints"; type: "Qt::Orientations"; isReadonly: true }
        Property { name: "resizeConstraints"; type: "Qt::Orientations"; isReadonly: true }
        Property { name: "offset"; type: "QPoint"; isReadonly: true }
        Property { name: "positionerSize"; type: "QSize"; isReadonly: true }
        Property { name: "unconstrainedPosition"; type: "QPoint"; isReadonly: true }
        Method {
            name: "sendConfigure"
            type: "uint"
            Parameter { name: "geometry"; type: "QRect" }
        }
        Method { name: "sendPopupDone"; revision: 14 }
    }
    Component {
        name: "QWaylandXdgPopupV5"
        defaultProperty: "data"
        prototype: "QWaylandShellSurface"
        exports: ["QtWayland.Compositor/XdgPopupV5 1.0"]
        exportMetaObjectRevisions: [0]
        Property { name: "data"; type: "QObject"; isList: true; isReadonly: true }
        Property { name: "shell"; type: "QWaylandXdgShellV5"; isReadonly: true; isPointer: true }
        Property { name: "surface"; type: "QWaylandSurface"; isReadonly: true; isPointer: true }
        Property { name: "parentSurface"; type: "QWaylandSurface"; isReadonly: true; isPointer: true }
        Property { name: "position"; type: "QPoint"; isReadonly: true }
        Method {
            name: "initialize"
            Parameter { name: "shell"; type: "QWaylandXdgShellV5"; isPointer: true }
            Parameter { name: "surface"; type: "QWaylandSurface"; isPointer: true }
            Parameter { name: "parentSurface"; type: "QWaylandSurface"; isPointer: true }
            Parameter { name: "position"; type: "QPoint" }
            Parameter { name: "resource"; type: "QWaylandResource" }
        }
        Method { name: "sendPopupDone" }
    }
    Component {
        name: "QWaylandXdgPopupV6"
        prototype: "QObject"
        exports: ["QtWayland.Compositor/XdgPopupV6 1.1"]
        isCreatable: false
        exportMetaObjectRevisions: [0]
        Property { name: "xdgSurface"; type: "QWaylandXdgSurfaceV6"; isReadonly: true; isPointer: true }
        Property {
            name: "parentXdgSurface"
            type: "QWaylandXdgSurfaceV6"
            isReadonly: true
            isPointer: true
        }
        Property { name: "configuredGeometry"; type: "QRect"; isReadonly: true }
        Property { name: "anchorRect"; type: "QRect"; isReadonly: true }
        Property { name: "anchorEdges"; type: "Qt::Edges"; isReadonly: true }
        Property { name: "gravityEdges"; type: "Qt::Edges"; isReadonly: true }
        Property { name: "slideConstraints"; type: "Qt::Orientations"; isReadonly: true }
        Property { name: "flipConstraints"; type: "Qt::Orientations"; isReadonly: true }
        Property { name: "resizeConstraints"; type: "Qt::Orientations"; isReadonly: true }
        Property { name: "offset"; type: "QPoint"; isReadonly: true }
        Property { name: "positionerSize"; type: "QSize"; isReadonly: true }
        Property { name: "unconstrainedPosition"; type: "QPoint"; isReadonly: true }
        Method {
            name: "sendConfigure"
            type: "uint"
            Parameter { name: "geometry"; type: "QRect" }
        }
        Method { name: "sendPopupDone"; revision: 14 }
    }
    Component {
        name: "QWaylandXdgShell"
        prototype: "QWaylandShell"
        Signal {
            name: "xdgSurfaceCreated"
            Parameter { name: "xdgSurface"; type: "QWaylandXdgSurface"; isPointer: true }
        }
        Signal {
            name: "toplevelCreated"
            Parameter { name: "toplevel"; type: "QWaylandXdgToplevel"; isPointer: true }
            Parameter { name: "xdgSurface"; type: "QWaylandXdgSurface"; isPointer: true }
        }
        Signal {
            name: "popupCreated"
            Parameter { name: "popup"; type: "QWaylandXdgPopup"; isPointer: true }
            Parameter { name: "xdgSurface"; type: "QWaylandXdgSurface"; isPointer: true }
        }
        Signal {
            name: "pong"
            Parameter { name: "serial"; type: "uint" }
        }
        Method {
            name: "ping"
            type: "uint"
            Parameter { name: "client"; type: "QWaylandClient"; isPointer: true }
        }
    }
    Component {
        name: "QWaylandXdgShellQuickExtension"
        defaultProperty: "data"
        prototype: "QWaylandXdgShell"
        exports: ["QtWayland.Compositor/XdgShell 1.3"]
        exportMetaObjectRevisions: [0]
        Property { name: "data"; type: "QObject"; isList: true; isReadonly: true }
    }
    Component {
        name: "QWaylandXdgShellV5"
        prototype: "QWaylandShell"
        exports: ["QtWayland.Compositor/XdgShellV5Base 1.0"]
        isCreatable: false
        exportMetaObjectRevisions: [0]
        Signal {
            name: "xdgSurfaceRequested"
            Parameter { name: "surface"; type: "QWaylandSurface"; isPointer: true }
            Parameter { name: "resource"; type: "QWaylandResource" }
        }
        Signal {
            name: "xdgSurfaceCreated"
            Parameter { name: "xdgSurface"; type: "QWaylandXdgSurfaceV5"; isPointer: true }
        }
        Signal {
            name: "xdgPopupCreated"
            Parameter { name: "xdgPopup"; type: "QWaylandXdgPopupV5"; isPointer: true }
        }
        Signal {
            name: "xdgPopupRequested"
            Parameter { name: "surface"; type: "QWaylandSurface"; isPointer: true }
            Parameter { name: "parent"; type: "QWaylandSurface"; isPointer: true }
            Parameter { name: "seat"; type: "QWaylandSeat"; isPointer: true }
            Parameter { name: "position"; type: "QPoint" }
            Parameter { name: "resource"; type: "QWaylandResource" }
        }
        Signal {
            name: "pong"
            Parameter { name: "serial"; type: "uint" }
        }
        Method {
            name: "ping"
            type: "uint"
            Parameter { name: "client"; type: "QWaylandClient"; isPointer: true }
        }
        Method { name: "closeAllPopups" }
    }
    Component {
        name: "QWaylandXdgShellV5QuickExtension"
        defaultProperty: "data"
        prototype: "QWaylandXdgShellV5"
        exports: ["QtWayland.Compositor/XdgShellV5 1.0"]
        exportMetaObjectRevisions: [0]
        Property { name: "data"; type: "QObject"; isList: true; isReadonly: true }
    }
    Component {
        name: "QWaylandXdgShellV6"
        prototype: "QWaylandShell"
        Signal {
            name: "xdgSurfaceCreated"
            Parameter { name: "xdgSurface"; type: "QWaylandXdgSurfaceV6"; isPointer: true }
        }
        Signal {
            name: "toplevelCreated"
            Parameter { name: "toplevel"; type: "QWaylandXdgToplevelV6"; isPointer: true }
            Parameter { name: "xdgSurface"; type: "QWaylandXdgSurfaceV6"; isPointer: true }
        }
        Signal {
            name: "popupCreated"
            Parameter { name: "popup"; type: "QWaylandXdgPopupV6"; isPointer: true }
            Parameter { name: "xdgSurface"; type: "QWaylandXdgSurfaceV6"; isPointer: true }
        }
        Signal {
            name: "pong"
            Parameter { name: "serial"; type: "uint" }
        }
        Method {
            name: "ping"
            type: "uint"
            Parameter { name: "client"; type: "QWaylandClient"; isPointer: true }
        }
    }
    Component {
        name: "QWaylandXdgShellV6QuickExtension"
        defaultProperty: "data"
        prototype: "QWaylandXdgShellV6"
        exports: ["QtWayland.Compositor/XdgShellV6 1.1"]
        exportMetaObjectRevisions: [0]
        Property { name: "data"; type: "QObject"; isList: true; isReadonly: true }
    }
    Component {
        name: "QWaylandXdgSurface"
        defaultProperty: "data"
        prototype: "QWaylandShellSurface"
        exports: ["QtWayland.Compositor/XdgSurface 1.3"]
        exportMetaObjectRevisions: [0]
        Property { name: "data"; type: "QObject"; isList: true; isReadonly: true }
        Property { name: "shell"; type: "QWaylandXdgShell"; isReadonly: true; isPointer: true }
        Property { name: "surface"; type: "QWaylandSurface"; isReadonly: true; isPointer: true }
        Property { name: "toplevel"; type: "QWaylandXdgToplevel"; isReadonly: true; isPointer: true }
        Property { name: "popup"; type: "QWaylandXdgPopup"; isReadonly: true; isPointer: true }
        Property { name: "windowGeometry"; type: "QRect"; isReadonly: true }
        Signal { name: "toplevelCreated" }
        Signal { name: "popupCreated" }
        Method {
            name: "initialize"
            Parameter { name: "xdgShell"; type: "QWaylandXdgShell"; isPointer: true }
            Parameter { name: "surface"; type: "QWaylandSurface"; isPointer: true }
            Parameter { name: "resource"; type: "QWaylandResource" }
        }
    }
    Component {
        name: "QWaylandXdgSurfaceV5"
        defaultProperty: "data"
        prototype: "QWaylandShellSurface"
        exports: ["QtWayland.Compositor/XdgSurfaceV5 1.0"]
        exportMetaObjectRevisions: [0]
        Enum {
            name: "State"
            values: {
                "MaximizedState": 1,
                "FullscreenState": 2,
                "ResizingState": 3,
                "ActivatedState": 4
            }
        }
        Enum {
            name: "ResizeEdge"
            values: {
                "NoneEdge": 0,
                "TopEdge": 1,
                "BottomEdge": 2,
                "LeftEdge": 4,
                "TopLeftEdge": 5,
                "BottomLeftEdge": 6,
                "RightEdge": 8,
                "TopRightEdge": 9,
                "BottomRightEdge": 10
            }
        }
        Property { name: "data"; type: "QObject"; isList: true; isReadonly: true }
        Property { name: "shell"; type: "QWaylandXdgShellV5"; isReadonly: true; isPointer: true }
        Property { name: "surface"; type: "QWaylandSurface"; isReadonly: true; isPointer: true }
        Property {
            name: "parentSurface"
            type: "QWaylandXdgSurfaceV5"
            isReadonly: true
            isPointer: true
        }
        Property { name: "title"; type: "string"; isReadonly: true }
        Property { name: "appId"; type: "string"; isReadonly: true }
        Property { name: "windowGeometry"; type: "QRect"; isReadonly: true }
        Property { name: "states"; type: "QList<int>"; isReadonly: true }
        Property { name: "maximized"; type: "bool"; isReadonly: true }
        Property { name: "fullscreen"; type: "bool"; isReadonly: true }
        Property { name: "resizing"; type: "bool"; isReadonly: true }
        Property { name: "activated"; type: "bool"; isReadonly: true }
        Signal {
            name: "showWindowMenu"
            Parameter { name: "seat"; type: "QWaylandSeat"; isPointer: true }
            Parameter { name: "localSurfacePosition"; type: "QPoint" }
        }
        Signal {
            name: "startMove"
            Parameter { name: "seat"; type: "QWaylandSeat"; isPointer: true }
        }
        Signal {
            name: "startResize"
            Parameter { name: "seat"; type: "QWaylandSeat"; isPointer: true }
            Parameter { name: "edges"; type: "ResizeEdge" }
        }
        Signal { name: "setTopLevel" }
        Signal { name: "setTransient" }
        Signal { name: "setMaximized" }
        Signal { name: "unsetMaximized" }
        Signal {
            name: "setFullscreen"
            Parameter { name: "output"; type: "QWaylandOutput"; isPointer: true }
        }
        Signal { name: "unsetFullscreen" }
        Signal { name: "setMinimized" }
        Signal {
            name: "ackConfigure"
            Parameter { name: "serial"; type: "uint" }
        }
        Method {
            name: "initialize"
            Parameter { name: "xdgShell"; type: "QWaylandXdgShellV5"; isPointer: true }
            Parameter { name: "surface"; type: "QWaylandSurface"; isPointer: true }
            Parameter { name: "resource"; type: "QWaylandResource" }
        }
        Method {
            name: "sizeForResize"
            type: "QSize"
            Parameter { name: "size"; type: "QSizeF" }
            Parameter { name: "delta"; type: "QPointF" }
            Parameter { name: "edge"; type: "ResizeEdge" }
        }
        Method {
            name: "sendConfigure"
            type: "uint"
            Parameter { name: "size"; type: "QSize" }
            Parameter { name: "states"; type: "QVector<uint>" }
        }
        Method {
            name: "sendConfigure"
            type: "uint"
            Parameter { name: "size"; type: "QSize" }
            Parameter { name: "states"; type: "QVector<State>" }
        }
        Method { name: "sendClose" }
        Method {
            name: "sendMaximized"
            type: "uint"
            Parameter { name: "size"; type: "QSize" }
        }
        Method {
            name: "sendUnmaximized"
            type: "uint"
            Parameter { name: "size"; type: "QSize" }
        }
        Method { name: "sendUnmaximized"; type: "uint" }
        Method {
            name: "sendFullscreen"
            type: "uint"
            Parameter { name: "size"; type: "QSize" }
        }
        Method {
            name: "sendResizing"
            type: "uint"
            Parameter { name: "maxSize"; type: "QSize" }
        }
    }
    Component {
        name: "QWaylandXdgSurfaceV6"
        defaultProperty: "data"
        prototype: "QWaylandShellSurface"
        exports: ["QtWayland.Compositor/XdgSurfaceV6 1.1"]
        exportMetaObjectRevisions: [0]
        Property { name: "data"; type: "QObject"; isList: true; isReadonly: true }
        Property { name: "shell"; type: "QWaylandXdgShellV6"; isReadonly: true; isPointer: true }
        Property { name: "surface"; type: "QWaylandSurface"; isReadonly: true; isPointer: true }
        Property { name: "toplevel"; type: "QWaylandXdgToplevelV6"; isReadonly: true; isPointer: true }
        Property { name: "popup"; type: "QWaylandXdgPopupV6"; isReadonly: true; isPointer: true }
        Property { name: "windowGeometry"; type: "QRect"; isReadonly: true }
        Signal { name: "toplevelCreated" }
        Signal { name: "popupCreated" }
        Method {
            name: "initialize"
            Parameter { name: "xdgShell"; type: "QWaylandXdgShellV6"; isPointer: true }
            Parameter { name: "surface"; type: "QWaylandSurface"; isPointer: true }
            Parameter { name: "resource"; type: "QWaylandResource" }
        }
    }
    Component {
        name: "QWaylandXdgToplevel"
        prototype: "QObject"
        exports: ["QtWayland.Compositor/XdgToplevel 1.3"]
        isCreatable: false
        exportMetaObjectRevisions: [0]
        Enum {
            name: "State"
            values: {
                "MaximizedState": 1,
                "FullscreenState": 2,
                "ResizingState": 3,
                "ActivatedState": 4
            }
        }
        Enum {
            name: "DecorationMode"
            values: {
                "ClientSideDecoration": 1,
                "ServerSideDecoration": 2
            }
        }
        Property { name: "xdgSurface"; type: "QWaylandXdgSurface"; isReadonly: true; isPointer: true }
        Property {
            name: "parentToplevel"
            type: "QWaylandXdgToplevel"
            isReadonly: true
            isPointer: true
        }
        Property { name: "title"; type: "string"; isReadonly: true }
        Property { name: "appId"; type: "string"; isReadonly: true }
        Property { name: "maxSize"; type: "QSize"; isReadonly: true }
        Property { name: "minSize"; type: "QSize"; isReadonly: true }
        Property { name: "states"; type: "QList<int>"; isReadonly: true }
        Property { name: "maximized"; type: "bool"; isReadonly: true }
        Property { name: "fullscreen"; type: "bool"; isReadonly: true }
        Property { name: "resizing"; type: "bool"; isReadonly: true }
        Property { name: "activated"; type: "bool"; isReadonly: true }
        Property { name: "decorationMode"; type: "DecorationMode"; isReadonly: true }
        Signal {
            name: "startMove"
            Parameter { name: "seat"; type: "QWaylandSeat"; isPointer: true }
        }
        Signal {
            name: "startResize"
            Parameter { name: "seat"; type: "QWaylandSeat"; isPointer: true }
            Parameter { name: "edges"; type: "Qt::Edges" }
        }
        Signal {
            name: "showWindowMenu"
            Parameter { name: "seat"; type: "QWaylandSeat"; isPointer: true }
            Parameter { name: "localSurfacePosition"; type: "QPoint" }
        }
        Signal { name: "setMaximized" }
        Signal { name: "unsetMaximized" }
        Signal {
            name: "setFullscreen"
            Parameter { name: "output"; type: "QWaylandOutput"; isPointer: true }
        }
        Signal { name: "unsetFullscreen" }
        Signal { name: "setMinimized" }
        Method {
            name: "sizeForResize"
            type: "QSize"
            Parameter { name: "size"; type: "QSizeF" }
            Parameter { name: "delta"; type: "QPointF" }
            Parameter { name: "edges"; type: "Qt::Edges" }
        }
        Method {
            name: "sendConfigure"
            type: "uint"
            Parameter { name: "size"; type: "QSize" }
            Parameter { name: "states"; type: "QVector<int>" }
        }
        Method { name: "sendClose" }
        Method {
            name: "sendMaximized"
            type: "uint"
            Parameter { name: "size"; type: "QSize" }
        }
        Method {
            name: "sendUnmaximized"
            type: "uint"
            Parameter { name: "size"; type: "QSize" }
        }
        Method { name: "sendUnmaximized"; type: "uint" }
        Method {
            name: "sendFullscreen"
            type: "uint"
            Parameter { name: "size"; type: "QSize" }
        }
        Method {
            name: "sendResizing"
            type: "uint"
            Parameter { name: "maxSize"; type: "QSize" }
        }
    }
    Component {
        name: "QWaylandXdgToplevelV6"
        prototype: "QObject"
        exports: ["QtWayland.Compositor/XdgToplevelV6 1.1"]
        isCreatable: false
        exportMetaObjectRevisions: [0]
        Enum {
            name: "State"
            values: {
                "MaximizedState": 1,
                "FullscreenState": 2,
                "ResizingState": 3,
                "ActivatedState": 4
            }
        }
        Property {
            name: "parentToplevel"
            type: "QWaylandXdgToplevelV6"
            isReadonly: true
            isPointer: true
        }
        Property { name: "title"; type: "string"; isReadonly: true }
        Property { name: "appId"; type: "string"; isReadonly: true }
        Property { name: "maxSize"; type: "QSize"; isReadonly: true }
        Property { name: "minSize"; type: "QSize"; isReadonly: true }
        Property { name: "states"; type: "QList<int>"; isReadonly: true }
        Property { name: "maximized"; type: "bool"; isReadonly: true }
        Property { name: "fullscreen"; type: "bool"; isReadonly: true }
        Property { name: "resizing"; type: "bool"; isReadonly: true }
        Property { name: "activated"; type: "bool"; isReadonly: true }
        Signal {
            name: "startMove"
            Parameter { name: "seat"; type: "QWaylandSeat"; isPointer: true }
        }
        Signal {
            name: "startResize"
            Parameter { name: "seat"; type: "QWaylandSeat"; isPointer: true }
            Parameter { name: "edges"; type: "Qt::Edges" }
        }
        Signal {
            name: "showWindowMenu"
            Parameter { name: "seat"; type: "QWaylandSeat"; isPointer: true }
            Parameter { name: "localSurfacePosition"; type: "QPoint" }
        }
        Signal { name: "setMaximized" }
        Signal { name: "unsetMaximized" }
        Signal {
            name: "setFullscreen"
            Parameter { name: "output"; type: "QWaylandOutput"; isPointer: true }
        }
        Signal { name: "unsetFullscreen" }
        Signal { name: "setMinimized" }
        Method {
            name: "sizeForResize"
            type: "QSize"
            Parameter { name: "size"; type: "QSizeF" }
            Parameter { name: "delta"; type: "QPointF" }
            Parameter { name: "edges"; type: "Qt::Edges" }
        }
        Method {
            name: "sendConfigure"
            type: "uint"
            Parameter { name: "size"; type: "QSize" }
            Parameter { name: "states"; type: "QVector<int>" }
        }
        Method { name: "sendClose" }
        Method {
            name: "sendMaximized"
            type: "uint"
            Parameter { name: "size"; type: "QSize" }
        }
        Method {
            name: "sendUnmaximized"
            type: "uint"
            Parameter { name: "size"; type: "QSize" }
        }
        Method { name: "sendUnmaximized"; type: "uint" }
        Method {
            name: "sendFullscreen"
            type: "uint"
            Parameter { name: "size"; type: "QSize" }
        }
        Method {
            name: "sendResizing"
            type: "uint"
            Parameter { name: "maxSize"; type: "QSize" }
        }
    }
    Component {
        prototype: "QQuickItem"
        name: "QtWayland.Compositor/WaylandCursorItem 1.0"
        exports: ["QtWayland.Compositor/WaylandCursorItem 1.0"]
        exportMetaObjectRevisions: [0]
        isComposite: true
        defaultProperty: "data"
        Property { name: "seat"; type: "QObject"; isPointer: true }
        Property { name: "hotspotX"; type: "int" }
        Property { name: "hotspotY"; type: "int" }
        Property { name: "compositor"; type: "QWaylandCompositor"; isReadonly: true; isPointer: true }
        Property { name: "surface"; type: "QWaylandSurface"; isPointer: true }
        Property { name: "paintEnabled"; type: "bool" }
        Property { name: "touchEventsEnabled"; type: "bool" }
        Property { name: "origin"; type: "QWaylandSurface::Origin"; isReadonly: true }
        Property { name: "inputEventsEnabled"; type: "bool" }
        Property { name: "focusOnClick"; type: "bool" }
        Property { name: "sizeFollowsSurface"; type: "bool" }
        Property { name: "subsurfaceHandler"; type: "QObject"; isPointer: true }
        Property { name: "output"; type: "QWaylandOutput"; isPointer: true }
        Property { name: "bufferLocked"; type: "bool" }
        Property { name: "allowDiscardFrontBuffer"; type: "bool" }
        Signal { name: "surfaceDestroyed" }
        Signal {
            name: "mouseMove"
            Parameter { name: "windowPosition"; type: "QPointF" }
        }
        Signal { name: "mouseRelease" }
        Method {
            name: "takeFocus"
            Parameter { name: "device"; type: "QWaylandSeat"; isPointer: true }
        }
        Method { name: "takeFocus" }
        Method {
            name: "setPaintEnabled"
            Parameter { name: "paintEnabled"; type: "bool" }
        }
        Method { name: "raise" }
        Method { name: "lower" }
        Method {
            name: "sendMouseMoveEvent"
            Parameter { name: "position"; type: "QPointF" }
            Parameter { name: "seat"; type: "QWaylandSeat"; isPointer: true }
        }
        Method {
            name: "sendMouseMoveEvent"
            Parameter { name: "position"; type: "QPointF" }
        }
        Method {
            name: "mapToSurface"
            type: "QPointF"
            Parameter { name: "point"; type: "QPointF" }
        }
        Method {
            name: "mapFromSurface"
            revision: 13
            type: "QPointF"
            Parameter { name: "point"; type: "QPointF" }
        }
        Method {
            name: "inputMethodQuery"
            type: "QVariant"
            Parameter { name: "query"; type: "Qt::InputMethodQuery" }
            Parameter { name: "argument"; type: "QVariant" }
        }
        Method { name: "setPrimary" }
    }
    Component {
        prototype: "QQuickWindowQmlImpl"
        name: "QtWayland.Compositor/WaylandOutputWindow 1.0"
        exports: ["QtWayland.Compositor/WaylandOutputWindow 1.0"]
        exportMetaObjectRevisions: [0]
        isComposite: true
        defaultProperty: "data"
        Property { name: "compositor"; type: "QObject"; isPointer: true }
        Property { name: "output"; type: "QObject"; isPointer: true }
        Property { name: "automaticFrameCallback"; type: "bool" }
    }
}
