ДоступСн графичСский Ρ‚ΡƒΠ»ΠΊΠΈΡ‚ GTK 4.8

ПослС восьми мСсяцСв Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ Ρ€Π΅Π»ΠΈΠ· ΠΌΠ½ΠΎΠ³ΠΎΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ Ρ‚ΡƒΠ»ΠΊΠΈΡ‚Π° для создания графичСского интСрфСйса ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ — GTK 4.8.0. GTK 4 развиваСтся Π² Ρ€Π°ΠΌΠΊΠ°Ρ… Π½ΠΎΠ²ΠΎΠ³ΠΎ процСсса Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ пытаСтся ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹ΠΉ Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π»Π΅Ρ‚ API, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π½Π΅ опасаясь, Ρ‡Ρ‚ΠΎ ΠΊΠ°ΠΆΠ΄Ρ‹Π΅ ΠΏΠΎΠ»Π³ΠΎΠ΄Π° придётся ΠΏΠ΅Ρ€Π΅Π΄Π΅Π»Ρ‹Π²Π°Ρ‚ΡŒ прилоТСния ΠΈΠ·-Π·Π° измСнСния API Π² ΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠ΅ GTK.

Π‘Ρ€Π΅Π΄ΠΈ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π·Π°ΠΌΠ΅Ρ‚Π½Ρ‹Ρ… ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΠΉ Π² GTK 4.8:

  • Π˜Π·ΠΌΠ΅Π½Ρ‘Π½ ΡΡ‚ΠΈΠ»ΡŒ интСрфСйса Π²Ρ‹Π±ΠΎΡ€Π° Ρ†Π²Π΅Ρ‚ΠΎΠ² (GtkColorChooser).
  • Π’ интСрфСйсС Π²Ρ‹Π±ΠΎΡ€Π° ΡˆΡ€ΠΈΡ„Ρ‚ΠΎΠ² (GtkFontChooser) ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° возмоТностСй Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° OpenType.
  • Π’ CSS-Π΄Π²ΠΈΠΆΠΊΠ΅ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π° ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²ΠΊΠ° элСмСнтов, связанных с ΠΎΠ΄Π½ΠΈΠΌ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»Π΅ΠΌ, ΠΈ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΎ использованиС Π½Π΅Ρ†Π΅Π»Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΏΡ€ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»Π° ΠΌΠ΅ΠΆΠ΄Ρƒ Π±ΡƒΠΊΠ².
  • Π”Π°Π½Π½Ρ‹Π΅ Emoji ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Ρ‹ Π΄ΠΎ Π½Π°Π±ΠΎΡ€Π° CLDR 40 (Unicode 14). Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π½ΠΎΠ²Ρ‹Ρ… Π»ΠΎΠΊΠ°Π»Π΅ΠΉ.
  • Π’ Ρ‚Π΅ΠΌΠ΅ оформлСния ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Ρ‹ ΠΏΠΈΠΊΡ‚ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈ ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½Π° Ρ€Π°Π·Π±ΠΎΡ€Ρ‡ΠΈΠ²ΠΎΡΡ‚ΡŒ выдСляСмых тСкстовых ΠΌΠ΅Ρ‚ΠΎΠΊ.
  • Π’ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅ GDK, ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰Π΅ΠΉ прослойку ΠΌΠ΅ΠΆΠ΄Ρƒ GTK ΠΈ графичСской подсистСмой, ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½ΠΎ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΈΠΊΡΠ΅Π»ΡŒΠ½Ρ‹Ρ… Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠ². На систСмах с Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π°ΠΌΠΈ NVIDIA задСйствовано EGL-Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ EGL_KHR_swap_buffers_with_damage.
  • Π’ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅ GSK (GTK Scene Kit), ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰Π΅ΠΉ возмоТности отрисовки графичСских сцСн Ρ‡Π΅Ρ€Π΅Π· OpenGL ΠΈ Vulkan, Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Π²ΠΈΠ΄ΠΈΠΌΡ‹Ρ… областСй (viewport-ΠΎΠ²). ΠŸΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Ρ‹ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ для отрисовки Π³Π»ΠΈΡ„ΠΎΠ² с использованиСм тСкстур.
  • Для Wayland Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° «xdg-activation», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ позволяСт ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ фокус ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ повСрхностями ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ уровня (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ xdg-activation ΠΎΠ΄Π½ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ фокус Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠ΅).
  • Π’ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π΅ GtkTextView сокращСно число ситуаций, приводящих ΠΊ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½Ρ‹ΠΌ пСрСрисовкам, ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° функция GetCharacterExtents для опрСдСлСния области с Π³Π»ΠΈΡ„ΠΎΠΌ, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰ΠΈΠΌ символ Π² тСкстС (функция вострСбована срСдствах для людСй с ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½Ρ‹ΠΌΠΈ возмоТностями).
  • Π’ классС GtkViewport, примСняСмом для ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠΈ Π² Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π°Ρ…, Π²ΠΊΠ»ΡŽΡ‡Ρ‘Π½ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Ρ€Π΅ΠΆΠΈΠΌ «scroll-to-focus», ΠΏΡ€ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ содСрТимоС автоматичСски прокручиваСтся для поддСрТания Π½Π° Π²ΠΈΠ΄Ρƒ элСмСнта, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ установлСн фокус Π²Π²ΠΎΠ΄Π°.
  • Π’ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π΅ GtkSearchEntry, ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΌ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ для Π²Π²ΠΎΠ΄Π° поискового запроса, прСдоставлСна Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ настройки Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ послСдним Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ΠΌ клавиши ΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΎΠΉ сигнала ΠΎΠ± ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ содСрТимого (GtkSearchEntry::search-changed).
  • Π’ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ GtkCheckButton Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ назначСния своСго Π΄ΠΎΡ‡Π΅Ρ€Π½Π΅Π³ΠΎ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π° с ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ.
  • Π’ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ GtkPicture Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ свойство «content-fit» для Π°Π΄Π°ΠΏΡ‚Π°Ρ†ΠΈΠΈ содСрТимого ΠΏΠΎΠ΄ Π·Π°Π΄Π°Π½Π½Ρ‹ΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€ области.
  • Π’ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π΅ GtkColumnView ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½Π° оптимизация ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠΈ.
  • Π’ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π΅ GtkTreeStore Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΎ ΠΈΠ·Π²Π»Π΅Ρ‡Π΅Π½ΠΈΠ΅ Π΄Ρ€Π΅Π²ΠΎΠ²ΠΈΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· Ρ„Π°ΠΉΠ»ΠΎΠ² Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ ui.
  • Π’ класс GtkInscription, ΠΎΡ‚Π²Π΅Ρ‡Π°ΡŽΡ‰Π΅ΠΌ Π·Π° ΠΏΠΎΠΊΠ°Π· тСкста Π² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎΠΉ области, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ Π½ΠΎΠ²Ρ‹ΠΉ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ для отобраТСния списков. Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ дСмонстрационноС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ с ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ использования GtkInscription.
  • Π’ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π΅ GtkTreePopover Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠΈ.
  • Π’ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π΅ GtkLabel Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° табуляций ΠΈ прСдоставлСна Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π°ΠΊΡ‚ΠΈΠ²Π°Ρ†ΠΈΠΈ ΠΌΠ΅Ρ‚ΠΎΠΊ Ρ‡Π΅Ρ€Π΅Π· Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ Π½Π° привязанныС ΠΊ ΠΌΠ΅Ρ‚ΠΊΠ΅ символы Π½Π° ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π΅.
  • Π’ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π΅ GtkListView Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° свойств «::n-items» ΠΈ «::item-type».
  • Π’ систСмС Π²Π²ΠΎΠ΄Π° прСдоставлСна ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² размСрности (GDK_SCROLL_UNIT_WHEEL, GDK_SCROLL_UNIT_SURFACE) ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠΈ.
  • Для ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ macOS Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° полноэкранного Ρ€Π΅ΠΆΠΈΠΌΠ° ΠΈ воспроизвСдСния Π²ΠΈΠ΄Π΅ΠΎ с использованиСм OpenGL. Π£Π»ΡƒΡ‡ΡˆΠ΅Π½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΎΠ², Ρ€Π°Π±ΠΎΡ‚Π° Π² ΠΌΠ½ΠΎΠ³ΠΎΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€Π½Ρ‹Ρ… конфигурациях, Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ ΠΎΠΊΠΎΠ½ ΠΈ Π²Ρ‹Π±ΠΎΡ€ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° для Π΄ΠΈΠ°Π»ΠΎΠ³Π° Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ. Для отрисовки задСйствованы CALayer ΠΈ IOSurface. ΠžΠ±Π΅ΡΠΏΠ΅Ρ‡Π΅Π½ запуск ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π² Ρ„ΠΎΠ½ΠΎΠ²ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅.
  • На ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ Windows ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ ΠΎΠΊΠΎΠ½ Π½Π° экранах HiDPI, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ интСрфСйс опрСдСлСния Ρ†Π²Π΅Ρ‚Π°, Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° событий колСса ΠΌΡ‹ΡˆΠΈ с высоким Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ΠΌ, ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ‚Π°Ρ‡ΠΏΠ°Π΄ΠΎΠ².
  • Π’ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρƒ gtk4-builder-tool Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° screenshot для создания ΡΠΊΡ€ΠΈΠ½ΡˆΠΎΡ‚Π°, которая задСйствована ΠΏΡ€ΠΈ Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ ΡΠΊΡ€ΠΈΠ½ΡˆΠΎΡ‚ΠΎΠ² для Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ.
  • ΠžΠ±Π΅ΡΠΏΠ΅Ρ‡Π΅Π½Π° установки ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ gtk4-node-editor.
  • Π Π°ΡΡˆΠΈΡ€Π΅Π½Ρ‹ возмоТности ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠ°. Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ ΠΏΠΎΠΊΠ°Π· Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ Ρ€Π°Π·Ρ€Π΅ΡˆΡ‘Π½ просмотр свойств PangoAttrList ΠΏΡ€ΠΈ инспСктировании. Π Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΎ инспСктированиС инспСкторов. Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ€Π΅ΠΆΠΈΠΌΠ° «GTK_DEBUG=invert-text-dir». ВмСсто ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ окруТСния GTK_USE_PORTAL ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ Ρ€Π΅ΠΆΠΈΠΌ «GDK_DEBUG=portals». ΠŸΠΎΠ²Ρ‹ΡˆΠ΅Π½Π° ΠΎΡ‚Π·Ρ‹Π²Ρ‡ΠΈΠ²ΠΎΡΡ‚ΡŒ интСрфСйса инспСктирования.
  • Π’ бэкСнд ffmpeg Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π·Π²ΡƒΠΊΠ°.
  • Π›ΠΈΠΌΠΈΡ‚ памяти Π² Π·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ JPEG ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ Π΄ΠΎ 300 ΠœΠ‘.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru