GTK 4.0 include miglioramenti per eseguire interfacce grafiche, trasferimento dati e altro ancora

Qualche giorno fa è stato annunciato il rilascio della nuova versione di GTK 4.0, versione che era in sviluppo da diversi mesi e che diventa il nuovo ramo stabile del progetto. Questa nuova versione presenta caratteristiche molto interessanti, di cui possiamo evidenziare i miglioramenti nella riproduzione multimediale.

GTK è un insieme di librerie software per la creazione di interfacce graficheGTK è stato originariamente sviluppato per le esigenze del software di elaborazione delle immagini GIMP. Attualmente, il suo ambito non è più limitato a GIMP, ma viene utilizzato in altri progetti. Ad esempio, GTK è il cuore dell'ambiente del modello a oggetti di rete GNU (GNOME), ma può anche essere utilizzato per scrivere applicazioni per altri ambienti Linux, nonché applicazioni per Microsoft Windows e Apple macOS.

“GTK 4.0 è il risultato del duro lavoro di un piccolo team di sviluppatori dedicati. Avremo un articolo separato per esaminare le statistiche, ma il breve riepilogo è che dalla versione 3.89.1 di novembre 2016, abbiamo aggiunto oltre 18,000 commit e realizzato oltre 20 versioni di sviluppo.

“Congratulazioni e un grande grazie a tutti coloro che hanno partecipato a questo sforzo, e in particolare Benjamin, Emmanuele, Timm, Carlos, Jonas e Christian! «

Informazioni sulla nuova versione di GTK 4.0

GTK 4.0 introduce nuovi widget e modifiche agli elementi esistenti, supporto integrato per la riproduzione multimediale, miglioramenti nell'accelerazione GPU, come il lavoro sul tuo nuovo motore di rendering Vulkan e migliore compatibilità con macOS. Possiamo anche notare miglioramenti nel trasferimento dei dati, shader ridisegnati, scorrimento accelerato dalla GPU, miglioramenti nel rendering OpenGL oltre il lavoro Vulkan, ripristino del lavoro in HTMl5 Broadway, migliore supporto per Windows ecc.

Vediamo alcuni punti un po 'più in profondità.

Gestione dei media in GT4

  • GTK 4 consentirà alle applicazioni GTK di visualizzare le animazioni più facilmente; che si tratti di animazione programmatica, archivio webm o trasmissione in diretta.
  • GTK 4 porta una nuova API chiamata GdkPaintable che è stata ispirata dallo sforzo di CSS Houdini. È molto flessibile (tutto ciò che puoi disegnare può essere un GdkPaintable). Il contenuto può essere ridimensionato (come svg) o modificato nel tempo (come webm).
  • Se hai esigenze più specializzate, tutto ciò che può essere catturato in un GtkSnapshot può essere convertito in un disegno con gtk_snapshot_to_paintable (). Se stai creando un widget personalizzato che vuole disegnare un oggetto da dipingere, è molto semplice. Basta chiamare gdk_paintable_snapshot ().
  • Puoi avere il controllo multimediale utilizzando il widget GtkVideo.

Trasferimento dati in GTK4

Metodi tradizionali di trasferimento dei dati Le applicazioni desktop avviate dall'utente sono gli appunti o il trascinamento della selezione. GTK + supporta questi metodi, ma fino a GTK3, le API nel toolkit per questo tipo di trasferimento dati erano copie finemente mascherate delle API X11 corrispondenti. Questo non è troppo sorprendente, dal momento che l'intera API GDK è stata modellata in X11. Sfortunatamente, l'implementazione include risultati come trasferimenti incrementali e conversioni del formato stringa.

Per GTK4, il team ha deciso di abbandonare questo approccio, optando per un ammodernamento. Questo è il concetto del nuovo approccio:

“Se i dati che la tua applicazione vuole inviare non sono una stringa, probabilmente è un oggetto, come GFile, GdkTexture o GdkRGBA. L'applicazione lato ricevitore potrebbe non utilizzare GTK o GLib e quindi non è a conoscenza di questi tipi. E anche se lo fai, non c'è modo di spostare gli oggetti da un processo all'altro in un unico pezzo.

“Al suo interno, il trasferimento dei dati funziona inviando un descrittore di file dall'applicazione di origine e dall'applicazione di destinazione leggendo un flusso di byte. I protocolli per gli appunti e DND utilizzano tipi MIME come text / uri-list, image / png o application / x-color per identificare il formato del flusso di byte.

L'invio di un oggetto implica la negoziazione di un formato dati compatibile a due lati, la serializzazione dell'oggetto sul lato di origine in un flusso di byte di quel formato, il trasferimento dei dati e la deserializzazione dell'oggetto sul lato di destinazione. «

Inoltre, GTK4 viene fornito con nuove API.

“La prima API che introduciamo per gestire questi tipi è l'oggetto GdkContentFormats. Può contenere un elenco di formati, che possono essere GTypes o mime. Usiamo gli oggetti GdkContentFormats per descrivere i formati in cui un'applicazione può offrire dati, così come i formati in cui un'applicazione può ricevere dati ”.

fonte: https://blog.gtk.org/


Lascia un tuo commento

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati con *

*

*

  1. Responsabile dei dati: Miguel Ángel Gatón
  2. Scopo dei dati: controllo SPAM, gestione commenti.
  3. Legittimazione: il tuo consenso
  4. Comunicazione dei dati: I dati non saranno oggetto di comunicazione a terzi se non per obbligo di legge.
  5. Archiviazione dati: database ospitato da Occentus Networks (UE)
  6. Diritti: in qualsiasi momento puoi limitare, recuperare ed eliminare le tue informazioni.