"""
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 PyQt5.sip
from PyQt5 import QtWidgets
from PyQt5.QtWinExtras import *


class QtWin(PyQt5.sip.simplewrapper):
    """
    https://doc.qt.io/qt-5/qtwin.html

    **Detailed Description**
    """

    class WindowFlip3DPolicy(int):
        FlipDefault: QtWin = ...
        FlipExcludeBelow: QtWin = ...
        FlipExcludeAbove: QtWin = ...

    class HBitmapFormat(int):
        HBitmapNoAlpha: QtWin = ...
        HBitmapPremultipliedAlpha: QtWin = ...
        HBitmapAlpha: QtWin = ...

    @typing.overload
    def taskbarDeleteTab(self, a0: QtGui.QWindow) -> None:
        """
        https://doc.qt.io/qt-5/qtwin.html#taskbarDeleteTab

        **void QtWin::taskbarDeleteTab(QWindow * window )**

        Removes the specified **window** from the taskbar.

        This function was introduced in Qt 5.2.
        """
        ...

    @typing.overload
    def taskbarDeleteTab(self, window: QtWidgets.QWidget) -> None:
        """
        https://doc.qt.io/qt-5/qtwin.html#taskbarDeleteTab-1

        **void QtWin::taskbarDeleteTab(QWidget * window )**

        This function overloads **QtWin::taskbarDeleteTab** ().

        This function was introduced in Qt 5.2.
        """
        ...

    @typing.overload
    def taskbarAddTab(self, a0: QtGui.QWindow) -> None:
        """
        https://doc.qt.io/qt-5/qtwin.html#taskbarAddTab

        **void QtWin::taskbarAddTab(QWindow * window )**

        Adds an item for the specified **window** to the taskbar.

        This function was introduced in Qt 5.2.
        """
        ...

    @typing.overload
    def taskbarAddTab(self, window: QtWidgets.QWidget) -> None:
        """
        https://doc.qt.io/qt-5/qtwin.html#taskbarAddTab-1

        **void QtWin::taskbarAddTab(QWidget * window )**

        This function overloads **QtWin::taskbarAddTab** ().

        This function was introduced in Qt 5.2.
        """
        ...

    @typing.overload
    def taskbarActivateTabAlt(self, a0: QtGui.QWindow) -> None:
        """
        https://doc.qt.io/qt-5/qtwin.html#taskbarActivateTabAlt

        **void QtWin::taskbarActivateTabAlt(QWindow * window )**

        Marks the item that represents the specified **window** on the taskbar
        as active, but does not activate it visually.

        This function was introduced in Qt 5.2.
        """
        ...

    @typing.overload
    def taskbarActivateTabAlt(self, window: QtWidgets.QWidget) -> None:
        """
        https://doc.qt.io/qt-5/qtwin.html#taskbarActivateTabAlt-1

        **void QtWin::taskbarActivateTabAlt(QWidget * window )**

        This function overloads **QtWin::taskbarActivateTabAlt** ().

        This function was introduced in Qt 5.2.
        """
        ...

    @typing.overload
    def taskbarActivateTab(self, a0: QtGui.QWindow) -> None:
        """
        https://doc.qt.io/qt-5/qtwin.html#taskbarActivateTab

        **void QtWin::taskbarActivateTab(QWindow * window )**

        Activates an item on the taskbar without activating the **window**
        itself.

        This function was introduced in Qt 5.2.
        """
        ...

    @typing.overload
    def taskbarActivateTab(self, window: QtWidgets.QWidget) -> None:
        """
        https://doc.qt.io/qt-5/qtwin.html#taskbarActivateTab-1

        **void QtWin::taskbarActivateTab(QWidget * window )**

        This function overloads **QtWin::taskbarActivateTab** ().

        This function was introduced in Qt 5.2.
        """
        ...

    @typing.overload
    def markFullscreenWindow(self, a0: QtGui.QWindow, fullscreen: bool = ...) -> None:
        """
        https://doc.qt.io/qt-5/qtwin.html#markFullscreenWindow

        **void QtWin::markFullscreenWindow(QWindow * window , bool fullscreen =
        true)**

        Marks the specified **window** as running in the full-screen mode if
        **fullscreen** is true, so that the shell handles it correctly.
        Otherwise, removes the mark.

        **Note:** You do not usually need to call this function, because the
        Windows taskbar always tries to determine whether a window is running in
        the full-screen mode.

        This function was introduced in Qt 5.2.
        """
        ...

    @typing.overload
    def markFullscreenWindow(
        self, window: QtWidgets.QWidget, fullscreen: bool = ...
    ) -> None:
        """
        https://doc.qt.io/qt-5/qtwin.html#markFullscreenWindow-1

        **void QtWin::markFullscreenWindow(QWidget * window , bool fullscreen =
        true)**

        This function overloads **QtWin::markFullscreenWindow** ().

        This function was introduced in Qt 5.2.
        """
        ...

    def setCurrentProcessExplicitAppUserModelID(self, id: str) -> None:
        """
        https://doc.qt.io/qt-5/qtwin.html#setCurrentProcessExplicitAppUserModelI
        D

        **void QtWin::setCurrentProcessExplicitAppUserModelID(const QString & id
        )**

        Sets the Application User Model ID **id**.

        For more information, see **Application User Model IDs** .

        This function was introduced in Qt 5.2.
        """
        ...

    def isCompositionOpaque(self) -> bool:
        """
        https://doc.qt.io/qt-5/qtwin.html#isCompositionOpaque

        **bool QtWin::isCompositionOpaque()**

        Returns whether the colorization color is an opaque blend.

        This function was introduced in Qt 5.2.
        """
        ...

    def setCompositionEnabled(self, enabled: bool) -> None:
        """
        https://doc.qt.io/qt-5/qtwin.html#setCompositionEnabled

        **void QtWin::setCompositionEnabled(bool enabled )**

        Sets whether the Windows Desktop composition is **enabled**.

        **Note:** The underlying function was declared deprecated as of Windows
        8 and takes no effect.

        This function was introduced in Qt 5.2.

        **See also** **isCompositionEnabled** ().
        """
        ...

    def isCompositionEnabled(self) -> bool:
        """
        https://doc.qt.io/qt-5/qtwin.html#isCompositionEnabled

        **bool QtWin::isCompositionEnabled()**

        Returns the DWM composition state.

        This function was introduced in Qt 5.2.
        """
        ...

    @typing.overload
    def disableBlurBehindWindow(self, window: QtGui.QWindow) -> None:
        """
        https://doc.qt.io/qt-5/qtwin.html#disableBlurBehindWindow

        **void QtWin::disableBlurBehindWindow(QWindow * window )**

        Disables the previously enabled blur effect for the specified
        **window**.

        This function was introduced in Qt 5.2.

        **See also** **enableBlurBehindWindow** ().
        """
        ...

    @typing.overload
    def disableBlurBehindWindow(self, window: QtWidgets.QWidget) -> None:
        """
        https://doc.qt.io/qt-5/qtwin.html#disableBlurBehindWindow-1

        **void QtWin::disableBlurBehindWindow(QWidget * window )**

        This function overloads **QtWin::disableBlurBehindWindow** ().

        This function was introduced in Qt 5.2.
        """
        ...

    @typing.overload
    def enableBlurBehindWindow(
        self, window: QtGui.QWindow, region: QtGui.QRegion
    ) -> None:
        """
        https://doc.qt.io/qt-5/qtwin.html#enableBlurBehindWindow

        **void QtWin::enableBlurBehindWindow(QWindow * window , const QRegion &
        region )**

        Enables the blur effect for the specified **region** of the specified
        **window**.

        This function was introduced in Qt 5.2.

        **See also** **disableBlurBehindWindow** ().
        """
        ...

    @typing.overload
    def enableBlurBehindWindow(self, window: QtGui.QWindow) -> None:
        """
        https://doc.qt.io/qt-5/qtwin.html#enableBlurBehindWindow-1

        **void QtWin::enableBlurBehindWindow(QWindow * window )**

        Enables the blur effect for the specified **window**.

        This function was introduced in Qt 5.2.

        **See also** **disableBlurBehindWindow** ().
        """
        ...

    @typing.overload
    def enableBlurBehindWindow(
        self, window: QtWidgets.QWidget, region: QtGui.QRegion
    ) -> None:
        """
        https://doc.qt.io/qt-5/qtwin.html#enableBlurBehindWindow-2

        **void QtWin::enableBlurBehindWindow(QWidget * window , const QRegion &
        region )**

        This function overloads **QtWin::enableBlurBehindWindow** ().

        This function was introduced in Qt 5.2.
        """
        ...

    @typing.overload
    def enableBlurBehindWindow(self, window: QtWidgets.QWidget) -> None:
        """
        https://doc.qt.io/qt-5/qtwin.html#enableBlurBehindWindow-3

        **void QtWin::enableBlurBehindWindow(QWidget * window )**

        This function overloads **QtWin::enableBlurBehindWindow** ().

        This function was introduced in Qt 5.2.
        """
        ...

    @typing.overload
    def resetExtendedFrame(self, window: QtGui.QWindow) -> None:
        """
        https://doc.qt.io/qt-5/qtwin.html#resetExtendedFrame

        **void QtWin::resetExtendedFrame(QWindow * window )**

        Resets the glass frame and restores the **window** attributes.

        This convenience function calls **extendFrameIntoClientArea** () with
        margins set to 0.

        **Note:****Qt::WA_NoSystemBackground**  must not be set on widgets for
        **extendFrameIntoClientArea** () to work.

        This function was introduced in Qt 5.2.

        **See also** **extendFrameIntoClientArea** ().
        """
        ...

    @typing.overload
    def resetExtendedFrame(self, window: QtWidgets.QWidget) -> None:
        """
        https://doc.qt.io/qt-5/qtwin.html#resetExtendedFrame-1

        **void QtWin::resetExtendedFrame(QWidget * window )**

        This function overloads **QtWin::resetExtendedFrame** ().

        This function was introduced in Qt 5.2.
        """
        ...

    @typing.overload
    def extendFrameIntoClientArea(
        self, window: QtGui.QWindow, left: int, top: int, right: int, bottom: int
    ) -> None:
        """
        https://doc.qt.io/qt-5/qtwin.html#extendFrameIntoClientArea

        **void QtWin::extendFrameIntoClientArea(QWindow * window , int left ,
        int top , int right , int bottom )**

        Extends the glass frame into the client area of the specified **window**
        using the **left** , **top** , **right** , and **bottom** margin values.

        Pass -1 as values for any of the four margins to fully extend the frame,
        creating a **sheet of glass** effect.

        If you want the extended frame to act like a standard window border, you
        should handle that yourself.

        **Note:****Qt::WA_NoSystemBackground**  must not be set on widgets for
        extendFrameIntoClientArea() to work.

        This function was introduced in Qt 5.2.

        **See also** **resetExtendedFrame** ().
        """
        ...

    @typing.overload
    def extendFrameIntoClientArea(
        self, window: QtGui.QWindow, margins: QtCore.QMargins
    ) -> None:
        """
        https://doc.qt.io/qt-5/qtwin.html#extendFrameIntoClientArea-1

        **void QtWin::extendFrameIntoClientArea(QWindow * window , const
        QMargins & margins )**

        This function overloads **QtWin::extendFrameIntoClientArea** ().

        Extends the glass frame into the client area of the specified **window**
        using the specified **margins**.

        This function was introduced in Qt 5.2.
        """
        ...

    @typing.overload
    def extendFrameIntoClientArea(
        self, window: QtWidgets.QWidget, margins: QtCore.QMargins
    ) -> None:
        """
        https://doc.qt.io/qt-5/qtwin.html#extendFrameIntoClientArea-2

        **void QtWin::extendFrameIntoClientArea(QWidget * window , const
        QMargins & margins )**

        This function overloads **QtWin::extendFrameIntoClientArea** ().

        Convenience overload that allows passing frame sizes in a **margins**
        structure.

        This function was introduced in Qt 5.2.
        """
        ...

    @typing.overload
    def extendFrameIntoClientArea(
        self, window: QtWidgets.QWidget, left: int, top: int, right: int, bottom: int
    ) -> None:
        """
        https://doc.qt.io/qt-5/qtwin.html#extendFrameIntoClientArea-3

        **void QtWin::extendFrameIntoClientArea(QWidget * window , int left ,
        int top , int right , int bottom )**

        This function overloads **QtWin::extendFrameIntoClientArea** ().

        This function was introduced in Qt 5.2.
        """
        ...

    @typing.overload
    def windowFlip3DPolicy(self, a0: QtGui.QWindow) -> "QtWin.WindowFlip3DPolicy":
        """
        https://doc.qt.io/qt-5/qtwin.html#windowFlip3DPolicy

        **QtWin::WindowFlip3DPolicy QtWin::windowFlip3DPolicy(QWindow * window
        )**

        Returns the current Flip3D policy for the specified **window**.

        This function was introduced in Qt 5.2.

        **See also** **setWindowFlip3DPolicy** ().
        """
        ...

    @typing.overload
    def windowFlip3DPolicy(
        self, window: QtWidgets.QWidget
    ) -> "QtWin.WindowFlip3DPolicy":
        """
        https://doc.qt.io/qt-5/qtwin.html#windowFlip3DPolicy-1

        **QtWin::WindowFlip3DPolicy QtWin::windowFlip3DPolicy(QWidget * window
        )**

        This function overloads **QtWin::windowFlip3DPolicy** ().

        This function was introduced in Qt 5.2.
        """
        ...

    @typing.overload
    def setWindowFlip3DPolicy(
        self, window: QtGui.QWindow, policy: "QtWin.WindowFlip3DPolicy"
    ) -> None:
        """
        https://doc.qt.io/qt-5/qtwin.html#setWindowFlip3DPolicy

        **void QtWin::setWindowFlip3DPolicy(QWindow * window ,
        QtWin::WindowFlip3DPolicy policy )**

        Sets the Flip3D policy **policy** for the specified **window**.

        This function was introduced in Qt 5.2.

        **See also** **windowFlip3DPolicy** ().
        """
        ...

    @typing.overload
    def setWindowFlip3DPolicy(
        self, window: QtWidgets.QWidget, policy: "QtWin.WindowFlip3DPolicy"
    ) -> None:
        """
        https://doc.qt.io/qt-5/qtwin.html#setWindowFlip3DPolicy-1

        **void QtWin::setWindowFlip3DPolicy(QWidget * window ,
        QtWin::WindowFlip3DPolicy policy )**

        This function overloads **QtWin::setWindowFlip3DPolicy** ().

        This function was introduced in Qt 5.2.
        """
        ...

    @typing.overload
    def isWindowPeekDisallowed(self, window: QtGui.QWindow) -> bool:
        """
        https://doc.qt.io/qt-5/qtwin.html#isWindowPeekDisallowed

        **bool QtWin::isWindowPeekDisallowed(QWindow * window )**

        Returns true if Aero Peek is disallowed on the thumbnail of the
        specified **window**.

        This function was introduced in Qt 5.2.
        """
        ...

    @typing.overload
    def isWindowPeekDisallowed(self, window: QtWidgets.QWidget) -> bool:
        """
        https://doc.qt.io/qt-5/qtwin.html#isWindowPeekDisallowed-1

        **bool QtWin::isWindowPeekDisallowed(QWidget * window )**

        This function overloads **QtWin::isWindowPeekDisallowed** ().

        This function was introduced in Qt 5.2.
        """
        ...

    @typing.overload
    def setWindowDisallowPeek(self, window: QtGui.QWindow, disallow: bool) -> None:
        """
        https://doc.qt.io/qt-5/qtwin.html#setWindowDisallowPeek

        **void QtWin::setWindowDisallowPeek(QWindow * window , bool disallow )**

        Disables Aero Peek for the specified **window** when hovering over the
        taskbar thumbnail of the window with the mouse pointer if **disallow**
        is true; otherwise allows it.

        The default is false.

        This function was introduced in Qt 5.2.
        """
        ...

    @typing.overload
    def setWindowDisallowPeek(self, window: QtWidgets.QWidget, disallow: bool) -> None:
        """
        https://doc.qt.io/qt-5/qtwin.html#setWindowDisallowPeek-1

        **void QtWin::setWindowDisallowPeek(QWidget * window , bool disallow )**

        This function overloads **QtWin::setWindowDisallowPeek** ().

        This function was introduced in Qt 5.2.
        """
        ...

    @typing.overload
    def isWindowExcludedFromPeek(self, window: QtGui.QWindow) -> bool:
        """
        https://doc.qt.io/qt-5/qtwin.html#isWindowExcludedFromPeek

        **bool QtWin::isWindowExcludedFromPeek(QWindow * window )**

        Returns true if the specified **window** is excluded from Aero Peek.

        This function was introduced in Qt 5.2.
        """
        ...

    @typing.overload
    def isWindowExcludedFromPeek(self, window: QtWidgets.QWidget) -> bool:
        """
        https://doc.qt.io/qt-5/qtwin.html#isWindowExcludedFromPeek-1

        **bool QtWin::isWindowExcludedFromPeek(QWidget * window )**

        This function overloads **QtWin::isWindowExcludedFromPeek** ().

        This function was introduced in Qt 5.2.
        """
        ...

    @typing.overload
    def setWindowExcludedFromPeek(self, window: QtGui.QWindow, exclude: bool) -> None:
        """
        https://doc.qt.io/qt-5/qtwin.html#setWindowExcludedFromPeek

        **void QtWin::setWindowExcludedFromPeek(QWindow * window , bool exclude
        )**

        Excludes the specified **window** from Aero Peek if **exclude** is true.

        This function was introduced in Qt 5.2.

        **See also** **isWindowExcludedFromPeek** ().
        """
        ...

    @typing.overload
    def setWindowExcludedFromPeek(
        self, window: QtWidgets.QWidget, exclude: bool
    ) -> None:
        """
        https://doc.qt.io/qt-5/qtwin.html#setWindowExcludedFromPeek-1

        **void QtWin::setWindowExcludedFromPeek(QWidget * window , bool exclude
        )**

        This function overloads **QtWin::setWindowExcludedFromPeek** ().

        This function was introduced in Qt 5.2.
        """
        ...

    def realColorizationColor(self) -> QtGui.QColor:
        """
        https://doc.qt.io/qt-5/qtwin.html#realColorizationColor

        **QColor QtWin::realColorizationColor()**

        Returns the real colorization color, set by the user, using an
        undocumented registry key. The API-based function
        `getColorizationColor()` returns an alpha-blended color which often
        turns out a semitransparent gray rather than something similar to what
        is chosen by the user.

        This function was introduced in Qt 5.2.

        **See also** **colorizationColor** ().
        """
        ...

    def colorizationColor(self) -> typing.Tuple[QtGui.QColor, bool]:
        """
        https://doc.qt.io/qt-5/qtwin.html#colorizationColor

        **QColor QtWin::colorizationColor(bool * opaqueBlend = nullptr)**

        Returns the DWM colorization color. After the function returns, the
        optional **opaqueBlend** will contain true if the color is an opaque
        blend and false otherwise.

        This function was introduced in Qt 5.2.
        """
        ...

    def errorStringFromHresult(self, hresult: int) -> str:
        """
        https://doc.qt.io/qt-5/qtwin.html#errorStringFromHresult

        **QString QtWin::errorStringFromHresult(int hresult )**

        Returns the code name of the **hresult** error id specified (usually the
        name of the WinAPI macro) or an empty string if the message is unknown.

        This function was introduced in Qt 5.2.
        """
        ...

    def stringFromHresult(self, hresult: int) -> str:
        """
        https://doc.qt.io/qt-5/qtwin.html#stringFromHresult

        **QString QtWin::stringFromHresult(int hresult )**

        Returns a message string that explains the **hresult** error id
        specified or an empty string if the explanation cannot be found.

        This function was introduced in Qt 5.2.
        """
        ...

    def fromHRGN(self, hrgn: PyQt5.sip.voidptr) -> QtGui.QRegion:
        """
        https://doc.qt.io/qt-5/qtwin.html#fromHRGN

        **QRegion QtWin::fromHRGN(HRGN hrgn )**

        Returns a **QRegion**  that is equivalent to the given **hrgn**.

        This function was introduced in Qt 5.2.
        """
        ...

    def toHRGN(self, region: QtGui.QRegion) -> PyQt5.sip.voidptr:
        """
        https://doc.qt.io/qt-5/qtwin.html#toHRGN

        **HRGN QtWin::toHRGN(const QRegion & region )**

        Returns a HRGN that is equivalent to the given **region**.

        This function was introduced in Qt 5.2.
        """
        ...

    def fromHICON(self, icon: PyQt5.sip.voidptr) -> QtGui.QPixmap:
        """
        https://doc.qt.io/qt-5/qtwin.html#fromHICON

        **QPixmap QtWin::fromHICON(HICON icon )**

        Returns a **QPixmap**  that is equivalent to the given **icon**.

        This function was introduced in Qt 5.2.

        **See also** **toHICON** ().
        """
        ...

    def imageFromHBITMAP(
        self, hdc: PyQt5.sip.voidptr, bitmap: PyQt5.sip.voidptr, width: int, height: int
    ) -> QtGui.QImage:
        """
        https://doc.qt.io/qt-5/qtwin.html#imageFromHBITMAP

        **QImage QtWin::imageFromHBITMAP(int hdc , HBITMAP bitmap , int width ,
        int height )**

        Returns a **QImage**  that is equivalent to the given **bitmap**. The
        conversion is based on the specified `HDC` context **hdc** using the
        specified **width** and **height**.

        This function was introduced in Qt 5.2.

        **See also** **toHBITMAP** ().
        """
        ...

    def toHICON(self, p: QtGui.QPixmap) -> PyQt5.sip.voidptr:
        """
        https://doc.qt.io/qt-5/qtwin.html#toHICON

        **HICON QtWin::toHICON(const QPixmap & p )**

        Creates a `HICON` equivalent of the **QPixmap**  **p**. Returns the
        `HICON` handle.

        It is the caller's responsibility to free the `HICON` data after use.

        This function was introduced in Qt 5.2.

        **See also** **fromHICON** ().
        """
        ...

    def fromHBITMAP(
        self, bitmap: PyQt5.sip.voidptr, format: "QtWin.HBitmapFormat" = ...
    ) -> QtGui.QPixmap:
        """
        https://doc.qt.io/qt-5/qtwin.html#fromHBITMAP

        **QPixmap QtWin::fromHBITMAP(HBITMAP bitmap , QtWin::HBitmapFormat
        format = HBitmapNoAlpha)**

        Returns a **QPixmap**  that is equivalent to the given **bitmap**. The
        conversion is based on the specified **format**.

        This function was introduced in Qt 5.2.

        **See also** **toHBITMAP** ().
        """
        ...

    def toHBITMAP(
        self, p: QtGui.QPixmap, format: "QtWin.HBitmapFormat" = ...
    ) -> PyQt5.sip.voidptr:
        """
        https://doc.qt.io/qt-5/qtwin.html#toHBITMAP

        **HBITMAP QtWin::toHBITMAP(const QPixmap & p , QtWin::HBitmapFormat
        format = HBitmapNoAlpha)**

        Creates a `HBITMAP` equivalent of the **QPixmap**  **p** , based on the
        given **format**. Returns the `HBITMAP` handle.

        It is the caller's responsibility to free the `HBITMAP` data after use.

        This function was introduced in Qt 5.2.

        **See also** **fromHBITMAP** ().
        """
        ...

    def createMask(self, bitmap: QtGui.QBitmap) -> PyQt5.sip.voidptr:
        """
        https://doc.qt.io/qt-5/qtwin.html#createMask

        **HBITMAP QtWin::createMask(const QBitmap & bitmap )**

        Creates a `HBITMAP` equivalent of the **QBitmap**  **bitmap**.

        It is the caller's responsibility to free the `HBITMAP` data after use.

        This function was introduced in Qt 5.2.

        **See also** **toHBITMAP** ().
        """
        ...
