GTK 4.0 a déjà été publié et est livré avec des améliorations pour OpenGL et Vulkan et plus

Après quatre ans de développement enfin la sortie de la nouvelle branche GTK 4.0 a été annoncée, qui est en cours de développement dans le cadre d'un nouveau processus de développement qui tente de fournir aux développeurs d'applications une API stable et compatible pendant plusieurs années, qui peut être utilisée sans craindre d'avoir à refaire des applications tous les six mois en raison des changements d'API dans la prochaine GTK branche.

La branche GTK 4 a été déclaré stable et sera utilisé dans la prochaine version de GNOME 4.0. Dans le même temps, il a été annoncé que le support de la branche GTK 2 avait été interrompu, dans quelques jours pour lequel la dernière version devrait être publiée, tandis que le support de la branche GTK 3 se poursuivra dans un avenir prévisible.

Principales nouveautés de GTK 4.0

Parmi les changements qui ressortent de cette nouvelle branche, nous pouvons constater que une méthode de conception restreinte a été mise en œuvre, dans lequel l'emplacement et la taille des éléments enfants sont déterminés en fonction de la distance aux bords et de la taille des autres éléments.

En plus que ajout d'un module de rendu basé sur l'API graphique Vulkan, qui implémente des shaders pour de nombreux éléments CSS gourmands en ressources utilisés dans les widgets GTK et GSK a été intégré (Kit de scène GTK) avec des capacités de rendu graphique de scène via OpenGL et Vulkan.

L'organisation de la représentation a été revue: au lieu de l'envoyer au tampon, maintenant un modèle basé sur des nœuds de rendu est utilisé, dans lequel la sortie est organisée sous la forme d'un arbre d'opérations de haut niveau, traité efficacement par le GPU en utilisant OpenGL et Vulkan.

On peut aussi voir que dans GTK 4.0 un modèle de livraison d'événements modernisé est proposé, qui permet de contourner une sous-fenêtre lors du routage des événements d'entrée. La nécessité d'implémenter un nouveau modèle est associée à une utilisation plus active des effets d'animation, qui doivent être rendus sans changer la disposition des éléments visibles et, par conséquent, sans sous-fenêtre.

L'API GDK reformulée pour tirer parti du protocole Wayland et concepts connexes. Les fonctions liées à X11 et Wayland ont été déplacées vers des backends séparés et un grand nettoyage de l'API a été effectué, y compris la suppression des classes GtkMenu, GtkMenuBar et GtkToolbar, au lieu desquelles les options GMenu et popover sont suggérées.

Alors que pour le développement de widgets, un nouvel objet GtkLayoutManager est présenté avec l'implémentation du système de contrôle pour la disposition des éléments en fonction de la taille de la zone visible et que GtkLayoutManager a remplacé les propriétés enfants dans les conteneurs GTK tels que GtkBox et GtkGrid.

Parmi les autres changements qui ressortent:

  • Ajout d'une nouvelle classe GtkNative pour les widgets qui ont leur propre surface d'affichage et peuvent fonctionner séparément au premier niveau, sans être liés aux widgets principaux.
  • De nouveaux widgets ont été ajoutés, notamment GtkPicture, GtkText, GtkPasswordEntry, GtkListView, GtkGridView, GtkColumnView, ainsi qu'un widget pour afficher Emoji.
  • Un nouveau calque d'abstraction, GdkPaintable, a été ajouté qui rend des objets qui peuvent être dessinés n'importe où et à n'importe quelle taille, sans avoir à trier les calques de conception.
  • Le backend Broadway a été réécrit pour permettre le rendu de la sortie de la bibliothèque GTK dans une fenêtre de navigateur Web.
  • L'API liée aux opérations de glisser-déposer a été repensée, y compris les objets distincts GdkDrag et GdkDrop proposés.
  • L'implémentation précédente de l'API d'accessibilité pour les personnes handicapées a été supprimée et une nouvelle version basée sur la spécification ARIA et le widget GtkAccessible a été proposée.
  • Ajout de la prise en charge des étiquettes modifiables
  • Le widget GtkTreeView implémente la possibilité de modifier les cellules.
  • Ajout de la prise en charge du défilement et du filtrage incrémentiels vers GtkFilterListModel et GtkSortListModel.
  • Ajout d'un nouveau backend GDK pour macOS.
    GtkTextView et d'autres widgets d'entrée ont une pile d'annulation intégrée.
  • Pour Windows, un nouveau backend de rendu GDK basé sur ANGLE est proposé, une couche intermédiaire pour la traduction des appels d'OpenGL ES vers OpenGL, Direct3D 9/11, Desktop GL et Vulkan.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont marqués avec *

*

*

  1. Responsable des données : AB Internet Networks 2008 SL
  2. Finalité des données: Contrôle du SPAM, gestion des commentaires.
  3. Légitimation: votre consentement
  4. Communication des données: Les données ne seront pas communiquées à des tiers sauf obligation légale.
  5. Stockage des données: base de données hébergée par Occentus Networks (EU)
  6. Droits: à tout moment, vous pouvez limiter, récupérer et supprimer vos informations.