GTK 4.6 grafikkverktøysett tilgjengelig

Etter fire måneder med utvikling har utgivelsen av et multiplattformverktøy for å lage et grafisk brukergrensesnitt blitt publisert - GTK 4.6.0. GTK 4 utvikles som en del av en ny utviklingsprosess som forsøker å gi applikasjonsutviklere en stabil og støttet API i flere år som kan brukes uten frykt for å måtte omskrive applikasjoner hver sjette måned på grunn av API-endringer i neste GTK gren.

Blant de mest bemerkelsesverdige forbedringene i GTK 4.6 er:

  • Den gamle OpenGL-baserte gjengivelsesmotoren er fjernet, erstattet av den nye NGL-gjengivelsesmotoren, levert som standard siden GTK 4.2, som gir bedre ytelse. NGL omdøpt til GL. Teksturlastekode er skrevet om, støtte for bildeformater og fargerom er forbedret.
  • Koden knyttet til beregning av elementstørrelser og widgetoppsett har blitt betydelig omarbeidet. Tidligere var egenskapene GtkWidget::halign og GtkWidget::valign basert på standard widgetstørrelse ved plassering av elementer, som, når du spesifiserte bare én størrelse i områdefyllingsmodus, kunne resultere i at elementet tok opp ekstra plass. GTK 4.6 introduserer muligheten til å måle manglende størrelse i forhold til hverandre (hvis for eksempel en bredde er spesifisert, kan plassering ta hensyn til tilgjengelig høyde), slik at widgets kan være tynnere uten å ta opp unødvendig plass.
    GTK 4.6 grafikkverktøysett tilgjengelig
    GTK 4.6 grafikkverktøysett tilgjengelig
  • GtkBox-widgeten har muligheten til å beregne den individuelle størrelsen på underordnede elementer. Mens plass tidligere ble fordelt likt mellom underordnede widgets basert på standardstørrelsen, tar GTK 4.6 nå den faktiske størrelsen på barn i betraktning ved utdata.
  • GtkLabel-widgeten inkluderer støtte for tekstbryting på et vilkårlig antall linjer, slik at du kan lage smale etiketter som tar opp tilgjengelig vertikal plass.
  • GtkWindow-klassen har lagt til muligheten til å justere minimumsstørrelsen til sideforholdet, som lar deg endre størrelsen på vinduet vilkårlig uten frykt for at det blir for lite. Lagt til egenskapen "Window.titlebar".
  • Lagt til en ny advarsel om størrelsesfeil hvis widgeten returnerer en feil størrelse. Gtk-CRITICAL **: 00:48:33.319: gtk_widget_measure: påstand "for_size >= minimum motsatt størrelse" mislyktes: 23 >= 42
  • GtkTextView-widgeten støtter nå høyrejusterte eller senterjusterte faner. Lagt til støtte for tekstkonvertering og linjehøydehensyn. Forbedret rulling til spesifisert etikettoperasjon. Forbedret håndtering av å angre endringer. Løste problemer når du limte inn tekst fra utklippstavlen og valgte hvor Emoji-lime-grensesnittet skulle vises.
  • GtkMenuButton-widgeten gir muligheten til å definere sine egne underordnede elementer.
  • Malforkompilering har blitt fremskyndet i GtkBuilder.
  • Lagt til aktiveringssignal for å aktivere GtkComboBox og GtkDropDown widgets.
  • La til egenskapen show-arrow til GtkDropDown-widgeten for å kontrollere om pilen vises.
    GTK 4.6 grafikkverktøysett tilgjengelig
  • Lagt til use-markup-attributt til GtkPopoverMenu for å bruke Pango-markering i menytekst.
  • Stilsystemet støtter CSS-egenskapene font-variant-caps for visning av små store bokstaver og teksttransform for transformering av tekst.
  • Lagt til GtkSymbolicPaintable-grensesnitt for å kontrollere fargen på symbolikoner.
  • Støtte for sporing av dra-og-slipp-operasjoner er lagt til inspeksjonsgrensesnittet, gjeldende inngangsmodul er vist, en utklippstavle-innholdsvisning er lagt til, en graf for visualisering av gtk_widget_measure() er implementert, og muligheten til å logge hendelser er gitt. Lagt til støtte for dra-og-slipp-modus til gtk4-node-editor-verktøyet.
  • For Wayland er det implementert en innstilling for å aktivere høykontrastmodus. Lagt til støtte for wl_seat v7-protokollen.
  • Lagt til gtk-hint-font-metrics-innstilling for å bringe tekstgjengivelse nærmere GTK3-oppførsel.
  • For X11-baserte systemer, lagt til støtte for styreflatekontrollbevegelser (når du bruker XInput 2.4) og forbedret vindustittel-dra-adferd.
  • GDK-biblioteket, som gir et lag mellom GTK og grafikkundersystemet, har forbedret sjekking for OpenGL- og OpenGL ES-versjoner. Lagt til støtte for HSL-fargerom. Når du laster teksturer og behandler bildeformater, er bibliotekene libpng, libjpeg og libtiff direkte involvert. EGL-initialiseringskoden er flyttet til frontend-siden. Lagt til nye API-er: 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_context_create_gdk_
  • "Master"-grenen i Git-depotet har fått nytt navn til "main".

Kilde: opennet.ru

Legg til en kommentar