Am 28. MĂ€rz, nach mehr als anderthalb Jahren Entwicklung, fanden die Veröffentlichungen 6.0.0 und 6.0.1 der plattformĂŒbergreifenden Bibliothek statt FTXUI, die zur Erstellung von C++-Anwendungen mit textbasierten Schnittstellen gedacht ist und unter der MIT-Lizenz verbreitet wird.
Funktionen der Bibliothek:
- funktionaler Stil, Àhnlich wie bei React JS;
- ein einfacher und eleganter Stil (laut Meinung des Bibliotheksautors);
- Verarbeitung von Tastatur- und âMausâ-Ereignissen;
- UnterstĂŒtzung von UTF8 und Unicode;
- UnterstĂŒtzung von True Color;
- UnterstĂŒtzung der CursorstilĂ€nderung;
- UnterstĂŒtzung von Animationen;
- UnterstĂŒtzung von Zeichnen;
- keine externen AbhÀngigkeiten;
- PlattformunabhÀngigkeit (Linux/MacOS, WebAssembly, Windows).
Ănderungsprotokoll:
- Komponente:
- UnterstĂŒtzung fĂŒr rohen Eingaben hinzugefĂŒgt, was die Definition einer gröĂeren Anzahl von Tasten ermöglichte;
- ScreenInteractive::ForceHandleCtrlC(false) hinzugefĂŒgt, was es der Komponente ermöglicht, den Standard-Ctrl+C-Handler vollstĂ€ndig zu ĂŒberschreiben;
- Ereignisse Mouse::WheelLeft und Mouse::WheelRight hinzugefĂŒgt;
- Event::DebugString(); hinzugefĂŒgt;
- UnterstĂŒtzung fĂŒr den Eingabemodus und die Option InputOption::insert hinzugefĂŒgt;
- DropdownOption hinzugefĂŒgt, um das Dropdown-MenĂŒ anzupassen;
- UnterstĂŒtzung fĂŒr Auswahl und Funktionen ScreenInteractive::GetSelection() und ScreenInteractive::SelectionChange(...); hinzugefĂŒgt;
- ScreenInteractive::FullscreenPrimaryScreen() hinzugefĂŒgt, um das Anzeigen einer Vollbildkomponente auf dem Hauptscreen zu ermöglichen, anstatt auf dem alternativen;
- ComponentBase::Index() hinzugefĂŒgt, um den Index der Komponente im Elternteil zu erhalten;
- EntryState::index hinzugefĂŒgt, um den Index des MenĂŒpunkts zu erhalten;
- SliderOption::on_change hinzugefĂŒgt, um einen Handler fĂŒr die VerĂ€nderung des Schiebereglerwerts festzulegen;
- DOM:
- Kursivdekorator hinzugefĂŒgt;
- Horizontaler Indikator hscroll_indicator hinzugefĂŒgt;
- Dimension::Fit(..) hinzugefĂŒgt, um die Option extend_beyond_screen zu ermöglichen, damit das Element gröĂer als der Bildschirm sein kann;
- UnterstĂŒtzung fĂŒr Auswahl und Dekoratoren hinzugefĂŒgt:
- selectionColor;
- selectionBackgroundColor;
- selectionForegroundColor;
- selectionStyle(style);
- selectionStyleReset;
- Bildschirm:
- Funktion Box::IsEmpty(); hinzugefĂŒgt;
- UnterstĂŒtzung fĂŒr Transparenz und Funktionen hinzugefĂŒgt:
- Color::RGBA(r,g,b,a);
- Color::HSVA(r,g,b,a);
- Color::Blend(Color);
- Color::IsOpaque();
- Nutzung:
- UnterstĂŒtzung fĂŒr beliebigen Adapter fĂŒr ConstStringListRef hinzugefĂŒgt;
- Build:
- UnterstĂŒtzung fĂŒr den Bau mit CMake âunity/jumboâ hinzugefĂŒgt;
- Fehler behoben.
Auf dem Screenshot â die Utility rgb-tui vom Autor der Bibliothek.
Quelle: linux.org.ru
