GTK 3.96, GTK 4-ün eksperimental buraxılışı nəşr olundu

10 ay sonra keçmişin sınaq buraxılışı təqdim etdi GTK 3.96, GTK 4-ün qarşıdan gələn stabil buraxılışının yeni eksperimental buraxılışı. GTK 4 filialı proqram tərtibatçılarını bir neçə il ərzində qorxmadan istifadə edilə bilən sabit və dəstəklənən API ilə təmin etməyə çalışan yeni inkişaf prosesinin bir hissəsi kimi hazırlanır. növbəti GTK filialında API dəyişikliyi səbəbindən ərizəni hər altı aydan bir yenidən yazmaq məcburiyyətində qalması. GTK 4 tam sabitləşənə qədər, istifadəçilərə təklif olunan tətbiqlərin filialdan istifadə edərək qurulmasına davam etmək tövsiyə olunur. GTK 3.24.

Əsas dəyişikliklər GTK 3.96-da:

  • API -də GSK OpenGL və Vulkan vasitəsilə qrafik səhnələrin göstərilməsini təmin edən (GTK Scene Kit), faylları yükləməyə və göstərməyə imkan verən yeni sazlama aləti gtk4-node-redaktoru sayəsində aşkarlanması asanlaşan xətalar üzərində iş aparılıb. seriallaşdırılmış formatda qovşağın göstərilməsi (göstəriş rejimində GTK inspektorunda saxlanıla bilər), həmçinin müxtəlif arxa hissələrdən istifadə edərkən göstərmə nəticələrini müqayisə edin;

    GTK 3.96, GTK 4-ün eksperimental buraxılışı nəşr olundu

  • 3D transformasiya imkanları fırlanan kub kimi animasiya effektləri yaratmağa imkan verən səviyyəyə gətirildi;

    GTK 3.96, GTK 4-ün eksperimental buraxılışı nəşr olundu

  • Tamamilə yenidən yazılmışdır Broadway GDK backend veb brauzer pəncərəsində GTK kitabxana çıxışını göstərmək üçün nəzərdə tutulmuşdur. Köhnə Broadway tətbiqi GTK 4-də təklif olunan göstərmə üsullarına uyğun gəlmirdi (buferə çıxış əvəzinə, indi render qovşaqlarına əsaslanan bir modeldən istifadə edir, burada çıxış yüksək səviyyəli əməliyyatlar ağacı şəklində təşkil edilir, OpenGL və Vulkan istifadə edərək GPU tərəfindən səmərəli şəkildə işlənir).
    Yeni Broadway seçimi interfeysi brauzerdə göstərmək üçün render qovşaqlarını CSS üslubları ilə DOM qovşaqlarına çevirir. Hər bir yeni ekran vəziyyəti əvvəlki vəziyyətə nisbətən DOM ağacında dəyişiklik kimi işlənir ki, bu da uzaq müştəriyə ötürülən məlumatların ölçüsünü azaldır. 3D transformasiyalar və qrafik effektlər CSS transform xüsusiyyəti vasitəsilə həyata keçirilir;

  • GDK Wayland protokolu nəzərə alınmaqla hazırlanmış API-ləri tətbiq etməyə və X11 əsaslı API-ləri təmizləməyə və ya onları ayrıca X11 backendinə köçürməyə davam edir. Uşaq səthlərinin və qlobal koordinatların istifadəsindən uzaqlaşmaq üçün işlərdə irəliləyiş var. GDK_SURFACE_SUBSURFACE dəstəyi GDK-dan silindi;
  • Təklif olunan ayrıca GdkDrag və GdkDrop obyektləri də daxil olmaqla Çək və burax əməliyyatlarının yerinə yetirilməsi ilə bağlı kodun refaktorinqi davam etdirildi;
  • Hadisələrin idarə edilməsi sadələşdirilmişdir və indi yalnız daxiletmə üçün istifadə olunur. Qalan hadisələr ayrıca siqnallarla əvəz olunur, məsələn, çıxış hadisələri əvəzinə “GdkSurface::render” siqnalı təklif olunur, konfiqurasiya hadisələri əvəzinə - “GdkSurface::size-changed”, xəritəçəkmə hadisələri əvəzinə - “GdkSurface: :mapped”, gdk_event_handler_set() əvəzinə - "GdkSurface::event";
  • Wayland üçün GDK backend GtkSettings parametrlərinə daxil olmaq üçün portal interfeysi üçün dəstək əlavə etdi. Daxiletmə üsulları ilə işləmək üçün mətn daxiletmə-qeyri-sabit-v3 protokolunun genişləndirilməsi üçün dəstək təklif edilmişdir;
  • Vidjetlərin inkişafı üçün görünən sahənin düzülüşündən asılı olaraq elementlərin düzülməsinə nəzarət sisteminin tətbiqi ilə yeni GtkLayoutManager obyekti təqdim olunur. GtkLayoutManager GtkBox və GtkGrid kimi GTK konteynerlərində uşaq xüsusiyyətlərini əvəz edir. Bir neçə hazır tərtibat menecerləri təklif olunur: bir uşaq elementi olan sadə konteynerlər üçün GtkBinLayout, xətti düzülmüş uşaq elementlər üçün GtkBoxLayout, uşaq elementləri şəbəkəyə uyğunlaşdırmaq üçün GtkGridLayout, C alt elementlərinin ixtiyari yerləşdirilməsi üçün GtkFixedLayout, translatustom üçün ənənəvi elementlərin ölçüsünə əsaslanan GtkFixedLayout işləyicilər;
  • GtkAssistant, GtkStack və GtkNotebook vidcetlərinə uşaq elementlərin səhifə nümayişi üçün ictimai əlçatan obyektlər əlavə edilib və bu vidcetlərin Layout ilə əlaqəli olmayan uşaq xassələri onlara köçürülür. Bütün mövcud uşaq xassələr adi xassələrə, tərtibat xassələrinə çevrildiyindən və ya səhifə obyektlərinə köçürüldüyündən, uşaq xassələri üçün dəstək GtkContainer-dən tamamilə silindi;
  • Əsas GtkEntry funksionallığı təkmilləşdirilmiş GtkEditable redaktə interfeysini də ehtiva edən yeni GtkText vidcetinə köçürülüb. Bütün mövcud məlumat girişi alt sinifləri yeni GtkText vidceti əsasında GtkEditable tətbiqləri kimi yenidən işlənmişdir;
  • Parol giriş formaları üçün yeni GtkPasswordEntry vidceti əlavə edildi;
  • GtkWidgets CSS və ya gtk_widget_allocate arqumenti ilə müəyyən edilmiş xətti transformasiya metodlarından istifadə edərək uşaq elementləri GskTransform-a çevirmək imkanı əlavə etmişdir. Göstərilən xüsusiyyət artıq GtkFixed vidcetində tətbiq olunub;
  • Yeni siyahı yaratmaq modelləri əlavə edildi: GtkMapListModel, GtkSliceListModel, GtkSortListModel, GtkSelectionModel və GtkSingleSelection. Gələcəkdə biz GtkListView-ə siyahı modelləri üçün dəstək əlavə etməyi planlaşdırırıq;
  • GtkBuilder identifikatorla keçidlərdən istifadə etmək əvəzinə obyekt xassələrini lokal (daxili) təyin etmək imkanı əlavə etdi;
  • UI fayllarını GTK 4-dən GTK 3-ə çevirmək üçün gtk4-builder-tool-a əmr əlavə edildi;
  • Əsas mövzular, cədvəl menyuları və kombinasiya qutuları üçün dəstək dayandırılıb. GtkInvisible vidceti silindi.

    Mənbə: opennet.ru

Добавить комментарий