GTK 3.96, GTK 4'ün deneysel sürümü yayınlandı

10 ay sonra geçmişin deneme sürümü gönderilen GTK 3.96GTK 4'ün yakında çıkacak kararlı sürümünün yeni deneysel sürümü. GTK 4 şubesi, uygulama geliştiricilerine birkaç yıl boyunca korkmadan kullanılabilecek istikrarlı ve desteklenen bir API sağlamaya çalışan yeni bir geliştirme sürecinin parçası olarak geliştiriliyor. Bir sonraki GTK şubesindeki API değişikliği nedeniyle uygulamayı her altı ayda bir yeniden yazmak zorunda kalma. GTK 4 tamamen stabil hale gelene kadar kullanıcılara sunulan uygulamaların şube kullanılarak oluşturulmaya devam edilmesi önerilir. GTK 3.24.

Ana değişiklikler GTK 3.96'da:

  • API'de GSK OpenGL ve Vulkan aracılığıyla grafik sahnelerin oluşturulmasını sağlayan (GTK Scene Kit) hatalar üzerinde çalışmalar yapıldı ve yeni hata ayıklama aracı gtk4-node-editor sayesinde tanımlanması daha kolay hale geldi. işleme düğümünü serileştirilmiş bir biçimde (GTK denetçisi inceleme modunda kaydedilebilir) ve ayrıca farklı arka uçlar kullanıldığında işleme sonuçlarını karşılaştırın;

    GTK 3.96, GTK 4'ün deneysel sürümü yayınlandı

  • 3D dönüştürme yetenekleri, dönen küp gibi animasyon efektleri oluşturmanıza olanak sağlayacak seviyeye getirildi;

    GTK 3.96, GTK 4'ün deneysel sürümü yayınlandı

  • tamamen yeniden yazıldı Broadway GDK arka ucu, GTK kitaplığı çıktısını bir web tarayıcı penceresinde işlemek için tasarlanmıştır. Eski Broadway uygulaması, GTK 4'te önerilen oluşturma yöntemlerine uymuyordu (bir arabelleğe çıktı yerine, artık çıktının yüksek seviyeli işlemlerden oluşan bir ağaç biçiminde oluşturulduğu, oluşturma düğümlerine dayalı bir model kullanıyor, OpenGL ve Vulkan kullanılarak GPU tarafından verimli bir şekilde işlenir).
    Yeni Broadway seçeneği, arayüzü tarayıcıda oluşturmak için işleme düğümlerini CSS stillerine sahip DOM düğümlerine dönüştürür. Her yeni ekran durumu, DOM ağacında önceki duruma göre bir değişiklik olarak işlenir ve bu, uzak istemciye iletilen verilerin boyutunu azaltır. 3B dönüşümler ve grafik efektleri, CSS dönüştürme özelliği aracılığıyla uygulanır;

  • GDK, Wayland protokolü göz önünde bulundurularak tasarlanan API'leri uygulamaya ve X11 tabanlı API'leri temizlemeye veya bunları ayrı bir X11 arka ucuna taşımaya devam ediyor. Alt yüzeylerin ve küresel koordinatların kullanımından uzaklaşmaya yönelik çalışmalarda ilerleme kaydedilmektedir. GDK_SURFACE_SUBSURFACE desteği GDK'dan kaldırıldı;
  • Önerilen ayrı GdkDrag ve GdkDrop nesneleri de dahil olmak üzere, Sürükle ve Bırak işlemlerinin gerçekleştirilmesine ilişkin kodun yeniden düzenlenmesine devam edildi;
  • Olay işleme basitleştirildi ve artık yalnızca giriş için kullanılıyor. Kalan olaylar ayrı sinyallerle değiştirilir; örneğin, çıkış olayları yerine, yapılandırma olayları yerine "GdkSurface::render" sinyali önerilir - olayları eşlemek yerine - "GdkSurface::size-changed" - "GdkSurface: gdk_event_handler_set() - "GdkSurface::event" yerine :mapped”;
  • Wayland için GDK arka ucu, GtkSettings ayarlarına erişim için bir portal arayüzü desteği ekledi. Giriş yöntemleriyle çalışmak için text-input-unstable-v3 protokol uzantısı desteği önerildi;
  • Widget'ların geliştirilmesi için, görünür alanın düzenine bağlı olarak elemanların düzenini kontrol etmeye yönelik bir sistemin uygulanmasıyla yeni bir GtkLayoutManager nesnesi tanıtıldı. GtkLayoutManager, GtkBox ve GtkGrid gibi GTK kapsayıcılarındaki alt özelliklerin yerini alır. Birkaç hazır düzen yöneticisi önerilmektedir: Bir alt öğeye sahip basit kaplar için GtkBinLayout, doğrusal olarak hizalanmış alt öğeler için GtkBoxLayout, alt öğeleri bir ızgaraya hizalamak için GtkGridLayout, alt öğelerin isteğe göre konumlandırılması için GtkFixedLayout, size_allocate'e dayalı geleneksel öğelerin çevrilmesi için GtkCustomLayout işleyiciler;
  • GtkAssistant, GtkStack ve GtkNotebook widget'larına, bu widget'ların Düzen ile ilgili olmayan alt özelliklerinin aktarıldığı, alt öğelerin sayfa gösterimi için genel olarak erişilebilen nesneler eklenmiştir. Mevcut tüm alt özellikler normal özelliklere, düzen özelliklerine dönüştürüldüğünden veya sayfa nesnelerine taşındığından, alt özelliklere yönelik destek GtkContainer'dan tamamen kaldırılmıştır;
  • Temel GtkEntry işlevi, gelişmiş bir GtkEditable düzenleme arayüzü de içeren yeni bir GtkText widget'ına taşındı. Mevcut tüm veri girişi alt sınıfları, yeni GtkText widget'ına dayalı olarak GtkEditable uygulamaları olarak yeniden düzenlendi;
  • Şifre giriş formları için yeni bir GtkPasswordEntry widget'ı eklendi;
  • GtkWidgets, GskTransform'a CSS veya gtk_widget_allocate bağımsız değişkeni aracılığıyla belirtilen doğrusal dönüştürme yöntemlerini kullanarak alt öğeleri dönüştürme yeteneğini ekledi. Belirtilen özellik GtkFixed widget'ında zaten uygulanmıştır;
  • Yeni liste oluşturma modelleri eklendi: GtkMapListModel, GtkSliceListModel, GtkSortListModel, GtkSelectionModel ve GtkSingleSelection. Gelecekte GtkListView'e liste modelleri için destek eklemeyi planlıyoruz;
  • GtkBuilder, tanımlayıcıya göre bağlantılar kullanmak yerine, nesne özelliklerini yerel olarak (satır içi) ayarlama yeteneğini ekledi;
  • UI dosyalarını GTK 4'ten GTK 3'e dönüştürmek için gtk4-builder-tool'a komut eklendi;
  • Anahtar temalar, tablo menüleri ve açılan kutular için destek durduruldu. GtkInvisible widget'ı kaldırıldı.

    Kaynak: opennet.ru

Yorum ekle