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

import cython
from .core import *

class ThemeColorImGui(baseTheme):
    """
    Theme color parameters that affect how ImGui
    renders items.
    All colors accept three formats:
    - unsigned (encodes a rgba little-endian)
    - (r, g, b, a) with r, g, b, a as integers.
    - (r, g, b, a) with r, g, b, a as floats.

    When r, g, b, a are floats, they should be normalized
    between 0 and 1, while integers are between 0 and 255.
    If a is missing, it defaults to 255.

    Keyword Arguments:
        Text: Color for text rendering
        TextDisabled: Color for the text of disabled items
        WindowBg: Background of normal windows
        ChildBg:  Background of child windows
        PopupBg: Background of popups, menus, tooltips windows
        Border: Color of borders
        BorderShadow: Color of border shadows
        FrameBg: Background of checkbox, radio button, plot, slider, text input
        FrameBgHovered: Color of FrameBg when the item is hovered
        FrameBgActive: Color of FrameBg when the item is active
        TitleBg: Title bar
        TitleBgActive: Title bar when focused
        TitleBgCollapsed: Title bar when collapsed
        MenuBarBg: Background color of the menu bar
        ScrollbarBg: Background color of the scroll bar
        ScrollbarGrab: Color of the scroll slider
        ScrollbarGrabHovered: Color of the scroll slider when hovered
        ScrollbarGrabActive: Color of the scroll slider when selected
        CheckMark: Checkbox tick and RadioButton circle
        SliderGrab: Color of sliders
        SliderGrabActive: Color of selected sliders
        Button: Color of buttons
        ButtonHovered: Color of buttons when hovered
        ButtonActive: Color of buttons when selected
        Header: Header* colors are used for CollapsingHeader, TreeNode, Selectable, MenuItem
        HeaderHovered: Header color when hovered
        HeaderActive: Header color when clicked
        Separator: Color of separators
        SeparatorHovered: Color of separator when hovered
        SeparatorActive: Color of separator when active
        ResizeGrip: Resize grip in lower-right and lower-left corners of windows.
        ResizeGripHovered: ResizeGrip when hovered
        ResizeGripActive: ResizeGrip when clicked
        TabHovered: Tab background, when hovered
        Tab: Tab background, when tab-bar is focused & tab is unselected
        TabSelected: Tab background, when tab-bar is focused & tab is selected
        TabSelectedOverline: Tab horizontal overline, when tab-bar is focused & tab is selected
        TabDimmed: Tab background, when tab-bar is unfocused & tab is unselected
        TabDimmedSelected: Tab background, when tab-bar is unfocused & tab is selected
        TabDimmedSelectedOverline: ..horizontal overline, when tab-bar is unfocused & tab is selected
        PlotLines: Color of SimplePlot lines
        PlotLinesHovered: Color of SimplePlot lines when hovered
        PlotHistogram: Color of SimplePlot histogram
        PlotHistogramHovered: Color of SimplePlot histogram when hovered
        TableHeaderBg: Table header background
        TableBorderStrong: Table outer and header borders (prefer using Alpha=1.0 here)
        TableBorderLight: Table inner borders (prefer using Alpha=1.0 here)
        TableRowBg: Table row background (even rows)
        TableRowBgAlt: Table row background (odd rows)
        TextLink: Hyperlink color
        TextSelectedBg: Color of the background of selected text
        DragDropTarget: Rectangle highlighting a drop target
        NavHighlight: Gamepad/keyboard: current highlighted item
        NavWindowingHighlight: Highlight window when using CTRL+TAB
        NavWindowingDimBg: Darken/colorize entire screen behind the CTRL+TAB window list, when active
        ModalWindowDimBg: Darken/colorize entire screen behind a modal window, when one is active
    """
    def __dir__(self): # -> list:
        ...
    
    def __getattr__(self, name): # -> ImU32 | None:
        ...
    
    def __getitem__(self, key): # -> ImU32 | None:
        ...
    
    def __setattr__(self, name, value): # -> None:
        ...
    
    def __setitem__(self, key, value): # -> None:
        ...
    
    def __iter__(self): # -> Iterator:
        ...
    


@cython.no_gc_clear
class ThemeColorImPlot(baseTheme):
    def __dir__(self): # -> list:
        ...
    
    def __getattr__(self, name): # -> ImU32 | None:
        ...
    
    def __getitem__(self, key): # -> ImU32 | None:
        ...
    
    def __setattr__(self, name, value): # -> None:
        ...
    
    def __setitem__(self, key, value): # -> None:
        ...
    
    def __iter__(self): # -> Iterator:
        ...
    


@cython.no_gc_clear
class ThemeColorImNodes(baseTheme):
    def __dir__(self): # -> list[str | bytes]:
        ...
    
    def __getattr__(self, name): # -> ImU32 | None:
        ...
    
    def __getitem__(self, key): # -> ImU32 | None:
        ...
    
    def __setattr__(self, name, value): # -> None:
        ...
    
    def __setitem__(self, key, value): # -> None:
        ...
    
    def __iter__(self): # -> Iterator:
        ...
    


class ThemeStyleImGui(baseTheme):
    def __dir__(self): # -> list:
        ...
    
    def __getattr__(self, name): # -> tuple[float, float] | float | None:
        ...
    
    def __getitem__(self, key): # -> tuple[float, float] | float | None:
        ...
    
    def __setattr__(self, name, value): # -> None:
        ...
    
    def __setitem__(self, key, value): # -> None:
        ...
    
    def __iter__(self): # -> Iterator:
        ...
    


class ThemeStyleImPlot(baseTheme):
    def __dir__(self): # -> list:
        ...
    
    def __getattr__(self, name): # -> tuple[float, float] | int | float | None:
        ...
    
    def __getitem__(self, key): # -> tuple[float, float] | int | float | None:
        ...
    
    def __setattr__(self, name, value): # -> None:
        ...
    
    def __setitem__(self, key, value): # -> None:
        ...
    
    def __iter__(self): # -> Iterator:
        ...
    


class ThemeStyleImNodes(baseTheme):
    def __dir__(self): # -> list:
        ...
    
    def __getattr__(self, name): # -> tuple[float, float] | float | None:
        ...
    
    def __getitem__(self, key): # -> tuple[float, float] | float | None:
        ...
    
    def __setattr__(self, name, value): # -> None:
        ...
    
    def __setitem__(self, key, value): # -> None:
        ...
    
    def __iter__(self): # -> Iterator:
        ...
    


class ThemeList(baseTheme):
    ...


class ThemeListWithCondition(baseTheme):
    @property
    def condition_enabled(self): # -> theme_enablers:
        """
        Writable attribute: As long as it is active, the theme list
        waits to be applied that the conditions are met.
        enabled condition: 0: no condition. 1: enabled must be true. 2: enabled must be false
        """
        ...
    
    @condition_enabled.setter
    def condition_enabled(self, value: theme_enablers): # -> None:
        ...
    
    @property
    def condition_category(self): # -> theme_categories:
        """
        Writable attribute: As long as it is active, the theme list
        waits to be applied that the conditions are met.
        category condition: 0: no condition. other value: see list
        """
        ...
    
    @condition_category.setter
    def condition_category(self, value: theme_categories): # -> None:
        ...
    


class ThemeStopCondition(baseTheme):
    ...


