# mypy: disable-error-code="misc, override, attr-defined, no-redef, assignment"

import QT4FormWidgets as QT4FormWidgets
import QT4GLLayerStack as QT4GLLayerStack
import QT4GLLayerStack.LayerStack
import QT4Widgets as QT4Widgets
import PyQt5.QtCore as QtCore
import PyUtilModule.RenderManager as RenderManager
import Utils as Utils
from QT4FormWidgets.GroupFormWidget import GroupFormWidget
from QT4GLLayerStack.RectangleLayer import RectangleLayer
from UI4.FormMaster.Editors.Layers.LayerWithTransform import LayerWithTransform as LayerWithTransform
from UI4.FormMaster.Editors.Layers.PolicyHelpers import GetPolicyState as GetPolicyState, GetPolicyStateColor as GetPolicyStateColor
from UI4.Util.GLDrawingRoutines import drawSmoothHandle as drawSmoothHandle, drawSmoothPoly as drawSmoothPoly
from UI4.Widgets.MonitorManipulatorButton import MonitorManipulatorButton as MonitorManipulatorButton
from UI4.Widgets.ResolutionComboBox import ResolutionComboBox as ResolutionComboBox
from _typeshed import Incomplete
from typing import Set, Tuple

class ReadOnlySimpleRectManipulatorLayer(SimpleRectManipulatorLayer):
    def defaultProcessEvent(self, event): ...

class RectEditorFormWidget(GroupFormWidget):
    def __init__(self, parent, policy, factory) -> None: ...
    def _RectEditorFormWidget__copy_fromMonitorROI_CB(self): ...
    def _RectEditorFormWidget__copy_toMonitorROI_CB(self): ...
    def _RectEditorFormWidget__menuAboutToShow(self, menu): ...
    def _RectEditorFormWidget__on_resolutionComboBox_itemChosen(self, text: str, meta: str): ...
    def _RectEditorFormWidget__updateComboBox(self, valuePolicyEvent: Incomplete | None = ...): ...
    def _buildControlWidget(self, layout): ...
    def _freeze(self): ...
    def _participatesInLabelAlignment(self) -> bool: ...
    def _thaw(self): ...

class RectManipulatorLayer(RectangleLayer):
    def __init__(self, valuePolicy, *args, **kwargs) -> None: ...
    def _RectManipulatorLayer__valuePolicy_CB(self, arg: Incomplete | None = ...): ...
    def _dothaw(self): ...
    def getDataWindow(self): ...
    def getDisplayWindow(self): ...
    def setRectangle(self, rect): ...

class SimpleRectManipulatorLayer(LayerWithTransform, QT4GLLayerStack.LayerStack.Layer):
    def __init__(self, valuePolicy, *args, **kwargs) -> None: ...
    def _SimpleRectManipulatorLayer__valuePolicy_CB(self, arg: Incomplete | None = ...): ...
    def _dothaw(self): ...
    def defaultProcessEvent(self, event): ...
    def drawBoundsHandles(self, pick: bool = ...): ...
    def drawOutline(self, pick: bool = ...): ...
    def getDataWindow(self): ...
    def getDisplayWindow(self): ...
    def getOriginLock(self): ...
    def getRect(self): ...
    def getRectStates(self): ...
    def getValuePolicy(self): ...
    def paintGL(self): ...
    def pickBoundsHandle(self, x, y): ...
    def pickOutline(self, x, y): ...
    def processDragHandleEvent(self, event): ...
    def setOriginLock(self, isLocked): ...
    def setRect(self, rect, final): ...
