Disponibile il toolkit grafico GTK 4.16

Dopo sei mesi di sviluppo, è stato rilasciato il toolkit multipiattaforma per la creazione di interfacce grafiche — GTK 4.16.0. GTK 4 si evolve all'interno di un processo di sviluppo che cerca di fornire agli sviluppatori di applicazioni un'API stabile e supportata per anni, che può essere utilizzata senza timore di dover modificare le applicazioni ogni sei mesi a causa delle modifiche all'API in una nuova versione di GTK.

Tra i miglioramenti più significativi in GTK 4.16:

  • È stata aggiunta la configurazione gtk-font-rendering, che fornisce flessibili funzionalità di alto livello per la gestione del rendering dei caratteri. Per utilizzare impostazioni di carattere a basso livello, impostare il parametro gtk-font-rendering su 'manual'.
  • Nella libreria GSK (GTK Scene Kit), che fornisce funzionalità di rendering di scene grafiche tramite OpenGL e Vulkan, per impostazione predefinita, per il rendering in ambienti basati sul protocollo Wayland viene utilizzato il motore di rendering 'vulkan', che utilizza direttamente l'API grafica Vulkan. Negli altri casi, continua a essere utilizzato il motore di rendering 'ngl', che offre un'implementazione OpenGL operante sopra l'API Vulkan. Per cambiare motore, è possibile utilizzare la variabile di ambiente 'GSK_RENDERER'. Poiché i motori 'vulkan' e 'ngl' interagiscono diversamente con i driver grafici, è consigliabile utilizzare l'ultima versione di Mesa 24.2 per un funzionamento stabile con essi.
  • Altri cambiamenti nella libreria GSK:
    • È stata implementata la tecnica di ottimizzazione 'occlusion culling', che esclude il rendering degli oggetti nascosti da altri oggetti opachi o al di fuori del campo visivo.
    • Nel processo di compositing, è stata presa in considerazione l'informazione sullo spazio colore.
    • Migliorato il caching di glifi e texture.
    • È stata implementata la supporto per la sovrapposizione a piastrelle (tiling) di texture di grandi dimensioni per creare una superficie continua ripetendo la texture.
    • Migliorato il rendering delle ombre.
    • È stata aggiunta la possibilità di sfruttare le risorse di accelerazione hardware per elaborare texture trasformate, ad esempio per visualizzare contenuti ruotati sullo schermo.
    • Migliorato l'utilizzo dei meccanismi di accelerazione hardware su sistemi con il gestore di composizione kwin.
    • È stata aggiunta un'opzione di debug 'GDK_DEBUG=linear' per attivare la modalità di composizione lineare. Migliorato il logging utilizzando le opzioni 'GDK_DEBUG=offload' e 'GSK_DEBUG=renderer'.
  • Lavorando in ambienti basati sul protocollo Wayland e sul gestore di composizione kwin, è stata implementata la possibilità di utilizzare l'estensione del protocollo (color-management) per la gestione del colore. Nella visualizzazione dei dialoghi bloccati è stata utilizzata l'estensione Wayland xdg-dialog. Per il compositing è stata attivata la sesta versione dell'oggetto wl_compositor. Utilizzo consentito di dmabuf durante l'accelerazione hardware dell'elaborazione delle texture per OpenGL.
  • Miglioramenti nella libreria GDK, che fornisce uno strato tra GTK e il sottosistema grafico:
    • Le capacità di gestione degli spazi colore sono state notevolmente ampliate. È stato supportato il supporto per gli spazi colore srgb, srgb-linear, rec2100-pq e rec2100-linear, e sono stati fatti preparativi per implementare il supporto per gli spazi colore HDR. È stato proposto un oggetto GdkColorState, che fornisce informazioni sull'interpretazione dei colori, utili per convertire uno spazio colore in un altro. È stato aggiunto l'oggetto Gdk.CicpParams per creare oggetti con informazioni sugli spazi colore. Nell'oggetto GdkTexture, così come negli oggetti di creazione, caricamento e trasformazione delle texture, è stata aggiunta la possibilità di utilizzare spazi colore.
    • È stata implementata una nuova API per lavorare con il cursore, basata su callback.
    • È stata implementata la possibilità di eseguire operazioni di MIP-texturing (MipMap, creando versioni ridotte delle texture usate quando l'oggetto si allontana dalla telecamera) utilizzando la CPU.
    • Per la conversione dei colori e il MIP-texturing, è stato utilizzato un pool di thread.
    • È stata aggiunta la supporto per la variabile di ambiente XDG_ACTIVATION_TOKEN con un token di attivazione per il protocollo xdg-activation-v1, tramite il quale un'applicazione può portare il focus su un'altra.
    • È stata aggiunta la classe GdkMemoryTextureBuilder, che consente di creare oggetti texture (GdkTexture) a partire da dati memorizzati in memoria.
  • Espanse le capacità di creazione di temi CSS. È stata aggiunta la supporto per variabili e proprietà personalizzate. Sono state implementate le funzioni CSS color(), oklab(), color-mix(), così come le funzioni matematiche. È stata fornita la possibilità di utilizzare definizioni relative dei colori (modificare i colori assoluti mediante funzioni) e di specificare il livello di trasparenza in percentuale. Durante il lavoro con colori, bordi, ombre e testo, è stata garantita la considerazione delle informazioni sugli spazi colore.
  • Nel tool rendernode-tool sono state aggiunte le comandi «extract» per caricare dati tramite URL e «image» per manipolare le texture. È stata implementata la possibilità di generare file in formato PDF.
  • Nell'interfaccia gtk4-node-editor è stata aggiunta l'operazione ‘Paste as node’.
  • Nel widget di selezione file GtkFileChooserWidget è stato aggiunto il supporto per la combinazione Ctrl-Shift-N per creare directory.
  • Nel widget di creazione di finestre pop-up GtkPopover è stato migliorato il trattamento del ridimensionamento e della posizione.
  • Nel widget GtkGraphicsOffload, utilizzato per inviare contenuti, come video, attraverso il gestore di composizione evitando il rendering GSK, è stata aggiunta la proprietà «black-background» per l'output di uno sfondo nero.
    Disponibile il toolkit grafico GTK 4.16
  • Nel widget GtkGLArea, destinato per l'output utilizzando OpenGL, è stata aggiunta la possibilità di creare texture in dmabuf, permettendo di utilizzare il widget GtkGraphicsOffload per l'output diretto. un server. È stata aumentata l'efficienza dell'interazione con il composito. server.
    Disponibile il toolkit grafico GTK 4.16
  • Nel widget GtkTextView è stato aggiunto il supporto per l'output di testo con ombre e implementata la possibilità di utilizzare le notifiche GtkTextBufferCommitNotify.
  • Nel widget GtkCheckButton è stato aggiunto il supporto per la definizione di stile dei pulsanti di gruppo.
  • Sono state ampliate le funzionalità di debug. Nell'interfaccia di ispezione sono state aggiunte informazioni sugli spazi colore e dettagli sulla risoluzione dello schermo. La variabile d'ambiente GDK_DEBUG è stata suddivisa in GDK_DEBUG e GDK_DISABLE. Sono stati aggiunti i modi GDK_DISABLE=color-mgmt e GDK_DISABLE=offload. È stato aggiunto il modo GTK_DEBUG=css per visualizzare avvertimenti sull'uso di funzionalità CSS obsolete. Sono state aggiunte combinazioni di tasti Super-r per registrare un log degli eventi e Super-c per effettuare uno screenshot.
  • Sono stati elevati i requisiti per le dipendenze e l'ambiente di compilazione. Per la compilazione ora è necessario un compilatore con supporto per C11 e almeno la versione gstreamer 1.24, pango 1.52 e cairo 1.18. È stata interrotta la supporto per modalità di compilazione obsolete gtk_doc (usare documentation), update_screenshots (-> screenshots), demo-profile (-> profile) e demos (-> build-demos).
  • Per macOS 10.15+ è stata implementata l'interfaccia per la determinazione del colore dei pixel sullo schermo (color picker).
  • Per Windows è stata attivata la modalità di rendering incrementale utilizzando le API WGL.

Fonte: opennet.ru

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster