Altı aylıq inkişafdan sonra qrafik istifadəçi interfeysi yaratmaq üçün çox platformalı alətlər dəstinin buraxılışı nəşr olundu - GTK 4.16.0. GTK 4, proqram tərtibatçılarını sabit, çoxillik dəstəklənən API ilə təmin etməyə çalışan inkişaf prosesinin bir hissəsi kimi hazırlanır və növbəti GTK filialında API dəyişiklikləri səbəbindən hər altı ayda bir tətbiqləri yenidən hazırlamaq məcburiyyətində qalma qorxusu olmadan istifadə edilə bilər.
GTK 4.16-da ən diqqətəlayiq təkmilləşdirmələrdən bəziləri bunlardır:
- Şriftin göstərilməsinə nəzarət etmək üçün çevik yüksək səviyyəli seçimləri təmin edən gtk-font-rendering parametri əlavə edildi. Aşağı səviyyəli şrift parametrlərindən istifadə etmək üçün gtk-font-rendering parametrini 'manual' olaraq təyin edin.
- OpenGL və Vulkan vasitəsilə qrafik səhnələrin göstərilməsi imkanlarını təmin edən GSK kitabxanası (GTK Scene Kit), defolt olaraq Vulkan qrafika API-dən birbaşa istifadə edən Wayland protokoluna əsaslanan mühitlərdə göstərmək üçün “vulkan” göstərmə mühərrikindən istifadə edir. Əks halda, Vulkan API üzərində işləyən OpenGL tətbiqini təklif edən "ngl" renderinq mühərriki istifadə olunmağa davam edir. Mühərriki dəyişdirmək üçün "GSK_RENDERER" mühit dəyişənindən istifadə edə bilərsiniz. "Vulkan" və "ngl" mühərrikləri qrafik sürücüləri ilə fərqli şəkildə qarşılıqlı əlaqədə olduğundan, onlarla sabit işləmək üçün ən son buraxılış Mesa 24.2-dən istifadə etmək tövsiyə olunur.
- GSK kitabxanasındakı digər dəyişikliklərə aşağıdakılar daxildir:
- Digər qeyri-şəffaf obyektlərin arxasında və ya baxış sahəsindən kənarda gizlədilmiş obyektlərin göstərilməsini aradan qaldıran “okklyuzion məhvetmə” optimallaşdırma texnikası tətbiq edilmişdir.
- Kompozisiya prosesində rəng məkanı məlumatları nəzərə alınır.
- Təkmilləşdirilmiş qlif və faktura keşi.
- Teksturanı təkrarlayaraq qüsursuz bir səth yaratmaq üçün böyük teksturaların döşənməsi üçün əlavə dəstək.
- Təkmilləşdirilmiş kölgə göstərilməsi.
- Konvertasiya edilmiş teksturaları emal etmək üçün, məsələn, fırlanan məzmunu ekranda göstərmək üçün aparat sürətləndirməsindən istifadə etmək imkanı əlavə edildi.
- kwin kompozit meneceri olan sistemlərdə aparat sürətləndirmə mexanizmlərinin təkmilləşdirilmiş istifadəsi.
- Xətti birləşmə rejimini aktivləşdirmək üçün "GDK_DEBUG=xətti" debug seçimi əlavə edildi. "GDK_DEBUG=boşaltma" və "GSK_DEBUG=renderer" seçimlərindən istifadə edərkən təkmilləşdirilmiş giriş.
- Wayland protokolu və kwin kompozit menecerinə əsaslanan mühitlərdə işləyərkən rəngin idarə edilməsi üçün protokol genişləndirilməsindən (rəngin idarə edilməsi) istifadə etmək mümkündür. Sabitlənmiş dialoqları göstərərkən Wayland genişləndirilməsi xdg-dialoqundan istifadə olunur. Kompozisiya edərkən wl_compositor obyektinin altıncı versiyası istifadə olunur. OpenGL üçün faktura emalının aparat sürətləndirilməsi zamanı dmabuf istifadəsinə icazə verin.
- GTK və qrafik alt sistemi arasında təbəqə təmin edən GDK kitabxanasında təkmilləşdirmələr:
- Rəng fəzaları ilə işləmək imkanları əhəmiyyətli dərəcədə genişlənmişdir. srgb, srgb-linear, rec2100-pq və rec2100-xətti rəng fəzaları üçün dəstək təmin edilib və HDR rəng fəzalarına dəstəyin həyata keçirilməsi üçün hazırlıqlar görülüb. Bir rəng məkanını digərinə çevirmək üçün istifadə edilə bilən rəng şərhi məlumatını təmin edən GdkColorState obyekti təmin edilir. Rəng fəzaları haqqında məlumatı olan obyektlər yaratmaq üçün Gdk.CicpParams obyekti əlavə edilmişdir. Rəng boşluqlarından istifadə etmək imkanı GdkTexture obyektinə, eləcə də fakturaların yaradılması, yüklənməsi və konvertasiyası üçün obyektlərə əlavə edilmişdir.
- Kursorla işləmək üçün geri çağırışlara əsaslanan yeni API tətbiq edilmişdir.
- CPU-dan istifadə etməklə MIP-teksturasiya əməliyyatlarını (MipMap, obyekti kameradan uzaqlaşdırarkən istifadə olunan fakturaların daha kiçik versiyalarını yaratmaq) yerinə yetirmək imkanı həyata keçirilib.
- Rəng çevrilməsi və mip-teksturasiya üçün iplik hovuzu istifadə olunur.
- XDG_ACTIVATION_TOKEN mühit dəyişəni üçün xdg-activation-v1 protokolu üçün aktivasiya işarəsi ilə əlavə dəstək əlavə edildi, hansı ki, bir tətbiqin fokusunu digərinə keçirə bilər.
- GdkMemoryTextureBuilder sinfi əlavə edildi ki, bu da sizə RAM-da saxlanılan məlumatlardan fakturalı (GdkTexture) obyektlər yaratmağa imkan verir.
- CSS əsaslı mövzuların yaradılması imkanları genişləndirilib. Dəyişənlər və fərdi xüsusiyyətlər üçün əlavə dəstək. Tətbiq edilmiş CSS funksiyaları color(), oklab(), color-mix(), həmçinin riyazi funksiyalar. Rənglərin nisbi təriflərindən (funksiyalarla mütləq rənglərin dəyişdirilməsi) istifadə etmək, həmçinin şəffaflıq səviyyəsini faizlə təyin etmək mümkündür. Rənglər, çərçivələr, kölgələr və mətnlərlə işləyərkən rəng fəzaları haqqında məlumatlar nəzərə alınır.
- URL vasitəsilə verilənləri yükləmək üçün “çıxarış” əmrləri və rendernode aləti yardım proqramına dokuları manipulyasiya etmək üçün “şəkil” əmrləri əlavə edildi. PDF formatında faylların yaradılması imkanı tətbiq edilib.
- Gtk4-node-redaktor interfeysinə 'Node kimi yapışdır' əməliyyatı əlavə edildi.
- GtkFileChooserWidget fayl seçim vidcetinə kataloqlar yaratmaq üçün Ctrl-Shift-N kombinasiyası üçün əlavə dəstək.
- GtkPopover popover vidceti ölçülərin dəyişdirilməsi və yerləşdirilməsinin idarə edilməsini təkmilləşdirib.
- GSK rendererindən yan keçərək kompozit menecer vasitəsilə video kimi məzmunu birbaşa göndərmək üçün istifadə edilən GtkGraphicsOffload vidceti qara fonu çıxarmaq üçün "qara fon" xüsusiyyətini əlavə edib.

- OpenGL çıxışı üçün hazırlanmış GtkGLArea vidjeti artıq dmabuf tekstura generasiyasını dəstəkləyir və bu da GtkGraphicsOffload vidjetinin kompozit server vasitəsilə birbaşa çıxış üçün istifadəsinə imkan verir. Kompozit server ilə təkmilləşdirilmiş performans. server.

- GtkTextView vidcetinə kölgə ilə mətn göstərmək üçün dəstək əlavə edildi və GtkTextBufferCommitNotify bildirişlərindən istifadə etmək imkanı həyata keçirildi.
- GtkCheckButton vidcetinə düymə üslublarının qrup tərifi üçün dəstək əlavə edildi.
- Təkmilləşdirilmiş sazlama imkanları. Təftiş interfeysinə rəng boşluqları haqqında məlumat, həmçinin monitorun həlli haqqında məlumat əlavə edilmişdir. GDK_DEBUG mühit dəyişəni GDK_DEBUG və GDK_DISABLE bölünür. GDK_DISABLE=color-mgmt və GDK_DISABLE=boşaltma rejimləri əlavə edildi. Köhnəlmiş CSS funksiyalarından istifadə edərkən xəbərdarlıqları göstərmək üçün GTK_DEBUG=css rejimi əlavə edildi. Hadisə jurnalını qeyd etmək üçün Super-r və ekran görüntüsünü çəkmək üçün Super-c klaviatura qısa yolları əlavə edildi.
- Asılılıqlar və qurma mühiti üçün tələblər artırıldı. Qurmaq üçün indi sizə C11 dəstəyi və ən azı gstreamer 1.24, pango 1.52 və cairo 1.18 versiyaları olan kompilyator lazımdır. Köhnə qurulma rejimləri gtk_doc (sənədlərdən istifadə edilməlidir), yeniləmə_ekran görüntüləri (-> ekran görüntüləri), demo-profil (-> profil) və demolar (-> qurmaq-demolar) üçün dəstək dayandırıldı.
- macOS 10.15+ üçün ekranda piksellərin rəngini təyin etmək üçün interfeys (rəng seçici) tətbiq edilib.
- Windows üçün artımlı göstərmə rejimi WGL API istifadə edərək aktivləşdirilir.
Mənbə: opennet.ru


