GTK 4.6 grafische toolkit beschikbaar

Na vier maanden ontwikkeling is de release van een multi-platform toolkit voor het maken van een grafische gebruikersinterface gepubliceerd: GTK 4.6.0. GTK 4 wordt ontwikkeld als onderdeel van een nieuw ontwikkelingsproces dat applicatie-ontwikkelaars een aantal jaren lang een stabiele en ondersteunde API wil bieden die kan worden gebruikt zonder de angst om applicaties elke zes maanden te moeten herschrijven vanwege API-wijzigingen in de volgende GTK tak.

Enkele van de meest opvallende verbeteringen in GTK 4.6 zijn:

  • De oude op OpenGL gebaseerde rendering-engine is verwijderd en vervangen door de nieuwe NGL-rendering-engine, die standaard wordt geleverd sinds GTK 4.2, en die betere prestaties levert. NGL omgedoopt tot GL. De textuurlaadcode is herschreven en de ondersteuning voor afbeeldingsformaten en kleurruimten is verbeterd.
  • De code die is gekoppeld aan het berekenen van elementgroottes en de lay-out van widgets is aanzienlijk herwerkt. Voorheen waren de eigenschappen GtkWidget::halign en GtkWidget::valign gebaseerd op de standaard widgetgrootte bij het plaatsen van elementen, wat er bij het specificeren van slechts één grootte in de gebiedsopvulmodus toe kon leiden dat het element extra ruimte in beslag nam. GTK 4.6 introduceert de mogelijkheid om ontbrekende afmetingen ten opzichte van elkaar te meten (als er bijvoorbeeld een breedte is opgegeven, kan bij de plaatsing rekening worden gehouden met de beschikbare hoogte), waardoor widgets dunner kunnen zijn zonder onnodige ruimte in beslag te nemen.
    GTK 4.6 grafische toolkit beschikbaar
    GTK 4.6 grafische toolkit beschikbaar
  • De GtkBox-widget heeft de mogelijkheid om de individuele grootte van onderliggende elementen te berekenen. Terwijl voorheen de ruimte gelijkmatig werd verdeeld tussen onderliggende widgets op basis van hun standaardgrootte, houdt GTK 4.6 nu rekening met de werkelijke grootte van onderliggende widgets bij de uitvoer.
  • De GtkLabel-widget biedt ondersteuning voor tekstterugloop op een willekeurig aantal regels, waardoor u smalle labels kunt maken die de beschikbare verticale ruimte in beslag nemen.
  • De klasse GtkWindow heeft de mogelijkheid toegevoegd om de minimale grootte aan te passen aan de beeldverhouding, waardoor u het formaat van het venster willekeurig kunt wijzigen zonder bang te hoeven zijn dat het te klein wordt. Eigenschap "Window.titlebar" toegevoegd.
  • Er is een nieuwe waarschuwing toegevoegd over niet-overeenkomende maten als de widget een onjuiste maat retourneert. Gtk-KRITICAL **: 00:48:33.319: gtk_widget_measure: bewering ‘for_size >= minimum tegenovergestelde grootte’ mislukt: 23 >= 42
  • De GtkTextView-widget ondersteunt nu rechts uitgelijnde of gecentreerde tabbladen. Ondersteuning toegevoegd voor tekstconversie en overwegingen voor regelhoogte. Verbeterd scrollen naar gespecificeerde labelbewerkingen. Verbeterde afhandeling van ongedaan gemaakte wijzigingen. Problemen opgelost bij het plakken van tekst vanaf het klembord en het kiezen waar de Emoji-plakinterface moet worden weergegeven.
  • De GtkMenuButton-widget biedt de mogelijkheid om zijn eigen onderliggende elementen te definiëren.
  • Het precompileren van sjablonen is versneld in GtkBuilder.
  • Activeringssignaal toegevoegd om GtkComboBox- en GtkDropDown-widgets te activeren.
  • De eigenschap show-arrow toegevoegd aan de GtkDropDown-widget om te bepalen of de pijl wordt weergegeven.
    GTK 4.6 grafische toolkit beschikbaar
  • Use-markup attribuut toegevoegd aan GtkPopoverMenu om Pango-opmaak in menutekst te gebruiken.
  • Het stijlsysteem ondersteunt de CSS-eigenschappen font-variant-caps voor het weergeven van kleine hoofdletters en text-transform voor het transformeren van tekst.
  • GtkSymbolicPaintable-interface toegevoegd om de kleur van symboolpictogrammen te regelen.
  • Ondersteuning voor het volgen van slepen-en-neerzetten-bewerkingen is toegevoegd aan de inspectie-interface, de huidige invoermodule is getoond, een klembordinhoudviewer is toegevoegd, een grafiek voor het visualiseren van gtk_widget_measure() is geïmplementeerd en de mogelijkheid om gebeurtenissen te loggen is verstrekt. Ondersteuning toegevoegd voor de modus Drag-and-Drop aan het hulpprogramma gtk4-node-editor.
  • Voor Wayland is een instelling geïmplementeerd om de contrastrijke modus te activeren. Ondersteuning toegevoegd voor het wl_seat v7-protocol.
  • De instelling gtk-hint-font-metrics is toegevoegd om de tekstweergave dichter bij het GTK3-gedrag te brengen.
  • Voor X11-gebaseerde systemen is ondersteuning toegevoegd voor touchpad-bedieningsgebaren (bij gebruik van XInput 2.4) en verbeterd gedrag bij het slepen van venstertitels.
  • De GDK-bibliotheek, die een laag biedt tussen GTK en het grafische subsysteem, heeft de controle op OpenGL- en OpenGL ES-versies verbeterd. Ondersteuning toegevoegd voor HSL-kleurruimte. Bij het laden van texturen en het verwerken van afbeeldingsformaten zijn de bibliotheken libpng, libjpeg en libtiff direct betrokken. De EGL-initialisatiecode is verplaatst naar de frontend-kant. Nieuwe API's toegevoegd: gdk_texture_new_from_bytes, gdk_texture_new_from_filename, gdk_texture_download_float, gdk_texture_save_to_png_bytes, gdk_texture_save_to_tiff, gdk_texture_save_to_tiff_bytes en gdk_display_create_gl_context.
  • De “master” branch in de Git repository is hernoemd naar “main”.

Bron: opennet.ru

Voeg een reactie