# Copyright (C) 2022 The Qt Company Ltd.
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
"""
This file contains the exact signatures for all functions in module
PySide6.QtQuick3D, except for defaults which are replaced by "...".
"""

# mypy: disable-error-code="override, overload-overlap"
# Module `PySide6.QtQuick3D`

import PySide6.QtQuick3D
import PySide6.QtCore
import PySide6.QtQml

import enum
import typing
from PySide6.QtCore import Signal
from shiboken6 import Shiboken


class QIntList: ...


class QQuick3D(Shiboken.Object): ...


class QQuick3DGeometry(PySide6.QtQuick3D.QQuick3DObject):

    geometryChanged          : typing.ClassVar[Signal] = ... # geometryChanged()
    geometryNodeDirty        : typing.ClassVar[Signal] = ... # geometryNodeDirty()

    class Attribute(Shiboken.Object):

        class ComponentType(enum.Enum):

            U16Type                   = 0x0
            U32Type                   = 0x1
            I32Type                   = 0x2
            F32Type                   = 0x3

        class Semantic(enum.Enum):

            IndexSemantic             = 0x0
            PositionSemantic          = 0x1
            NormalSemantic            = 0x2
            TexCoord0Semantic         = 0x3
            TexCoordSemantic          = 0x3
            TangentSemantic           = 0x4
            BinormalSemantic          = 0x5
            JointSemantic             = 0x6
            WeightSemantic            = 0x7
            ColorSemantic             = 0x8
            TargetPositionSemantic    = 0x9
            TargetNormalSemantic      = 0xa
            TargetTangentSemantic     = 0xb
            TargetBinormalSemantic    = 0xc
            TexCoord1Semantic         = 0xd


    class PrimitiveType(enum.Enum):

        Points                    = 0x0
        LineStrip                 = 0x1
        Lines                     = 0x2
        TriangleStrip             = 0x3
        TriangleFan               = 0x4
        Triangles                 = 0x5

    class TargetAttribute(Shiboken.Object): ...


class QQuick3DInstancing(PySide6.QtQuick3D.QQuick3DObject):

    depthSortingEnabledChanged: typing.ClassVar[Signal] = ... # depthSortingEnabledChanged()
    hasTransparencyChanged   : typing.ClassVar[Signal] = ... # hasTransparencyChanged()
    instanceCountOverrideChanged: typing.ClassVar[Signal] = ... # instanceCountOverrideChanged()
    instanceNodeDirty        : typing.ClassVar[Signal] = ... # instanceNodeDirty()
    instanceTableChanged     : typing.ClassVar[Signal] = ... # instanceTableChanged()
    shadowBoundsMaximumChanged: typing.ClassVar[Signal] = ... # shadowBoundsMaximumChanged()
    shadowBoundsMinimumChanged: typing.ClassVar[Signal] = ... # shadowBoundsMinimumChanged()

    class InstanceTableEntry(Shiboken.Object): ...


class QQuick3DObject(PySide6.QtCore.QObject, PySide6.QtQml.QQmlParserStatus):

    childrenChanged          : typing.ClassVar[Signal] = ... # childrenChanged()
    parentChanged            : typing.ClassVar[Signal] = ... # parentChanged()
    stateChanged             : typing.ClassVar[Signal] = ... # stateChanged()

    class ItemChange(enum.Enum):

        ItemChildAddedChange      = 0x0
        ItemChildRemovedChange    = 0x1
        ItemSceneChange           = 0x2
        ItemVisibleHasChanged     = 0x3
        ItemParentHasChanged      = 0x4
        ItemOpacityHasChanged     = 0x5
        ItemActiveFocusHasChanged = 0x6
        ItemRotationHasChanged    = 0x7
        ItemAntialiasingHasChanged = 0x8
        ItemDevicePixelRatioHasChanged = 0x9
        ItemEnabledHasChanged     = 0xa


class QQuick3DRenderExtension(PySide6.QtQuick3D.QQuick3DObject): ...


class QQuick3DTextureData(PySide6.QtQuick3D.QQuick3DObject):

    textureDataNodeDirty     : typing.ClassVar[Signal] = ... # textureDataNodeDirty()

    class Format(enum.Enum):

        None_                     = 0x0
        RGBA8                     = 0x1
        RGBA16F                   = 0x2
        RGBA32F                   = 0x3
        RGBE8                     = 0x4
        R8                        = 0x5
        R16                       = 0x6
        R16F                      = 0x7
        R32F                      = 0x8
        BC1                       = 0x9
        BC2                       = 0xa
        BC3                       = 0xb
        BC4                       = 0xc
        BC5                       = 0xd
        BC6H                      = 0xe
        BC7                       = 0xf
        DXT1_RGBA                 = 0x10
        DXT1_RGB                  = 0x11
        DXT3_RGBA                 = 0x12
        DXT5_RGBA                 = 0x13
        ETC2_RGB8                 = 0x14
        ETC2_RGB8A1               = 0x15
        ETC2_RGBA8                = 0x16
        ASTC_4x4                  = 0x17
        ASTC_5x4                  = 0x18
        ASTC_5x5                  = 0x19
        ASTC_6x5                  = 0x1a
        ASTC_6x6                  = 0x1b
        ASTC_8x5                  = 0x1c
        ASTC_8x6                  = 0x1d
        ASTC_8x8                  = 0x1e
        ASTC_10x5                 = 0x1f
        ASTC_10x6                 = 0x20
        ASTC_10x8                 = 0x21
        ASTC_10x10                = 0x22
        ASTC_12x10                = 0x23
        ASTC_12x12                = 0x24


# eof
