"""
PySide stub files generated by **IceSpringPySideStubs**

Home: https://baijifeilong.github.io/2022/01/06/ice-spring-pyside-stubs/index.html

Github: https://github.com/baijifeilong/IceSpringPySideStubs

PyPI(PySide2): https://pypi.org/project/IceSpringPySideStubs-PySide2

PyPI(PySide6): https://pypi.org/project/IceSpringPySideStubs-PySide6

PyPI(PyQt5): https://pypi.org/project/IceSpringPySideStubs-PyQt5

PyPI(PyQt6): https://pypi.org/project/IceSpringPySideStubs-PyQt6

Generated by BaiJiFeiLong@gmail.com

License: MIT
"""
import typing
import PyQt6.sip
from PyQt6 import QtGui
from PyQt6.QtOpenGL import *


class QOpenGLVersionFunctionsFactory(PyQt6.sip.simplewrapper):
    """
    https://doc.qt.io/qt-6/qopenglversionfunctionsfactory.html

    **Detailed Description**
    """

    @typing.overload
    def __init__(self) -> None:
        ...

    @typing.overload
    def __init__(self, a0: "QOpenGLVersionFunctionsFactory") -> None:
        ...

    @staticmethod
    def get(
        versionProfile: "QOpenGLVersionProfile" = ...,
        context: typing.Optional[QtGui.QOpenGLContext] = ...,
    ) -> QAbstractOpenGLFunctions:
        """
        https://doc.qt.io/qt-6/qopenglversionfunctionsfactory.html#get

        **[static] QAbstractOpenGLFunctions
        *QOpenGLVersionFunctionsFactory::get(const QOpenGLVersionProfile &
        versionProfile = QOpenGLVersionProfile(), QOpenGLContext * context =
        nullptr)**

        Returns a pointer to an object that provides access to all functions for
        the **versionProfile** of the **context**. There is no need to call
        QAbstractOpenGLFunctions::initializeOpenGLFunctions() as long as the
        **context** is current. It is also possible to call this function when
        the **context** is not current, but in that case it is the caller's
        responsibility to ensure proper initialization by calling
        QAbstractOpenGLFunctions::initializeOpenGLFunctions() afterwards.

        Usually one would use the template version of this function to
        automatically have the result cast to the correct type.
        """
        ...
