"""
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
from PyQt6.QtOpenGL import *


class QOpenGLFunctions_4_1_Core(QAbstractOpenGLFunctions):
    """
    https://doc.qt.io/qt-6/qopenglfunctions-4-1-core.html

    **Detailed Description**

    This class is a wrapper for functions from OpenGL 4.1 core profile. See
    reference pages on **opengl.org**  for function documentation.

    **See also** **QAbstractOpenGLFunctions** .
    """

    def __init__(self) -> None:
        ...

    def glReleaseShaderCompiler(self) -> None:
        ...

    def glDepthRangef(self, n: float, f: float) -> None:
        ...

    def glClearDepthf(self, dd: float) -> None:
        ...

    def glProgramParameteri(self, program: int, pname: int, value: int) -> None:
        ...

    def glUseProgramStages(self, pipeline: int, stages: int, program: int) -> None:
        ...

    def glActiveShaderProgram(self, pipeline: int, program: int) -> None:
        ...

    def glBindProgramPipeline(self, pipeline: int) -> None:
        ...

    def glIsProgramPipeline(self, pipeline: int) -> int:
        ...

    def glProgramUniform1i(self, program: int, location: int, v0: int) -> None:
        ...

    def glProgramUniform1f(self, program: int, location: int, v0: float) -> None:
        ...

    def glProgramUniform1d(self, program: int, location: int, v0: float) -> None:
        ...

    def glProgramUniform1ui(self, program: int, location: int, v0: int) -> None:
        ...

    def glProgramUniform2i(self, program: int, location: int, v0: int, v1: int) -> None:
        ...

    def glProgramUniform2f(
        self, program: int, location: int, v0: float, v1: float
    ) -> None:
        ...

    def glProgramUniform2d(
        self, program: int, location: int, v0: float, v1: float
    ) -> None:
        ...

    def glProgramUniform2ui(
        self, program: int, location: int, v0: int, v1: int
    ) -> None:
        ...

    def glProgramUniform3i(
        self, program: int, location: int, v0: int, v1: int, v2: int
    ) -> None:
        ...

    def glProgramUniform3f(
        self, program: int, location: int, v0: float, v1: float, v2: float
    ) -> None:
        ...

    def glProgramUniform3d(
        self, program: int, location: int, v0: float, v1: float, v2: float
    ) -> None:
        ...

    def glProgramUniform3ui(
        self, program: int, location: int, v0: int, v1: int, v2: int
    ) -> None:
        ...

    def glProgramUniform4i(
        self, program: int, location: int, v0: int, v1: int, v2: int, v3: int
    ) -> None:
        ...

    def glProgramUniform4f(
        self, program: int, location: int, v0: float, v1: float, v2: float, v3: float
    ) -> None:
        ...

    def glProgramUniform4d(
        self, program: int, location: int, v0: float, v1: float, v2: float, v3: float
    ) -> None:
        ...

    def glProgramUniform4ui(
        self, program: int, location: int, v0: int, v1: int, v2: int, v3: int
    ) -> None:
        ...

    def glValidateProgramPipeline(self, pipeline: int) -> None:
        ...

    def glVertexAttribL1d(self, index: int, x: float) -> None:
        ...

    def glVertexAttribL2d(self, index: int, x: float, y: float) -> None:
        ...

    def glVertexAttribL3d(self, index: int, x: float, y: float, z: float) -> None:
        ...

    def glVertexAttribL4d(
        self, index: int, x: float, y: float, z: float, w: float
    ) -> None:
        ...

    def glViewportIndexedf(
        self, index: int, x: float, y: float, w: float, h: float
    ) -> None:
        ...

    def glScissorIndexed(
        self, index: int, left: int, bottom: int, width: int, height: int
    ) -> None:
        ...

    def glDepthRangeIndexed(self, index: int, n: float, f: float) -> None:
        ...

    def glMinSampleShading(self, value: float) -> None:
        ...

    def glBlendEquationi(self, buf: int, mode: int) -> None:
        ...

    def glBlendEquationSeparatei(self, buf: int, modeRGB: int, modeAlpha: int) -> None:
        ...

    def glBlendFunci(self, buf: int, src: int, dst: int) -> None:
        ...

    def glBlendFuncSeparatei(
        self, buf: int, srcRGB: int, dstRGB: int, srcAlpha: int, dstAlpha: int
    ) -> None:
        ...

    def glUniform1d(self, location: int, x: float) -> None:
        ...

    def glUniform2d(self, location: int, x: float, y: float) -> None:
        ...

    def glUniform3d(self, location: int, x: float, y: float, z: float) -> None:
        ...

    def glUniform4d(
        self, location: int, x: float, y: float, z: float, w: float
    ) -> None:
        ...

    def glPatchParameteri(self, pname: int, value: int) -> None:
        ...

    def glBindTransformFeedback(self, target: int, id: int) -> None:
        ...

    def glIsTransformFeedback(self, id: int) -> int:
        ...

    def glPauseTransformFeedback(self) -> None:
        ...

    def glResumeTransformFeedback(self) -> None:
        ...

    def glDrawTransformFeedback(self, mode: int, id: int) -> None:
        ...

    def glDrawTransformFeedbackStream(self, mode: int, id: int, stream: int) -> None:
        ...

    def glBeginQueryIndexed(self, target: int, index: int, id: int) -> None:
        ...

    def glEndQueryIndexed(self, target: int, index: int) -> None:
        ...

    def glVertexAttribDivisor(self, index: int, divisor: int) -> None:
        ...

    def glIsSampler(self, sampler: int) -> int:
        ...

    def glBindSampler(self, unit: int, sampler: int) -> None:
        ...

    def glSamplerParameteri(self, sampler: int, pname: int, param: int) -> None:
        ...

    def glSamplerParameterf(self, sampler: int, pname: int, param: float) -> None:
        ...

    def glQueryCounter(self, id: int, target: int) -> None:
        ...

    def glVertexAttribP1ui(
        self, index: int, type: int, normalized: int, value: int
    ) -> None:
        ...

    def glVertexAttribP2ui(
        self, index: int, type: int, normalized: int, value: int
    ) -> None:
        ...

    def glVertexAttribP3ui(
        self, index: int, type: int, normalized: int, value: int
    ) -> None:
        ...

    def glVertexAttribP4ui(
        self, index: int, type: int, normalized: int, value: int
    ) -> None:
        ...

    def glFramebufferTexture(
        self, target: int, attachment: int, texture: int, level: int
    ) -> None:
        ...

    def glProvokingVertex(self, mode: int) -> None:
        ...

    def glTexImage2DMultisample(
        self,
        target: int,
        samples: int,
        internalformat: int,
        width: int,
        height: int,
        fixedsamplelocations: int,
    ) -> None:
        ...

    def glTexImage3DMultisample(
        self,
        target: int,
        samples: int,
        internalformat: int,
        width: int,
        height: int,
        depth: int,
        fixedsamplelocations: int,
    ) -> None:
        ...

    def glSampleMaski(self, index: int, mask: int) -> None:
        ...

    def glDrawArraysInstanced(
        self, mode: int, first: int, count: int, instancecount: int
    ) -> None:
        ...

    def glTexBuffer(self, target: int, internalformat: int, buffer: int) -> None:
        ...

    def glPrimitiveRestartIndex(self, index: int) -> None:
        ...

    def glUniformBlockBinding(
        self, program: int, uniformBlockIndex: int, uniformBlockBinding: int
    ) -> None:
        ...

    def glColorMaski(self, index: int, r: int, g: int, b: int, a: int) -> None:
        ...

    def glEnablei(self, target: int, index: int) -> None:
        ...

    def glDisablei(self, target: int, index: int) -> None:
        ...

    def glIsEnabledi(self, target: int, index: int) -> int:
        ...

    def glBeginTransformFeedback(self, primitiveMode: int) -> None:
        ...

    def glEndTransformFeedback(self) -> None:
        ...

    def glBindBufferBase(self, target: int, index: int, buffer: int) -> None:
        ...

    def glClampColor(self, target: int, clamp: int) -> None:
        ...

    def glBeginConditionalRender(self, id: int, mode: int) -> None:
        ...

    def glEndConditionalRender(self) -> None:
        ...

    def glUniform1ui(self, location: int, v0: int) -> None:
        ...

    def glUniform2ui(self, location: int, v0: int, v1: int) -> None:
        ...

    def glUniform3ui(self, location: int, v0: int, v1: int, v2: int) -> None:
        ...

    def glUniform4ui(self, location: int, v0: int, v1: int, v2: int, v3: int) -> None:
        ...

    def glClearBufferfi(
        self, buffer: int, drawbuffer: int, depth: float, stencil: int
    ) -> None:
        ...

    def glIsRenderbuffer(self, renderbuffer: int) -> int:
        ...

    def glBindRenderbuffer(self, target: int, renderbuffer: int) -> None:
        ...

    def glRenderbufferStorage(
        self, target: int, internalformat: int, width: int, height: int
    ) -> None:
        ...

    def glIsFramebuffer(self, framebuffer: int) -> int:
        ...

    def glBindFramebuffer(self, target: int, framebuffer: int) -> None:
        ...

    def glCheckFramebufferStatus(self, target: int) -> int:
        ...

    def glFramebufferTexture1D(
        self, target: int, attachment: int, textarget: int, texture: int, level: int
    ) -> None:
        ...

    def glFramebufferTexture2D(
        self, target: int, attachment: int, textarget: int, texture: int, level: int
    ) -> None:
        ...

    def glFramebufferTexture3D(
        self,
        target: int,
        attachment: int,
        textarget: int,
        texture: int,
        level: int,
        zoffset: int,
    ) -> None:
        ...

    def glFramebufferRenderbuffer(
        self, target: int, attachment: int, renderbuffertarget: int, renderbuffer: int
    ) -> None:
        ...

    def glGenerateMipmap(self, target: int) -> None:
        ...

    def glBlitFramebuffer(
        self,
        srcX0: int,
        srcY0: int,
        srcX1: int,
        srcY1: int,
        dstX0: int,
        dstY0: int,
        dstX1: int,
        dstY1: int,
        mask: int,
        filter: int,
    ) -> None:
        ...

    def glRenderbufferStorageMultisample(
        self, target: int, samples: int, internalformat: int, width: int, height: int
    ) -> None:
        ...

    def glFramebufferTextureLayer(
        self, target: int, attachment: int, texture: int, level: int, layer: int
    ) -> None:
        ...

    def glBindVertexArray(self, array: int) -> None:
        ...

    def glIsVertexArray(self, array: int) -> int:
        ...

    def glBlendEquationSeparate(self, modeRGB: int, modeAlpha: int) -> None:
        ...

    def glDrawBuffers(self, n: int, bufs: PYQT_OPENGL_ARRAY) -> None:
        ...

    def glStencilOpSeparate(
        self, face: int, sfail: int, dpfail: int, dppass: int
    ) -> None:
        ...

    def glStencilFuncSeparate(self, face: int, func: int, ref: int, mask: int) -> None:
        ...

    def glStencilMaskSeparate(self, face: int, mask: int) -> None:
        ...

    def glAttachShader(self, program: int, shader: int) -> None:
        ...

    def glBindAttribLocation(self, program: int, index: int, name: str) -> None:
        ...

    def glCompileShader(self, shader: int) -> None:
        ...

    def glCreateProgram(self) -> int:
        ...

    def glCreateShader(self, type: int) -> int:
        ...

    def glDeleteProgram(self, program: int) -> None:
        ...

    def glDeleteShader(self, shader: int) -> None:
        ...

    def glDetachShader(self, program: int, shader: int) -> None:
        ...

    def glDisableVertexAttribArray(self, index: int) -> None:
        ...

    def glEnableVertexAttribArray(self, index: int) -> None:
        ...

    def glGetActiveAttrib(
        self, program: int, index: int
    ) -> typing.Tuple[str, int, int]:
        ...

    def glGetActiveUniform(
        self, program: int, index: int
    ) -> typing.Tuple[str, int, int]:
        ...

    def glGetAttachedShaders(self, program: int) -> typing.Tuple[int, ...]:
        ...

    def glGetAttribLocation(self, program: int, name: str) -> int:
        ...

    def glGetProgramiv(
        self, program: int, pname: int
    ) -> typing.Union[int, typing.Tuple[int, int, int]]:
        ...

    def glGetProgramInfoLog(self, program: int) -> bytes:
        ...

    def glGetShaderiv(self, shader: int, pname: int) -> int:
        ...

    def glGetShaderInfoLog(self, shader: int) -> bytes:
        ...

    def glGetShaderSource(self, shader: int) -> bytes:
        ...

    def glGetUniformLocation(self, program: int, name: str) -> int:
        ...

    def glGetVertexAttribdv(
        self, index: int, pname: int
    ) -> typing.Union[float, typing.Tuple[float, float, float, float]]:
        ...

    def glGetVertexAttribfv(
        self, index: int, pname: int
    ) -> typing.Union[float, typing.Tuple[float, float, float, float]]:
        ...

    def glGetVertexAttribiv(
        self, index: int, pname: int
    ) -> typing.Union[int, typing.Tuple[int, int, int, int]]:
        ...

    def glIsProgram(self, program: int) -> int:
        ...

    def glIsShader(self, shader: int) -> int:
        ...

    def glLinkProgram(self, program: int) -> None:
        ...

    def glUseProgram(self, program: int) -> None:
        ...

    def glUniform1f(self, location: int, v0: float) -> None:
        ...

    def glUniform2f(self, location: int, v0: float, v1: float) -> None:
        ...

    def glUniform3f(self, location: int, v0: float, v1: float, v2: float) -> None:
        ...

    def glUniform4f(
        self, location: int, v0: float, v1: float, v2: float, v3: float
    ) -> None:
        ...

    def glUniform1i(self, location: int, v0: int) -> None:
        ...

    def glUniform2i(self, location: int, v0: int, v1: int) -> None:
        ...

    def glUniform3i(self, location: int, v0: int, v1: int, v2: int) -> None:
        ...

    def glUniform4i(self, location: int, v0: int, v1: int, v2: int, v3: int) -> None:
        ...

    def glUniform1fv(self, location: int, count: int, value: PYQT_OPENGL_ARRAY) -> None:
        ...

    def glUniform2fv(self, location: int, count: int, value: PYQT_OPENGL_ARRAY) -> None:
        ...

    def glUniform3fv(self, location: int, count: int, value: PYQT_OPENGL_ARRAY) -> None:
        ...

    def glUniform4fv(self, location: int, count: int, value: PYQT_OPENGL_ARRAY) -> None:
        ...

    def glUniform1iv(self, location: int, count: int, value: PYQT_OPENGL_ARRAY) -> None:
        ...

    def glUniform2iv(self, location: int, count: int, value: PYQT_OPENGL_ARRAY) -> None:
        ...

    def glUniform3iv(self, location: int, count: int, value: PYQT_OPENGL_ARRAY) -> None:
        ...

    def glUniform4iv(self, location: int, count: int, value: PYQT_OPENGL_ARRAY) -> None:
        ...

    def glUniformMatrix2fv(
        self, location: int, count: int, transpose: int, value: PYQT_OPENGL_ARRAY
    ) -> None:
        ...

    def glUniformMatrix3fv(
        self, location: int, count: int, transpose: int, value: PYQT_OPENGL_ARRAY
    ) -> None:
        ...

    def glUniformMatrix4fv(
        self, location: int, count: int, transpose: int, value: PYQT_OPENGL_ARRAY
    ) -> None:
        ...

    def glValidateProgram(self, program: int) -> None:
        ...

    def glVertexAttribPointer(
        self,
        index: int,
        size: int,
        type: int,
        normalized: int,
        stride: int,
        pointer: PYQT_OPENGL_BOUND_ARRAY,
    ) -> None:
        ...

    def glGenQueries(self, n: int) -> typing.Union[int, typing.Tuple[int, ...]]:
        ...

    def glDeleteQueries(self, n: int, ids: PYQT_OPENGL_ARRAY) -> None:
        ...

    def glIsQuery(self, id: int) -> int:
        ...

    def glBeginQuery(self, target: int, id: int) -> None:
        ...

    def glEndQuery(self, target: int) -> None:
        ...

    def glGetQueryiv(self, target: int, pname: int) -> int:
        ...

    def glBindBuffer(self, target: int, buffer: int) -> None:
        ...

    def glDeleteBuffers(self, n: int, buffers: PYQT_OPENGL_ARRAY) -> None:
        ...

    def glGenBuffers(self, n: int) -> typing.Union[int, typing.Tuple[int, ...]]:
        ...

    def glIsBuffer(self, buffer: int) -> int:
        ...

    def glBufferData(
        self, target: int, size: int, data: PYQT_OPENGL_ARRAY, usage: int
    ) -> None:
        ...

    def glBufferSubData(
        self, target: int, offset: int, size: int, data: PYQT_OPENGL_ARRAY
    ) -> None:
        ...

    def glUnmapBuffer(self, target: int) -> int:
        ...

    def glGetBufferParameteriv(self, target: int, pname: int) -> int:
        ...

    def glBlendFuncSeparate(
        self, sfactorRGB: int, dfactorRGB: int, sfactorAlpha: int, dfactorAlpha: int
    ) -> None:
        ...

    def glPointParameterf(self, pname: int, param: float) -> None:
        ...

    def glPointParameterfv(self, pname: int, params: PYQT_OPENGL_ARRAY) -> None:
        ...

    def glPointParameteri(self, pname: int, param: int) -> None:
        ...

    def glPointParameteriv(self, pname: int, params: PYQT_OPENGL_ARRAY) -> None:
        ...

    def glActiveTexture(self, texture: int) -> None:
        ...

    def glSampleCoverage(self, value: float, invert: int) -> None:
        ...

    def glCompressedTexImage3D(
        self,
        target: int,
        level: int,
        internalformat: int,
        width: int,
        height: int,
        depth: int,
        border: int,
        imageSize: int,
        data: PYQT_OPENGL_ARRAY,
    ) -> None:
        ...

    def glCompressedTexImage2D(
        self,
        target: int,
        level: int,
        internalformat: int,
        width: int,
        height: int,
        border: int,
        imageSize: int,
        data: PYQT_OPENGL_ARRAY,
    ) -> None:
        ...

    def glCompressedTexImage1D(
        self,
        target: int,
        level: int,
        internalformat: int,
        width: int,
        border: int,
        imageSize: int,
        data: PYQT_OPENGL_ARRAY,
    ) -> None:
        ...

    def glCompressedTexSubImage3D(
        self,
        target: int,
        level: int,
        xoffset: int,
        yoffset: int,
        zoffset: int,
        width: int,
        height: int,
        depth: int,
        format: int,
        imageSize: int,
        data: PYQT_OPENGL_ARRAY,
    ) -> None:
        ...

    def glCompressedTexSubImage2D(
        self,
        target: int,
        level: int,
        xoffset: int,
        yoffset: int,
        width: int,
        height: int,
        format: int,
        imageSize: int,
        data: PYQT_OPENGL_ARRAY,
    ) -> None:
        ...

    def glCompressedTexSubImage1D(
        self,
        target: int,
        level: int,
        xoffset: int,
        width: int,
        format: int,
        imageSize: int,
        data: PYQT_OPENGL_ARRAY,
    ) -> None:
        ...

    def glBlendColor(self, red: float, green: float, blue: float, alpha: float) -> None:
        ...

    def glBlendEquation(self, mode: int) -> None:
        ...

    def glDrawRangeElements(
        self,
        mode: int,
        start: int,
        end: int,
        count: int,
        type: int,
        indices: PYQT_OPENGL_ARRAY,
    ) -> None:
        ...

    def glTexImage3D(
        self,
        target: int,
        level: int,
        internalformat: int,
        width: int,
        height: int,
        depth: int,
        border: int,
        format: int,
        type: int,
        pixels: PYQT_OPENGL_ARRAY,
    ) -> None:
        ...

    def glTexSubImage3D(
        self,
        target: int,
        level: int,
        xoffset: int,
        yoffset: int,
        zoffset: int,
        width: int,
        height: int,
        depth: int,
        format: int,
        type: int,
        pixels: PYQT_OPENGL_ARRAY,
    ) -> None:
        ...

    def glCopyTexSubImage3D(
        self,
        target: int,
        level: int,
        xoffset: int,
        yoffset: int,
        zoffset: int,
        x: int,
        y: int,
        width: int,
        height: int,
    ) -> None:
        ...

    def glDrawArrays(self, mode: int, first: int, count: int) -> None:
        ...

    def glDrawElements(
        self, mode: int, count: int, type: int, indices: PYQT_OPENGL_ARRAY
    ) -> None:
        ...

    def glPolygonOffset(self, factor: float, units: float) -> None:
        ...

    def glCopyTexImage1D(
        self,
        target: int,
        level: int,
        internalformat: int,
        x: int,
        y: int,
        width: int,
        border: int,
    ) -> None:
        ...

    def glCopyTexImage2D(
        self,
        target: int,
        level: int,
        internalformat: int,
        x: int,
        y: int,
        width: int,
        height: int,
        border: int,
    ) -> None:
        ...

    def glCopyTexSubImage1D(
        self, target: int, level: int, xoffset: int, x: int, y: int, width: int
    ) -> None:
        ...

    def glCopyTexSubImage2D(
        self,
        target: int,
        level: int,
        xoffset: int,
        yoffset: int,
        x: int,
        y: int,
        width: int,
        height: int,
    ) -> None:
        ...

    def glTexSubImage1D(
        self,
        target: int,
        level: int,
        xoffset: int,
        width: int,
        format: int,
        type: int,
        pixels: PYQT_OPENGL_ARRAY,
    ) -> None:
        ...

    def glTexSubImage2D(
        self,
        target: int,
        level: int,
        xoffset: int,
        yoffset: int,
        width: int,
        height: int,
        format: int,
        type: int,
        pixels: PYQT_OPENGL_ARRAY,
    ) -> None:
        ...

    def glBindTexture(self, target: int, texture: int) -> None:
        ...

    def glDeleteTextures(self, n: int, textures: PYQT_OPENGL_ARRAY) -> None:
        ...

    def glGenTextures(self, n: int) -> typing.Union[int, typing.Tuple[int, ...]]:
        ...

    def glIsTexture(self, texture: int) -> int:
        ...

    def glCullFace(self, mode: int) -> None:
        ...

    def glFrontFace(self, mode: int) -> None:
        ...

    def glHint(self, target: int, mode: int) -> None:
        ...

    def glLineWidth(self, width: float) -> None:
        ...

    def glPointSize(self, size: float) -> None:
        ...

    def glPolygonMode(self, face: int, mode: int) -> None:
        ...

    def glScissor(self, x: int, y: int, width: int, height: int) -> None:
        ...

    def glTexParameterf(self, target: int, pname: int, param: float) -> None:
        ...

    def glTexParameterfv(
        self, target: int, pname: int, params: PYQT_OPENGL_ARRAY
    ) -> None:
        ...

    def glTexParameteri(self, target: int, pname: int, param: int) -> None:
        ...

    def glTexParameteriv(
        self, target: int, pname: int, params: PYQT_OPENGL_ARRAY
    ) -> None:
        ...

    def glTexImage1D(
        self,
        target: int,
        level: int,
        internalformat: int,
        width: int,
        border: int,
        format: int,
        type: int,
        pixels: PYQT_OPENGL_ARRAY,
    ) -> None:
        ...

    def glTexImage2D(
        self,
        target: int,
        level: int,
        internalformat: int,
        width: int,
        height: int,
        border: int,
        format: int,
        type: int,
        pixels: PYQT_OPENGL_ARRAY,
    ) -> None:
        ...

    def glDrawBuffer(self, mode: int) -> None:
        ...

    def glClear(self, mask: int) -> None:
        ...

    def glClearColor(self, red: float, green: float, blue: float, alpha: float) -> None:
        ...

    def glClearStencil(self, s: int) -> None:
        ...

    def glClearDepth(self, depth: float) -> None:
        ...

    def glStencilMask(self, mask: int) -> None:
        ...

    def glColorMask(self, red: int, green: int, blue: int, alpha: int) -> None:
        ...

    def glDepthMask(self, flag: int) -> None:
        ...

    def glDisable(self, cap: int) -> None:
        ...

    def glEnable(self, cap: int) -> None:
        ...

    def glFinish(self) -> None:
        ...

    def glFlush(self) -> None:
        ...

    def glBlendFunc(self, sfactor: int, dfactor: int) -> None:
        ...

    def glLogicOp(self, opcode: int) -> None:
        ...

    def glStencilFunc(self, func: int, ref: int, mask: int) -> None:
        ...

    def glStencilOp(self, fail: int, zfail: int, zpass: int) -> None:
        ...

    def glDepthFunc(self, func: int) -> None:
        ...

    def glPixelStoref(self, pname: int, param: float) -> None:
        ...

    def glPixelStorei(self, pname: int, param: int) -> None:
        ...

    def glReadBuffer(self, mode: int) -> None:
        ...

    def glReadPixels(
        self, x: int, y: int, width: int, height: int, format: int, type: int
    ) -> typing.Union[typing.Tuple[float, ...], typing.Tuple[int, ...]]:
        ...

    def glGetBooleanv(self, pname: int) -> typing.Union[bool, typing.Tuple[bool, ...]]:
        ...

    def glGetDoublev(self, pname: int) -> typing.Union[float, typing.Tuple[float, ...]]:
        ...

    def glGetError(self) -> int:
        ...

    def glGetFloatv(self, pname: int) -> typing.Union[float, typing.Tuple[float, ...]]:
        ...

    def glGetIntegerv(self, pname: int) -> typing.Union[int, typing.Tuple[int, ...]]:
        ...

    def glGetString(self, name: int) -> str:
        ...

    def glGetTexParameterfv(
        self, target: int, pname: int
    ) -> typing.Union[float, typing.Tuple[float, float, float, float]]:
        ...

    def glGetTexParameteriv(
        self, target: int, pname: int
    ) -> typing.Union[int, typing.Tuple[int, int, int, int]]:
        ...

    def glGetTexLevelParameterfv(self, target: int, level: int, pname: int) -> float:
        ...

    def glGetTexLevelParameteriv(self, target: int, level: int, pname: int) -> int:
        ...

    def glIsEnabled(self, cap: int) -> int:
        ...

    def glDepthRange(self, nearVal: float, farVal: float) -> None:
        ...

    def glViewport(self, x: int, y: int, width: int, height: int) -> None:
        ...

    def initializeOpenGLFunctions(self) -> bool:
        ...
