"""
This type stub file was generated by pyright.
"""

from .vtkPlot import vtkPlot

class vtkRangeHandlesItem(vtkPlot):
    """
    vtkRangeHandlesItem - item to show and control the range of a
    vtkColorTransferFunction
    
    Superclass: vtkPlot
    
    vtkRangeHandlesItem provides range handles painting and management
    for a provided vtkColorTransferFunction. Handles can be moved by
    clicking on them. The range is shown when hovering or moving the
    handles. It emits a StartInteractionEvent when starting to interact
    with a handle, an InteractionEvent when interacting with a handle and
    an EndInteractionEvent when releasing a handle. It emits a
    LeftMouseButtonDoubleClickEvent when double clicked.
    
    @sa
    vtkControlPointsItem vtkScalarsToColorsItem
    vtkColorTransferFunctionItem
    """
    def ComputeHandlesDrawRange(self):
        """
        V.ComputeHandlesDrawRange()
        C++: void ComputeHandlesDrawRange()
        
        Compute the handles draw range by using the handle width and the
        transfer function
        """
        ...
    
    def GetBounds(self, p_float=..., p_float=..., p_float=..., p_float=...):
        """
        V.GetBounds([float, float, float, float])
        C++: void GetBounds(double bounds[4]) override;
        
        Recover the bounds of the item
        """
        ...
    
    def GetColorTransferFunction(self):
        """
        V.GetColorTransferFunction() -> vtkColorTransferFunction
        C++: virtual vtkColorTransferFunction *GetColorTransferFunction()
        
        Get/set the color transfer function to interact with.
        """
        ...
    
    def GetHandlesRange(self, p_float=..., p_float=...):
        """
        V.GetHandlesRange([float, float])
        C++: virtual void GetHandlesRange(double range[2])
        
        Recover the range currently set by the handles Use this method by
        observing EndInteractionEvent
        """
        ...
    
    def GetHandleWidth(self):
        """
        V.GetHandleWidth() -> float
        C++: virtual float GetHandleWidth()
        
        Set/Get the handles width in pixels. Default is 2.
        """
        ...
    
    def GetNumberOfGenerationsFromBase(self, string):
        """
        V.GetNumberOfGenerationsFromBase(string) -> int
        C++: vtkIdType GetNumberOfGenerationsFromBase(const char *type)
            override;
        
        Given a the name of a base class of this class type, return the
        distance of inheritance between this class type and the named
        class (how many generations of inheritance are there between this
        class and the named class). If the named class is not in this
        class's inheritance tree, return a negative value. Valid
        responses will always be nonnegative. This method works in
        combination with vtkTypeMacro found in vtkSetGet.h.
        """
        ...
    
    def GetNumberOfGenerationsFromBaseType(self, string):
        """
        V.GetNumberOfGenerationsFromBaseType(string) -> int
        C++: static vtkIdType GetNumberOfGenerationsFromBaseType(
            const char *type)
        
        Given a the name of a base class of this class type, return the
        distance of inheritance between this class type and the named
        class (how many generations of inheritance are there between this
        class and the named class). If the named class is not in this
        class's inheritance tree, return a negative value. Valid
        responses will always be nonnegative. This method works in
        combination with vtkTypeMacro found in vtkSetGet.h.
        """
        ...
    
    def IsA(self, string):
        """
        V.IsA(string) -> int
        C++: vtkTypeBool IsA(const char *type) override;
        
        Return 1 if this class is the same type of (or a subclass of) the
        named class. Returns 0 otherwise. This method works in
        combination with vtkTypeMacro found in vtkSetGet.h.
        """
        ...
    
    def IsTypeOf(self, string):
        """
        V.IsTypeOf(string) -> int
        C++: static vtkTypeBool IsTypeOf(const char *type)
        
        Return 1 if this class type is the same type of (or a subclass
        of) the named class. Returns 0 otherwise. This method works in
        combination with vtkTypeMacro found in vtkSetGet.h.
        """
        ...
    
    def NewInstance(self):
        """
        V.NewInstance() -> vtkRangeHandlesItem
        C++: vtkRangeHandlesItem *NewInstance()
        """
        ...
    
    def Paint(self, vtkContext2D):
        """
        V.Paint(vtkContext2D) -> bool
        C++: bool Paint(vtkContext2D *painter) override;
        
        Paint both handles and the range if a handle is active or hovered
        """
        ...
    
    def SafeDownCast(self, vtkObjectBase):
        """
        V.SafeDownCast(vtkObjectBase) -> vtkRangeHandlesItem
        C++: static vtkRangeHandlesItem *SafeDownCast(vtkObjectBase *o)
        """
        ...
    
    def SetColorTransferFunction(self, vtkColorTransferFunction):
        """
        V.SetColorTransferFunction(vtkColorTransferFunction)
        C++: void SetColorTransferFunction(vtkColorTransferFunction *ctf)
        
        Get/set the color transfer function to interact with.
        """
        ...
    
    def SetHandleWidth(self, p_float):
        """
        V.SetHandleWidth(float)
        C++: virtual void SetHandleWidth(float _arg)
        
        Set/Get the handles width in pixels. Default is 2.
        """
        ...
    
    def __delattr__(self, *args, **kwargs):
        """ Implement delattr(self, name). """
        ...
    
    def __getattribute__(self, *args, **kwargs):
        """ Return getattr(self, name). """
        ...
    
    def __init__(self, *args, **kwargs) -> None:
        ...
    
    @staticmethod
    def __new__(*args, **kwargs):
        """ Create and return a new object.  See help(type) for accurate signature. """
        ...
    
    def __repr__(self, *args, **kwargs):
        """ Return repr(self). """
        ...
    
    def __setattr__(self, *args, **kwargs):
        """ Implement setattr(self, name, value). """
        ...
    
    def __str__(self, *args, **kwargs) -> str:
        """ Return str(self). """
        ...
    
    __this__ = ...
    Handle = ...
    LEFT_HANDLE = ...
    NO_HANDLE = ...
    RIGHT_HANDLE = ...
    __dict__ = ...
    __vtkname__ = ...


