Rilascio del toolkit grafico wxWidgets 3.2.0

A 9 anni dal rilascio del ramo 3.0, è stata presentata la prima release di un nuovo ramo stabile del toolkit multipiattaforma wxWidgets 3.2.0, che consente di creare interfacce grafiche per Linux, Windows, macOS, UNIX e piattaforme mobili. Rispetto al ramo 3.0 ci sono una serie di incompatibilità a livello API. Il toolkit è scritto in C++ ed è distribuito sotto la licenza gratuita wxWindows Library, approvata dalla Open Source Foundation e dall'organizzazione OSI. La licenza si basa sulla LGPL e si distingue per il permesso di utilizzare i propri termini per distribuire opere derivate in forma binaria.

Oltre a sviluppare programmi in C++, wxWidgets fornisce collegamenti per i linguaggi di programmazione più popolari, inclusi PHP, Python, Perl e Ruby. A differenza di altri toolkit, wxWidgets fornisce un'applicazione con un aspetto veramente nativo per il sistema di destinazione utilizzando le API di sistema anziché imitare la GUI.

Principali innovazioni:

  • È stato implementato un nuovo port sperimentale di wxQt, consentendo ai wxWidgets di funzionare sul framework Qt.
  • La porta wxGTK fornisce il pieno supporto per il protocollo Wayland.
  • Aggiunto il supporto per schermi con elevata densità di pixel (High DPI). Aggiunta la possibilità di assegnare DPI diversi per monitor diversi e modificare dinamicamente DPI. È stata proposta una nuova API wxBitmapBundle, che consente di manipolare diverse versioni di un'immagine bitmap, presentate in diverse risoluzioni, come un tutt'uno.
  • È stato proposto un nuovo sistema di build basato su CMake. Al sistema di assemblaggio è stato aggiunto il supporto per nuovi compilatori (inclusi MSVS 2022, g++ 12 e clang 14) e sistemi operativi.
  • Il supporto OpenGL è stato riprogettato, l'uso delle nuove versioni OpenGL (3.2+) è stato migliorato.
  • Aggiunto supporto per la compressione LZMA e file ZIP 64.
  • La protezione in fase di compilazione è stata migliorata, grazie alla possibilità di disabilitare pericolose conversioni implicite tra stringhe dei tipi wxString e “char*”.
  • Aggiunto il supporto degli eventi per i gesti di controllo riprodotti utilizzando il mouse.
  • Le classi wxFont e wxGraphicsContext ora hanno la capacità di specificare valori non interi quando si definiscono le dimensioni dei caratteri e la larghezza della penna.
  • La classe wxStaticBox implementa la possibilità di assegnare etichette arbitrarie alle finestre.
  • L'API wxWebRequest ora supporta HTTPS e HTTP/2.
  • La classe wxGrid ha aggiunto il supporto per bloccare colonne e righe.
  • Nuove classi introdotte: wxActivityIndicator, wxAddRemoveCtrl, wxAppProgressIndicator, wxBitmapBundle, wxNativeWindow, wxPersistentComboBox, wxPowerResourceBlocker, wxSecretStore, wxTempFFile e wxUILocale.
  • Sono stati implementati nuovi gestori XRC per tutte le nuove classi e per alcune classi esistenti.
  • Nuovi metodi introdotti: wxDataViewToggleRenderer::ShowAsRadio(), wxDateTime::GetWeekBasedYear(), wxDisplay::GetPPI(), wxGrid::SetCornerLabelValue(), wxHtmlEasyPrinting::SetPromptMode(), wxJoystickEvent::GetButtonOrdinal(), wxListBox::Get TopItem (), wxProcess::Activate(), wxTextEntry::ForceUpper(), wxStandardPaths::GetUserDir(), wxToolbook::EnablePage(), wxUIActionSimulator::Select().
  • Sono stati apportati miglioramenti significativi alle classi wxBusyInfo, wxDataViewCtrl, wxNotificationMessage, wxStaticBox, wxStyledTextCtrl e wxUIActionSimulator.
  • Il supporto per la piattaforma macOS è stato migliorato, inclusa la possibilità di utilizzare un tema scuro e aggiunto il supporto per i dispositivi con processori ARM.
  • Sono stati apportati miglioramenti per supportare lo standard C++11. Aggiunto il supporto per la creazione con compilatori C++20.
  • Tutte le librerie di terze parti incluse sono state aggiornate. Aggiunto il supporto per WebKit 2 e GStreamer 1.7.

Fonte: opennet.ru

Aggiungi un commento