Reference API stylů
Kompletní API reference pro třídu Styles, dostupnou přes engine.styles.
set_type(type: str)
Nastaví typ renderu. Platné hodnoty: 'adaptive', 'strict'. Pro neznámý typ vyhodí ValueError.
set_style(style: str)
Přepne aktivní preset styl. Výchozí preset je 'classic'. Další presety lze registrovat přes define_style(). Pro neznámý styl vyhodí ValueError.
set_custom_style(*, key, option=None, value)
Přepíše jednu vlastnost stylu. Chování závisí na klíči:
| Kategorie klíče | Klíče | Přijímané hodnoty |
|---|---|---|
| Pouze RGB | background, prompt_background, border, text_color, unselected_text, selected_background, selected_text | RGB trojice (r, g, b) |
| Bool/RGB | shadow, text_background, unselected_background | False nebo RGB trojice. shadow přijímá i True (auto-blend) |
| Volby | text | Vyžaduje option parametr ('bold', 'italic', 'underline', 'dim') + bool hodnota |
Automaticky spustí přepočet cache stylů.
remove_custom_style(key, option=None)
Resetuje vlastní přepisy zpět na None (použije preset). Přijímá jeden klíč nebo seznam klíčů. U klíče 'text' předávejte option jako string nebo seznam option názvů.
engine.styles.remove_custom_style('border')
engine.styles.remove_custom_style(['shadow', 'selected_text'])
engine.styles.remove_custom_style('text', option=['bold', 'dim'])define_style(*, name, config)
Registruje nový preset styl. Konfigurační slovník musí mít přesně stejné klíče jako classic preset. Pokud klíče nesedí, vyhodí ValueError. Název nesmí kolidovat s existujícím presetem.
cached_styles
Read-only slovník obsahující plně vyřešené styly (preset + vlastní přepisy). Toto čte RenderEngine při kreslení komponent. Automaticky se aktualizuje pomocí _cache_styles() po jakékoli změně stylu.
Utility funkce
Tyto modulové funkce podporují systém stylů:
| Funkce | Signatura | Popis |
|---|---|---|
| text_color | text_color(r, g, b) -> str | Vrací ANSI escape kód pro 24-bit barvu popředí |
| background_color | background_color(r, g, b) -> str | Vrací ANSI escape kód pro 24-bit barvu pozadí |
| is_rgb | is_rgb(value) -> bool | Ověří, že hodnota je 3-tice int/float v rozsahu 0–255 |
| blend_shadow | blend_shadow(bg, fg, intensity=0.3) -> tuple | Míchá dvě RGB barvy pro stínové efekty |
| visual_width | visual_width(s) -> int | Vrací vizuální šířku řetězce pomocí wcwidth (CJK, emoji) |