È disponibile il toolkit grafico GTK 4.6

Dopo quattro mesi di sviluppo, è stato pubblicato il rilascio del toolkit multipiattaforma per la creazione di interfacce grafiche utente — GTK 4.6.0. GTK 4 si evolve nell'ambito di un nuovo processo di sviluppo, che mira a fornire agli sviluppatori di applicazioni un'API stabile e supportata per diversi anni, da utilizzare senza preoccuparsi che ogni sei mesi ci siano cambiamenti che richiedano una riprogettazione delle applicazioni a causa delle modifiche all'API in un nuovo ramo di GTK.

Tra i miglioramenti più significativi in GTK 4.6:

  • È stato rimosso il vecchio motore di rendering basato su OpenGL, sostituito dal nuovo motore NGL, fornito come impostazione predefinita a partire da GTK 4.2 e che assicura prestazioni superiori. NGL è stato rinominato in GL. Il codice per il caricamento delle texture è stato riscritto e il supporto per i formati di immagine e gli spazi colore è stato migliorato.
  • Il codice relativo al calcolo delle dimensioni degli elementi e al layout dei widget è stato significativamente ristrutturato. In precedenza, le proprietà GtkWidget::halign e GtkWidget::valign nel posizionamento degli elementi si basavano sulle dimensioni predefinite dei widget, il che, quando veniva specificata solo una dimensione in modalità di riempimento, poteva portare a un'occupazione eccessiva di spazio. In GTK 4.6 è stata implementata la possibilità di misurazione relativa delle dimensioni mancanti (ad esempio, se viene specificata la larghezza, può essere considerata l'altezza disponibile al momento del posizionamento), consentendo di rendere i widget più snelli senza occupare spazio extra.
    È disponibile il toolkit grafico GTK 4.6
    È disponibile il toolkit grafico GTK 4.6
  • Nel widget GtkBox è stata implementata la capacità di calcolare la dimensione individuale degli elementi figli. Se in precedenza lo spazio veniva distribuito equamente tra i widget figli in base alla loro dimensione predefinita, in GTK 4.6 è stato implementato, durante il rendering, il riconoscimento delle dimensioni effettive degli elementi figli.
  • Nel widget GtkLabel è stato implementato il supporto per il wrapping del testo su un numero arbitrario di righe, consentendo di creare etichette strette che occupano lo spazio verticale disponibile.
  • Nella classe GtkWindow è stata aggiunta la possibilità di adattare le dimensioni minime al rapporto d'aspetto, permettendo di ridimensionare liberamente la finestra senza timore che diventi troppo piccola. È stata aggiunta la proprietà «Window.titlebar».
  • È stato aggiunto un nuovo avviso che informa sulle discrepanze delle dimensioni in caso di restituzione di un widget di dimensioni errate. Gtk-CRITICAL **: 00:48:33.319: gtk_widget_measure: asserzione ‘for_size >= minimum opposite size’ fallita: 23 >= 42
  • Nel widget GtkTextView è stato aggiunto il supporto per la tabulazione, allineata a destra o al centro. È stato aggiunto il supporto per la conversione del testo e la considerazione dell'altezza della riga. Migliorata l'operazione di scorrimento fino al segnalibro specificato. Migliorata la gestione dell'annullamento delle modifiche. Risolti i problemi durante l'inserimento di testo dagli Appunti e con la scelta della posizione per visualizzare l'interfaccia di inserimento Emoji.
  • Nel widget GtkMenuButton è stata fornita la possibilità di definire i propri elementi figlio.
  • In GtkBuilder è stata accelerata la precompilazione dei modelli.
  • È stato aggiunto il segnale activate per attivare i widget GtkComboBox e GtkDropDown.
  • Nel widget GtkDropDown è stata aggiunta la proprietà show-arrow per gestire la visualizzazione della freccia.
    È disponibile il toolkit grafico GTK 4.6
  • Nel GtkPopoverMenu è stato aggiunto l'attributo use-markup per utilizzare il markup Pango nel testo del menu.
  • Nel sistema di stili è stato implementato il supporto per le proprietà CSS font-variant-caps per la visualizzazione di lettere maiuscole piccole e text-transform per la trasformazione del testo.
  • È stata aggiunta l'interfaccia GtkSymbolicPaintable per gestire il colore delle icone simboliche.
  • Nell'interfaccia di ispezione è stato aggiunto il supporto per il tracciamento delle operazioni di Drag-and-Drop, con visualizzazione del modulo di input corrente, è stato aggiunto un visualizzatore del contenuto degli Appunti, implementato un grafico per visualizzare gtk_widget_measure(), ed è stata assicurata la possibilità di registrare eventi. Nello strumento gtk4-node-editor è stato aggiunto il supporto per la modalità Drag-and-Drop.
  • Per Wayland è stata realizzata una configurazione per attivare la modalità ad alto contrasto. È stato aggiunto il supporto per il protocollo wl_seat v7.
  • È stata aggiunta la configurazione gtk-hint-font-metrics per avvicinare il rendering del testo al comportamento di GTK3.
  • Per i sistemi basati su X11 è stato aggiunto il supporto per i gesti di controllo sui touchpad (utilizzando XInput 2.4) e migliorato il comportamento del trascinamento delle finestre per la barra del titolo.
  • Nella libreria GDK, che funge da interfaccia tra GTK e il sottosistema grafico, è stato migliorato il controllo delle versioni di OpenGL e OpenGL ES. È stata aggiunta la supporto allo spazio colore HSL. Durante il caricamento delle texture e l'elaborazione dei formati delle immagini vengono utilizzate direttamente le librerie libpng, libjpeg e libtiff. Il codice di inizializzazione EGL è stato spostato sul lato frontend. Sono stati aggiunti nuovi API: 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_bytes e gdk_display_create_gl_context.
  • Il branch «master» nel repository Git è stato rinominato in «main».

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