13 ΠΌΠ°Ρ, ΠΏΠΎΡΠ»Π΅ Π±ΠΎΠ»Π΅Π΅ Π³ΠΎΠ΄Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ, ΡΠΎΡΡΠΎΡΠ»ΡΡ Π²ΡΠΏΡΡΠΊ 7.0.0 ΠΊΡΠΎΡΡΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅Π½Π½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ FTXUI, eyenzelwe ukudala izicelo ze-C ++ nge-interface yombhalo kwaye isasazwe phantsi kwelayisenisi ye-MIT.
Iimpawu zethala leencwadi:
- isimbo sokusebenza, esifana neReact JS;
- isitayile esilula nesibukekayo (ngokombhali wethala leencwadi);
- ukuphatha imicimbi yebhodibhodi kunye nemouse;
- UTF8 kunye nenkxaso ye-Unicode;
- Inkxaso yoMbala wokwenyani;
- inkxaso yokutshintsha isimbo sekhesa;
- inkxaso yopopayi;
- umzobo inkxaso;
- akukho kuxhomekeka kumntu wesithathu;
- iqonga elinqamlezileyo (Linux/MacOS, iWebAssembly, Windows).
Utshintsho
Amaxwebhu
- ΠΡΠΏΡΠ°Π²Π»Π΅Π½Π° Π³Π΅Π½Π΅ΡΠ°ΡΠΈΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ Ρ Doxygen.
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½Π°Ρ ΡΠ΅ΠΌΠ° Π΄Π»Ρ Doxygen.
- Π Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ Π½Π° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΡΠ°Π½ΠΈΡ.
Ukudityaniswa
- ΠΠΎΠ±Π°Π²Π»Π΅Π½ ΡΠΊΡΠΈΠΏΡ tools$ amalgamate.py Π΄Π»Ρ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ Β«Π°ΠΌΠ°Π»ΡΠ³Π°ΠΌΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎΒ» ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°: ftxui.cpp (534 KΠ±), ftxui.hpp (110 ΠΠ±) ΠΈ ftxui_all.hpp (643 ΠΠ±).
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ C++20.
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Meson.
- Π£Π΄Π°Π»Π΅Π½Π° Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡ ΠΎΡ pthread.
- ΠΡΠΏΡΠ°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Bazel.
- ΠΡΡΠ³ΠΈΠ΅ ΡΠ»ΡΡΡΠ΅Π½ΠΈΡ.
ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΠΈ Ρ ΠΏΡΠΎΡΠ»ΡΠΌΠΈ Π²Π΅ΡΡΠΈΡΠΌΠΈ
- ΠΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²ΡΠ²Π°Π½ΠΈΡ:
- Pixel Π² `Cell
- Image Π² Surface
- ScreenInteractive Π² App
- ΠΌΠ΅ΡΠΎΠ΄ PixelAt Π²CellAt
ΠΠ»Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΠΈ ΠΏΡΠ΅Π΄ΡΡΠΌΠΎΡΡΠ΅Π½Ρ ΠΏΡΠ΅Π²Π΄ΠΎΠ½ΠΈΠΌΡ ΠΈ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ, ΡΡΠΎΠ±Ρ Π½Π΅ Π½Π°ΡΡΡΠΈΡΡ ΡΠ°Π±ΠΎΡΡ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠ΅Π³ΠΎ ΠΊΠΎΠ΄Π°.
- ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ std::string_view Π²ΠΌΠ΅ΡΡΠΎ const std::string& ΡΠ°ΠΌ, Π³Π΄Π΅ ΡΡΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ. ΠΡΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ Π»ΡΡΡΡΡ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΡ ΡΠΎ ΡΡΡΠΎΠΊΠΎΠ²ΡΠΌΠΈ Π»ΠΈΡΠ΅ΡΠ°Π»Π°ΠΌΠΈ ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ Π½Π΅Π½ΡΠΆΠ½ΡΡ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΠΉ.
Izixhobo
- Π£Π»ΡΡΡΠ΅Π½Π° ΠΈ ΠΌΠΎΠ΄Π΅ΡΠ½ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ° ΠΏΠ΅ΡΠ΅Ρ Π²Π°ΡΠ° ΡΠΈΠ³Π½Π°Π»ΠΎΠ² Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ POSIX sigaction Π΄Π»Ρ Π½Π°Π΄Π΅ΠΆΠ½ΠΎΠ³ΠΎ ΠΌΠ°ΡΠΊΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠΈΠ³Π½Π°Π»ΠΎΠ². ΠΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½Π° Π·Π°ΡΠΈΡΠ° ΠΎΡ Π΄Π²ΠΎΠΉΠ½ΠΎΠ³ΠΎ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π° ΠΏΡΠΈ Π²ΡΡ ΠΎΠ΄Π΅ ΠΈΠ· ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π°ΡΠΎΠΌΠ°ΡΠ½ΠΎΠ³ΠΎ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΡ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ. ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΠΈΠ³Π½Π°Π»ΠΎΠ² POSIX (SIGBUS, SIGSYS, ΠΊΠ°ΠΊ ΡΠΈΠ³Π½Π°Π»ΠΎΠ² ΡΠ±ΠΎΡ, ΠΈ SIGQUIT, SIGHUP, ΠΊΠ°ΠΊ ΡΠΈΠ³Π½Π°Π»ΠΎΠ² ΠΎΡΠ»ΠΎΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ) ΠΈ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΡΡ ΡΠΈΠ³Π½Π°Π»ΠΎΠ².
- ΠΡΠΏΡΠ°Π²Π»Π΅Π½Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΊΡΡΡΠΎΡΠ° ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌΠΎΠ³ΠΎ Renderer Π²ΠΎ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°Ρ .
- ΠΡΠΏΡΠ°Π²Π»Π΅Π½ΠΎ ΠΏΠΎΠ·ΠΈΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΡΡΡΠΎΡΠ° Π² ΠΏΠΎΠ»ΡΡ Π²Π²ΠΎΠ΄Π° ΠΈ ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΠΎΡΡΡ ΠΏΡΠΎΠΊΡΡΡΠΊΠΈ.
- ΠΡΠΏΡΠ°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π½Π΅ ASCII ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ Π²Π²ΠΎΠ΄Π° ΠΏΠ°ΡΠΎΠ»Ρ.
- Π£ΡΡΡΠ°Π½Π΅Π½ΠΎ ΠΌΠ΅ΡΡΠ°Π½ΠΈΠ΅ ΠΊΡΡΡΠΎΡΠ° ΠΏΡΠΈ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠΎΠ²ΠΊΠ΅ Π² App.
- ΠΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π²Π²ΠΎΠ΄Π° Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ POSIX pipes
- ΠΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌ FTXUI ΡΡΠΈΡΡΠ²Π°ΡΡ Π΄Π°Π½Π½ΡΠ΅ ΠΈΠ· stdin (ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ pipe) ΠΈ ΠΏΡΠΈ ΡΡΠΎΠΌ ΠΏΠΎ-ΠΏΡΠ΅ΠΆΠ½Π΅ΠΌΡ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ Π²Π²ΠΎΠ΄ Ρ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΡ Π² ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π΅.
- ΠΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ.
- ΠΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ App::HandlePipedInput(false).
- Ifumaneka kuphela kwi Linux ΠΈ macOS.
- ΠΡΠΏΡΠ°Π²Π»Π΅Π½Ρ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ.
DOM
- ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄Π° ΡΡΡΠΎΠΊΠΈ (n) Π²Π½ΡΡΡΠΈ text() ΠΈ vtext().
- Π’Π΅ΠΏΠ΅ΡΡ dbox ΠΏΠ΅ΡΠ΅Π΄Π°Π΅Ρ ΡΠΎΠΊΡΡ ΠΎΡ Π²Π΅ΡΡ Π½ΠΈΡ ΡΠ»ΠΎΠ΅Π² ΠΊ Π½ΠΈΠΆΠ½ΠΈΠΌ, ΡΡΠΎ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΠΎΠΌΡ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ.
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π΄Π΅ΠΊΠΎΡΠ°ΡΠΎΡΠΎΠ² Π³ΡΠ°Π½ΠΈΡ ΡΠ°Π±Π»ΠΈΡ. ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ ΡΠ²Π΅Ρ Π³ΡΠ°Π½ΠΈΡ ΡΠ°Π±Π»ΠΈΡΡ.
- ΠΡΠΏΡΠ°Π²Π»Π΅Π½Π° ΠΎΡΠΈΠ±ΠΊΠ° ΡΠ΅Π»ΠΎΡΠΈΡΠ»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΏΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π² ComputeShrinkHard.
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ Π² vbox/hbox/dbox Π΄Π»Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° Element Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π²Ρ ΠΎΠ΄Π½ΡΡ Π΄Π°Π½Π½ΡΡ .
- Π gridbox ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΎ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π΄ΠΎΡΠ΅ΡΠ½ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ².
- ΠΡΠΏΡΠ°Π²Π»Π΅Π½ΠΎ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ gauge.
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈΠ·ΠΎΠ²Π°Π½Π½ΡΠ΅ Π²Π°ΡΠΈΠ°Π½ΡΡ Π΄Π΅ΠΊΠΎΡΠ°ΡΠΎΡΠΎΠ² flex Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌ _factor. ΠΠ½ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠ΅ ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½ΡΡ ΡΠ°ΡΡΡΠΆΠ΅Π½ΠΈΡ ΠΈΠ»ΠΈ ΡΠΆΠ°ΡΠΈΡ:
flex_factor(grow, shrink), flex_grow_factor(grow), flex_shrink_factor(shrink), Π° ΡΠ°ΠΊΠΆΠ΅ Π²Π°ΡΠΈΠ°Π½ΡΡ Π΄Π»Ρ ΠΎΡΠ΅ΠΉ x ΠΈ y.
ΠΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ
- ΠΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΠΊΡΡΡΠΎΡΠ° ΠΏΠΎ ΡΡΡΠΎΠΊΠ°ΠΌ Π² ΠΌΠ΅ΡΠΎΠ΄Π΅ Screen::ResetPosition (Π±Π΅Π· ΠΎΡΠΈΡΡΠΊΠΈ ΡΠΊΡΠ°Π½Π°) Π² ΠΎΠ΄ΠΈΠ½ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈΠ·ΠΎΠ²Π°Π½Π½ΡΠΉ Π½Π°Π±ΠΎΡ ΠΊΠΎΠΌΠ°Π½Π΄ CSI Π΄Π»Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΠΊΡΡΡΠΎΡΠ° Π²Π²Π΅ΡΡ (x1B[<n>A) Π²ΠΌΠ΅ΡΡΠΎ Π²ΡΠ²ΠΎΠ΄Π° ΠΎΠ΄Π½ΠΎΠ³ΠΎ x1B[1A Π½Π° ΠΊΠ°ΠΆΠ΄ΡΡ ΡΡΡΠΎΠΊΡ. ΠΡΠΎ ΡΠΌΠ΅Π½ΡΡΠΈΠ»ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠΊΡΠ°Π½ΠΈΡΡΡΡΠΈΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² Π½Π° ΠΊΠ°Π΄Ρ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠΎΠ²ΠΊΠΈ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ~197 -> 6 Π±Π°ΠΉΡΠΎΠ² Π΄Π»Ρ ΡΠΊΡΠ°Π½Π° Ρ 50 ΡΡΡΠΎΠΊΠ°ΠΌΠΈ, ~33-ΠΊΡΠ°ΡΠ½ΠΎΠ΅ ΡΠΌΠ΅Π½ΡΡΠ΅Π½ΠΈΠ΅).
- ΠΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Ρ Screen::ToString(), Color::Print() ΠΈ string_width(), ΡΡΠΎ ΡΡΠΊΠΎΡΠΈΠ»ΠΎ:
- ΠΠ°Π·ΠΎΠ²ΡΠΉ ΡΠ΅Π½Π΄Π΅ΡΠΈΠ½Π³ Π½Π° ~27%.
- Π Π΅Π½Π΄Π΅ΡΠΈΠ½Π³ ΡΠ΅ΠΊΡΡΠ° Π½Π° ~27%.
- Π Π΅Π½Π΄Π΅ΡΠΈΠ½Π³ ΡΡΠΈΠ»Π΅ΠΉ Π½Π° ~38%.
umthombo: linux.org.ru




