FTXUI 7.0.0









13 мая, послС Π±ΠΎΠ»Π΅Π΅ Π³ΠΎΠ΄Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, состоялся выпуск 7.0.0 кроссплатформСнной Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ FTXUI, dirancang pikeun nyieun aplikasi C ++ kalawan panganteur tΓ©ks na disebarkeun dina lisΓ©nsi MIT.

Fitur perpustakaan:

  • gaya fungsional, sarupa jeung meta JS;
  • gaya basajan tur elegan (nurutkeun panulis perpustakaan);
  • nanganan acara keyboard jeung mouse;
  • rojongan UTF8 jeung Unicode;
  • rojongan Warna Leres;
  • rojongan pikeun ngarobah gaya kursor;
  • rojongan animasi;
  • rojongan gambar;
  • euweuh kagumantungan pihak katilu;
  • lintas platform (Linux/MacOS, WebAssembly, Windows).
Parobihan

DokumΓ©ntasi

  • Π˜ΡΠΏΡ€Π°Π²Π»Π΅Π½Π° гСнСрация Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ с Doxygen.
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° собствСнная Ρ‚Π΅ΠΌΠ° для Doxygen.
  • Π Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ Π½Π° нСсколько страниц.

Nyusun

  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½ скрипт 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& Ρ‚Π°ΠΌ, Π³Π΄Π΅ это Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ. Π­Ρ‚ΠΎ обСспСчиваСт Π»ΡƒΡ‡ΡˆΡƒΡŽ ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ со строковыми Π»ΠΈΡ‚Π΅Ρ€Π°Π»Π°ΠΌΠΈ ΠΈ позволяСт ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ Π½Π΅Π½ΡƒΠΆΠ½Ρ‹Ρ… ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΉ.

komponΓ©n

  • Π£Π»ΡƒΡ‡ΡˆΠ΅Π½Π° ΠΈ ΠΌΠΎΠ΄Π΅Ρ€Π½ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π° систСма ΠΏΠ΅Ρ€Π΅Ρ…Π²Π°Ρ‚Π° сигналов с использованиСм POSIX sigaction для Π½Π°Π΄Π΅ΠΆΠ½ΠΎΠ³ΠΎ маскирования сигналов. ΠžΠ±Π΅ΡΠΏΠ΅Ρ‡Π΅Π½Π° Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ Π΄Π²ΠΎΠΉΠ½ΠΎΠ³ΠΎ восстановлСния Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π° ΠΏΡ€ΠΈ Π²Ρ‹Ρ…ΠΎΠ΄Π΅ ΠΈΠ· ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π°Ρ‚ΠΎΠΌΠ°Ρ€Π½ΠΎΠ³ΠΎ отслСТивания исходного состояния. Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… сигналов POSIX (SIGBUS, SIGSYS, ΠΊΠ°ΠΊ сигналов сбоя, ΠΈ SIGQUIT, SIGHUP, ΠΊΠ°ΠΊ сигналов ΠΎΡ‚Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ) ΠΈ исправлСны ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ бСзопасности асинхронных сигналов.
  • Π˜ΡΠΏΡ€Π°Π²Π»Π΅Π½Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° с ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ курсора ΠΏΡ€ΠΈ использовании настраиваСмого Renderer Π²ΠΎ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°Ρ….
  • Π˜ΡΠΏΡ€Π°Π²Π»Π΅Π½ΠΎ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ курсора Π² полях Π²Π²ΠΎΠ΄Π° ΠΈ ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠΈ.
  • Π˜ΡΠΏΡ€Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π½Π΅ ASCII символов Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ Π²Π²ΠΎΠ΄Π° пароля.
  • УстранСно ΠΌΠ΅Ρ€Ρ†Π°Π½ΠΈΠ΅ курсора ΠΏΡ€ΠΈ пСрСрисовкС Π² App.
  • ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π²Π²ΠΎΠ΄Π° с использованиСм POSIX pipes
    • ΠŸΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ‚ прилоТСниям FTXUI ΡΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· stdin (ΠΏΡ€ΠΈ использовании pipe) ΠΈ ΠΏΡ€ΠΈ этом ΠΏΠΎ-ΠΏΡ€Π΅ΠΆΠ½Π΅ΠΌΡƒ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Π²Π²ΠΎΠ΄ с ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹ Π² Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π΅.
    • Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ.
    • ΠœΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ использованиСм App::HandlePipedInput(false).
    • Sadia ngan ukur di 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%.

sumber: linux.org.ru

MΓ©sΓ©r hosting anu dipercaya pikeun situs anu gaduh panyalindungan DDoS, server VPS VDS πŸ”₯ Meser hosting situs wΓ©b anu tiasa dipercaya nganggo panyalindungan DDoS, server VPS VDS | ProHoster