GTK 4.0 leveres med forbedringer til at udføre grafiske grænseflader, dataoverførsel og mere

For nogle dage siden frigivelsen af ​​den nye version af GTK 4.0 blev annonceret, version, der var under udvikling i flere måneder, og som bliver den nye stabile gren af ​​projektet. Denne nye version præsenterer meget interessante funktioner, hvoraf vi kan fremhæve forbedringerne i medieafspilning.

GTK er et sæt softwarebiblioteker til oprettelse af grafiske grænsefladerGTK blev oprindeligt udviklet til GIMP-billedbehandlingssoftware. I øjeblikket er dets anvendelsesområde ikke længere begrænset til kun GIMP, men bruges i andre projekter. For eksempel GTK er kernen i GNU-netværksobjektmodelmiljøet (GNOME), men det kan også bruges til at skrive applikationer til andre Linux-miljøer såvel som applikationer til Microsoft Windows og Apple macOS.

”GTK 4.0 er resultatet af hårdt arbejde fra et lille team af dedikerede udviklere. Vi har en separat artikel til at gennemgå statistikken, men det hurtige resume er, at vi siden november 3.89.1 version 2016 har tilføjet over 18,000 forpligtelser og foretaget over 20 udviklingsudgivelser.

”Tillykke og en stor tak til alle, der deltog i denne indsats, og især Benjamin, Emmanuele, Timm, Carlos, Jonas og Christian! «

Om den nye version af GTK 4.0

GTK 4.0 introducerer nye widgets og ændringer til eksisterende elementer, indbygget support til medieafspilning, forbedringer i GPU-acceleration, såsom arbejde på din ny Vulkan-gengivelsesmotor og bedre kompatibilitet med macOS. Vi kan også bemærke forbedringer i dataoverførsel, redesignede shaders, GPU-accelereret rulning, forbedringer i OpenGL-gengivelse ud over Vulkan-jobbet, gendannelse af jobbet i HTMl5 Broadway, bedre Windows-support osv.

Lad os se på nogle punkter lidt mere dybtgående.

Mediestyring i GT4

  • GTK 4 giver GTK-applikationer lettere visning af animationer; det være sig programmatisk animation, webmarkiv eller live-udsendelse.
  • GTK 4 bringer en ny API kaldet GdkPaintable, der blev inspireret af CSS Houdini-indsatsen. Det er meget fleksibelt (alt hvad du kan tegne kan være en GdkPaintable). Indholdet kan ændres (som svg) eller ændres over tid (som webm).
  • Hvis du har mere specialiserede behov, kan alt, hvad der kan fanges i et GtkSnapshot, omdannes til en tegning med gtk_snapshot_to_paintable (). Hvis du opretter en brugerdefineret widget, der ønsker at tegne et objekt, der skal males, er det meget simpelt. Bare ring til gdk_paintable_snapshot ().
  • Du kan have multimediekontrol ved hjælp af GtkVideo-widgeten.

Dataoverførsel i GTK4

Traditionelle metoder til overførsel af data Brugerinitieret mellem desktop-applikationer er udklipsholderen eller træk og slip. GTK + understøtter disse metoder, men indtil GTK3 var API'erne i værktøjssættet til denne type dataoverførsel fint forklædte kopier af de tilsvarende X11 API'er. Dette er ikke så overraskende, da hele GDK API er modelleret i X11. Desværre inkluderer implementeringen resultater såsom trinvise overførsler og konvertering af strengformat.

For GTK4 besluttede holdet at opgive denne tilgang, vælger en modernisering. Dette er konceptet med den nye tilgang:

“Hvis de data, som din applikation ikke vil sende, er en streng, er det sandsynligvis et objekt, såsom GFile, GdkTexture eller GdkRGBA. Applikationen på modtagersiden bruger muligvis ikke GTK eller GLib og er derfor ikke opmærksom på disse typer. Og selvom du gør det, er der ingen måde at flytte objekter fra en proces til en anden i et stykke.

”Inde i det fungerer dataoverførsel ved at sende en filbeskrivelse fra kildeapplikationen og destinationsapplikationen ved at læse en strøm af bytes. Protokollerne til udklipsholderen og DND bruger mime-typer som tekst / uri-liste, billede / png eller applikation / x-farve til at identificere formatet på byte-strømmen.

Afsendelse af et objekt indebærer forhandling af et tosidet kompatibelt dataformat, serialisering af objektet på kildesiden til en bytestrøm i det format, overførsel af dataene og deserialisering af objektet på destinationssiden. «

Derudover GTK4 leveres med nye API'er.

“Den første API, vi introducerer til håndtering af disse typer, er GdkContentFormats-objektet. Det kan indeholde en liste over formater, som kan være GTypes eller mime. Vi bruger GdkContentFormats-objekter til at beskrive de formater, hvor en applikation kan tilbyde data, samt de formater, hvor en applikation kan modtage data ”.

kilde: https://blog.gtk.org/


Indholdet af artiklen overholder vores principper for redaktionel etik. Klik på for at rapportere en fejl her.

Vær den første til at kommentere

Efterlad din kommentar

Din e-mailadresse vil ikke blive offentliggjort. Obligatoriske felter er markeret med *

*

*

  1. Ansvarlig for dataene: Miguel Ángel Gatón
  2. Formålet med dataene: Control SPAM, management af kommentarer.
  3. Legitimering: Dit samtykke
  4. Kommunikation af dataene: Dataene vil ikke blive kommunikeret til tredjemand, undtagen ved juridisk forpligtelse.
  5. Datalagring: Database hostet af Occentus Networks (EU)
  6. Rettigheder: Du kan til enhver tid begrænse, gendanne og slette dine oplysninger.