GTK 4.0 vine cu îmbunătățiri pentru a efectua interfețe grafice, transfer de date și multe altele

Acum câteva zile a fost anunțată lansarea noii versiuni a GTK 4.0, versiune care a fost în curs de dezvoltare de câteva luni și care devine noua ramură stabilă a proiectului. Această nouă versiune prezintă caracteristici foarte interesante, dintre care putem evidenția îmbunătățirile în redarea media.

GTK este un set de biblioteci software pentru crearea de interfețe graficeGTK a fost inițial dezvoltat pentru nevoile software-ului de procesare a imaginilor GIMP. În prezent, domeniul său de aplicare nu mai este limitat la doar GIMP, ci este utilizat în alte proiecte. De exemplu, GTK este în centrul mediului modelului de obiecte de rețea GNU (GNOME), dar poate fi folosit și pentru a scrie aplicații pentru alte medii Linux, precum și aplicații pentru Microsoft Windows și Apple macOS.

„GTK 4.0 este rezultatul muncii grele a unei mici echipe de dezvoltatori dedicați. Vom avea un articol separat pentru a trece peste statistici, dar rezumatul rapid este că, începând din noiembrie 3.89.1, versiunea 2016, am adăugat peste 18,000 de confirmări și am făcut peste 20 de versiuni de dezvoltare.

„Felicitări și mulțumiri mari tuturor celor care au participat la acest efort, și în special lui Benjamin, Emmanuele, Timm, Carlos, Jonas și Christian! «

Despre noua versiune a GTK 4.0

GTK 4.0 introduce noi widget-uri și modificări ale elementelor existente, suport încorporat pentru redarea media, îmbunătățiri în accelerarea GPU, cum ar fi lucrul pe dispozitivul dvs. nou motor de redare Vulkan și o mai bună compatibilitate cu macOS. De asemenea, putem observa îmbunătățiri în transferul de date, shadere reproiectate, defilare accelerată GPU, îmbunătățiri în redarea OpenGL dincolo de jobul Vulkan, restaurarea jobului în HTMl5 Broadway, suport Windows mai bun etc.

Să ne uităm la câteva puncte un pic mai în profunzime.

Managementul media în GT4

  • GTK 4 va permite aplicațiilor GTK să afișeze animații mai ușor; fie că este vorba de animație programatică, arhivă webm sau transmisie live.
  • GTK 4 aduce un nou API numit GdkPaintable care a fost inspirat de efortul CSS Houdini. Este foarte flexibil (orice puteți desena poate fi un GdkPaintable). Conținutul poate fi redimensionat (cum ar fi svg) sau schimbat în timp (cum ar fi webm).
  • Dacă aveți nevoi mai specializate, orice poate fi capturat într-un GtkSnapshot poate fi transformat într-un desen cu gtk_snapshot_to_paintable (). Dacă creați un widget personalizat care dorește să deseneze un obiect de pictat, este foarte simplu. Trebuie doar să apelați gdk_paintable_snapshot ().
  • Puteți avea control multimedia folosind widget-ul GtkVideo.

Transfer de date în GTK4

Metode tradiționale de transfer de date Inițiat de utilizator între aplicațiile desktop sunt clipboard sau drag and drop. GTK + acceptă aceste metode, dar până la GTK3, API-urile din setul de instrumente pentru acest tip de transfer de date erau copii mascate fin ale API-urilor X11 corespunzătoare. Acest lucru nu este prea surprinzător, întrucât întreaga API GDK a fost modelată în X11. Din păcate, implementarea include rezultate precum transferuri incrementale și conversii în format șir.

Pentru GTK4, echipa a decis să renunțe la această abordare, optând pentru o modernizare. Acesta este conceptul noii abordări:

„Dacă datele pe care aplicația dvs. dorește să le trimită nu sunt un șir, este probabil un obiect, cum ar fi GFile, GdkTexture sau GdkRGBA. Aplicația laterală a receptorului nu poate utiliza GTK sau GLib și, prin urmare, nu este conștientă de aceste tipuri. Și chiar dacă o faceți, nu există nicio modalitate de a muta obiecte dintr-un proces în altul într-o singură bucată.

„În interior, transferul de date funcționează prin trimiterea unui descriptor de fișiere din aplicația sursă și din aplicația de destinație prin citirea unui flux de octeți. Protocoalele pentru clipboard și DND utilizează tipuri de mimă, cum ar fi text / uri-list, imagine / png sau aplicație / x-color pentru a identifica formatul fluxului de octeți.

Trimiterea unui obiect implică negocierea unui format de date compatibil pe două fețe, serializarea obiectului pe partea sursă într-un flux de octeți din formatul respectiv, transferarea datelor și deserializarea obiectului pe partea de destinație. «

În plus, GTK4 vine cu noi API-uri.

„Primul API pe care îl introducem pentru a gestiona aceste tipuri este obiectul GdkContentFormats. Poate conține o listă de formate, care pot fi GTypes sau mime. Folosim obiecte GdkContentFormats pentru a descrie formatele în care o aplicație poate oferi date, precum și formatele în care o aplicație poate primi date ”.

Fuente: https://blog.gtk.org/


Fii primul care comenteaza

Lasă comentariul tău

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *

*

*

  1. Responsabil pentru date: Miguel Ángel Gatón
  2. Scopul datelor: Control SPAM, gestionarea comentariilor.
  3. Legitimare: consimțământul dvs.
  4. Comunicarea datelor: datele nu vor fi comunicate terților decât prin obligație legală.
  5. Stocarea datelor: bază de date găzduită de Occentus Networks (UE)
  6. Drepturi: în orice moment vă puteți limita, recupera și șterge informațiile.